diff --git a/packages/foundkey-api-schema/lib.ts b/packages/foundkey-api-schema/lib.ts
new file mode 100644
index 000000000..323d7fa37
--- /dev/null
+++ b/packages/foundkey-api-schema/lib.ts
@@ -0,0 +1,18471 @@
+/**
+ * This file was auto-generated by openapi-typescript.
+ * Do not make direct changes to the file.
+ */
+
+export interface paths {
+ "/admin/meta": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["admin/meta"];
+ };
+ "/admin/abuse-user-reports": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["admin/abuse-user-reports"];
+ };
+ "/admin/accounts/create": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["admin/accounts/create"];
+ };
+ "/admin/accounts/delete": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["admin/accounts/delete"];
+ };
+ "/admin/announcements/create": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["admin/announcements/create"];
+ };
+ "/admin/announcements/delete": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["admin/announcements/delete"];
+ };
+ "/admin/announcements/list": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["admin/announcements/list"];
+ };
+ "/admin/announcements/update": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["admin/announcements/update"];
+ };
+ "/admin/delete-all-files-of-a-user": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["admin/delete-all-files-of-a-user"];
+ };
+ "/admin/drive/clean-remote-files": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["admin/drive/clean-remote-files"];
+ };
+ "/admin/drive/files": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["admin/drive/files"];
+ };
+ "/admin/drive/show-file": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["admin/drive/show-file"];
+ };
+ "/admin/emoji/add-aliases-bulk": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["admin/emoji/add-aliases-bulk"];
+ };
+ "/admin/emoji/add": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["admin/emoji/add"];
+ };
+ "/admin/emoji/copy": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["admin/emoji/copy"];
+ };
+ "/admin/emoji/delete-bulk": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["admin/emoji/delete-bulk"];
+ };
+ "/admin/emoji/delete": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["admin/emoji/delete"];
+ };
+ "/admin/emoji/list-remote": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["admin/emoji/list-remote"];
+ };
+ "/admin/emoji/list": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["admin/emoji/list"];
+ };
+ "/admin/emoji/remove-aliases-bulk": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["admin/emoji/remove-aliases-bulk"];
+ };
+ "/admin/emoji/set-aliases-bulk": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["admin/emoji/set-aliases-bulk"];
+ };
+ "/admin/emoji/set-category-bulk": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["admin/emoji/set-category-bulk"];
+ };
+ "/admin/emoji/update": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["admin/emoji/update"];
+ };
+ "/admin/federation/delete-all-files": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["admin/federation/delete-all-files"];
+ };
+ "/admin/federation/refresh-remote-instance-metadata": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["admin/federation/refresh-remote-instance-metadata"];
+ };
+ "/admin/federation/remove-all-following": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["admin/federation/remove-all-following"];
+ };
+ "/admin/federation/update-instance": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["admin/federation/update-instance"];
+ };
+ "/admin/get-index-stats": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["admin/get-index-stats"];
+ };
+ "/admin/get-table-stats": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["admin/get-table-stats"];
+ };
+ "/admin/invite": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["admin/invite"];
+ };
+ "/admin/moderators/add": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["admin/moderators/add"];
+ };
+ "/admin/moderators/remove": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["admin/moderators/remove"];
+ };
+ "/admin/queue/clear": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["admin/queue/clear"];
+ };
+ "/admin/queue/deliver-delayed": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["admin/queue/deliver-delayed"];
+ };
+ "/admin/queue/inbox-delayed": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["admin/queue/inbox-delayed"];
+ };
+ "/admin/queue/stats": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["admin/queue/stats"];
+ };
+ "/admin/relays/add": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["admin/relays/add"];
+ };
+ "/admin/relays/list": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["admin/relays/list"];
+ };
+ "/admin/relays/remove": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["admin/relays/remove"];
+ };
+ "/admin/reset-password": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["admin/reset-password"];
+ };
+ "/admin/resolve-abuse-user-report": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["admin/resolve-abuse-user-report"];
+ };
+ "/admin/send-email": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["admin/send-email"];
+ };
+ "/admin/server-info": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["admin/server-info"];
+ };
+ "/admin/show-moderation-logs": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["admin/show-moderation-logs"];
+ };
+ "/admin/show-user": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["admin/show-user"];
+ };
+ "/admin/show-users": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["admin/show-users"];
+ };
+ "/admin/silence-user": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["admin/silence-user"];
+ };
+ "/admin/suspend-user": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["admin/suspend-user"];
+ };
+ "/admin/unsilence-user": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["admin/unsilence-user"];
+ };
+ "/admin/unsuspend-user": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["admin/unsuspend-user"];
+ };
+ "/admin/update-meta": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["admin/update-meta"];
+ };
+ "/admin/vacuum": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["admin/vacuum"];
+ };
+ "/admin/delete-account": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["admin/delete-account"];
+ };
+ "/announcements": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["announcements"];
+ };
+ "/antennas/create": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:account*
+ */
+ post: operations["antennas/create"];
+ };
+ "/antennas/delete": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:account*
+ */
+ post: operations["antennas/delete"];
+ };
+ "/antennas/list": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:account*
+ */
+ post: operations["antennas/list"];
+ };
+ "/antennas/notes": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:account*
+ */
+ post: operations["antennas/notes"];
+ };
+ "/antennas/show": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:account*
+ */
+ post: operations["antennas/show"];
+ };
+ "/antennas/update": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:account*
+ */
+ post: operations["antennas/update"];
+ };
+ "/ap/get": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["ap/get"];
+ };
+ "/ap/show": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["ap/show"];
+ };
+ "/app/create": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["app/create"];
+ };
+ "/app/show": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["app/show"];
+ };
+ "/auth/session/generate": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["auth/session/generate"];
+ };
+ "/auth/session/show": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["auth/session/show"];
+ };
+ "/auth/session/userkey": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["auth/session/userkey"];
+ };
+ "/blocking/create": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:blocks*
+ */
+ post: operations["blocking/create"];
+ };
+ "/blocking/delete": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:blocks*
+ */
+ post: operations["blocking/delete"];
+ };
+ "/blocking/list": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:blocks*
+ */
+ post: operations["blocking/list"];
+ };
+ "/channels/create": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:channels*
+ */
+ post: operations["channels/create"];
+ };
+ "/channels/featured": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["channels/featured"];
+ };
+ "/channels/follow": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:channels*
+ */
+ post: operations["channels/follow"];
+ };
+ "/channels/followed": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:channels*
+ */
+ post: operations["channels/followed"];
+ };
+ "/channels/owned": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:channels*
+ */
+ post: operations["channels/owned"];
+ };
+ "/channels/show": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["channels/show"];
+ };
+ "/channels/timeline": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["channels/timeline"];
+ };
+ "/channels/unfollow": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:channels*
+ */
+ post: operations["channels/unfollow"];
+ };
+ "/channels/update": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:channels*
+ */
+ post: operations["channels/update"];
+ };
+ "/charts/active-users": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ get: operations["charts/active-users"];
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["charts/active-users"];
+ };
+ "/charts/ap-request": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ get: operations["charts/ap-request"];
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["charts/ap-request"];
+ };
+ "/charts/drive": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ get: operations["charts/drive"];
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["charts/drive"];
+ };
+ "/charts/federation": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ get: operations["charts/federation"];
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["charts/federation"];
+ };
+ "/charts/hashtag": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ get: operations["charts/hashtag"];
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["charts/hashtag"];
+ };
+ "/charts/instance": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ get: operations["charts/instance"];
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["charts/instance"];
+ };
+ "/charts/notes": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ get: operations["charts/notes"];
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["charts/notes"];
+ };
+ "/charts/user/drive": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ get: operations["charts/user/drive"];
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["charts/user/drive"];
+ };
+ "/charts/user/following": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ get: operations["charts/user/following"];
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["charts/user/following"];
+ };
+ "/charts/user/notes": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ get: operations["charts/user/notes"];
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["charts/user/notes"];
+ };
+ "/charts/user/reactions": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ get: operations["charts/user/reactions"];
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["charts/user/reactions"];
+ };
+ "/charts/users": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ get: operations["charts/users"];
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["charts/users"];
+ };
+ "/clips/add-note": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:account*
+ */
+ post: operations["clips/add-note"];
+ };
+ "/clips/remove-note": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:account*
+ */
+ post: operations["clips/remove-note"];
+ };
+ "/clips/create": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:account*
+ */
+ post: operations["clips/create"];
+ };
+ "/clips/delete": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:account*
+ */
+ post: operations["clips/delete"];
+ };
+ "/clips/list": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:account*
+ */
+ post: operations["clips/list"];
+ };
+ "/clips/notes": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No* / **Permission**: *read:account*
+ */
+ post: operations["clips/notes"];
+ };
+ "/clips/show": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No* / **Permission**: *read:account*
+ */
+ post: operations["clips/show"];
+ };
+ "/clips/update": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:account*
+ */
+ post: operations["clips/update"];
+ };
+ "/drive": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:drive*
+ */
+ post: operations["drive"];
+ };
+ "/drive/files": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:drive*
+ */
+ post: operations["drive/files"];
+ };
+ "/drive/files/attached-notes": {
+ /**
+ * Find the notes to which the given file is attached.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:drive*
+ */
+ post: operations["drive/files/attached-notes"];
+ };
+ "/drive/files/check-existence": {
+ /**
+ * Check if a given file exists.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:drive*
+ */
+ post: operations["drive/files/check-existence"];
+ };
+ "/drive/files/create": {
+ /**
+ * Upload a new drive file.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:drive*
+ */
+ post: operations["drive/files/create"];
+ };
+ "/drive/files/delete": {
+ /**
+ * Delete an existing drive file.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:drive*
+ */
+ post: operations["drive/files/delete"];
+ };
+ "/drive/files/find-by-hash": {
+ /**
+ * Search for a drive file by a hash of the contents.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:drive*
+ */
+ post: operations["drive/files/find-by-hash"];
+ };
+ "/drive/files/find": {
+ /**
+ * Search for a drive file by the given parameters.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:drive*
+ */
+ post: operations["drive/files/find"];
+ };
+ "/drive/files/show": {
+ /**
+ * Show the properties of a drive file.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:drive*
+ */
+ post: operations["drive/files/show"];
+ };
+ "/drive/files/update": {
+ /**
+ * Update the properties of a drive file.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:drive*
+ */
+ post: operations["drive/files/update"];
+ };
+ "/drive/files/upload-from-url": {
+ /**
+ * Request the server to download a new drive file from the specified URL.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:drive*
+ */
+ post: operations["drive/files/upload-from-url"];
+ };
+ "/drive/folders": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:drive*
+ */
+ post: operations["drive/folders"];
+ };
+ "/drive/folders/create": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:drive*
+ */
+ post: operations["drive/folders/create"];
+ };
+ "/drive/folders/delete": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:drive*
+ */
+ post: operations["drive/folders/delete"];
+ };
+ "/drive/folders/find": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:drive*
+ */
+ post: operations["drive/folders/find"];
+ };
+ "/drive/folders/show": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:drive*
+ */
+ post: operations["drive/folders/show"];
+ };
+ "/drive/folders/update": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:drive*
+ */
+ post: operations["drive/folders/update"];
+ };
+ "/drive/stream": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:drive*
+ */
+ post: operations["drive/stream"];
+ };
+ "/email-address/available": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["email-address/available"];
+ };
+ "/endpoint": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["endpoint"];
+ };
+ "/endpoints": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["endpoints"];
+ };
+ "/federation/followers": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["federation/followers"];
+ };
+ "/federation/following": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["federation/following"];
+ };
+ "/federation/instances": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["federation/instances"];
+ };
+ "/federation/show-instance": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["federation/show-instance"];
+ };
+ "/federation/update-remote-user": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["federation/update-remote-user"];
+ };
+ "/federation/users": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["federation/users"];
+ };
+ "/federation/stats": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ get: operations["federation/stats"];
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["federation/stats"];
+ };
+ "/following/create": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:following*
+ */
+ post: operations["following/create"];
+ };
+ "/following/delete": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:following*
+ */
+ post: operations["following/delete"];
+ };
+ "/following/invalidate": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:following*
+ */
+ post: operations["following/invalidate"];
+ };
+ "/following/requests/accept": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:following*
+ */
+ post: operations["following/requests/accept"];
+ };
+ "/following/requests/cancel": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:following*
+ */
+ post: operations["following/requests/cancel"];
+ };
+ "/following/requests/list": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:following*
+ */
+ post: operations["following/requests/list"];
+ };
+ "/following/requests/reject": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:following*
+ */
+ post: operations["following/requests/reject"];
+ };
+ "/gallery/featured": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["gallery/featured"];
+ };
+ "/gallery/popular": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["gallery/popular"];
+ };
+ "/gallery/posts": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["gallery/posts"];
+ };
+ "/gallery/posts/create": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:gallery*
+ */
+ post: operations["gallery/posts/create"];
+ };
+ "/gallery/posts/delete": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:gallery*
+ */
+ post: operations["gallery/posts/delete"];
+ };
+ "/gallery/posts/like": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:gallery-likes*
+ */
+ post: operations["gallery/posts/like"];
+ };
+ "/gallery/posts/show": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["gallery/posts/show"];
+ };
+ "/gallery/posts/unlike": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:gallery-likes*
+ */
+ post: operations["gallery/posts/unlike"];
+ };
+ "/gallery/posts/update": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:gallery*
+ */
+ post: operations["gallery/posts/update"];
+ };
+ "/get-online-users-count": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["get-online-users-count"];
+ };
+ "/hashtags/list": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["hashtags/list"];
+ };
+ "/hashtags/search": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["hashtags/search"];
+ };
+ "/hashtags/show": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["hashtags/show"];
+ };
+ "/hashtags/trend": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["hashtags/trend"];
+ };
+ "/hashtags/users": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["hashtags/users"];
+ };
+ "/i": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["i"];
+ };
+ "/i/favorites": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:favorites*
+ */
+ post: operations["i/favorites"];
+ };
+ "/i/gallery/likes": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:gallery-likes*
+ */
+ post: operations["i/gallery/likes"];
+ };
+ "/i/gallery/posts": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:gallery*
+ */
+ post: operations["i/gallery/posts"];
+ };
+ "/i/get-word-muted-notes-count": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:account*
+ */
+ post: operations["i/get-word-muted-notes-count"];
+ };
+ "/i/notifications": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:notifications*
+ */
+ post: operations["i/notifications"];
+ };
+ "/i/page-likes": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:page-likes*
+ */
+ post: operations["i/page-likes"];
+ };
+ "/i/pages": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:pages*
+ */
+ post: operations["i/pages"];
+ };
+ "/i/pin": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:account*
+ */
+ post: operations["i/pin"];
+ };
+ "/i/read-all-messaging-messages": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:account*
+ */
+ post: operations["i/read-all-messaging-messages"];
+ };
+ "/i/read-all-unread-notes": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:account*
+ */
+ post: operations["i/read-all-unread-notes"];
+ };
+ "/i/read-announcement": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:account*
+ */
+ post: operations["i/read-announcement"];
+ };
+ "/i/unpin": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:account*
+ */
+ post: operations["i/unpin"];
+ };
+ "/i/update": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:account*
+ */
+ post: operations["i/update"];
+ };
+ "/i/user-group-invites": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:user-groups*
+ */
+ post: operations["i/user-group-invites"];
+ };
+ "/i/webhooks/create": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:account*
+ */
+ post: operations["i/webhooks/create"];
+ };
+ "/i/webhooks/list": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:account*
+ */
+ post: operations["i/webhooks/list"];
+ };
+ "/i/webhooks/show": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:account*
+ */
+ post: operations["i/webhooks/show"];
+ };
+ "/i/webhooks/update": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:account*
+ */
+ post: operations["i/webhooks/update"];
+ };
+ "/i/webhooks/delete": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:account*
+ */
+ post: operations["i/webhooks/delete"];
+ };
+ "/messaging/history": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:messaging*
+ */
+ post: operations["messaging/history"];
+ };
+ "/messaging/messages": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:messaging*
+ */
+ post: operations["messaging/messages"];
+ };
+ "/messaging/messages/create": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:messaging*
+ */
+ post: operations["messaging/messages/create"];
+ };
+ "/messaging/messages/delete": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:messaging*
+ */
+ post: operations["messaging/messages/delete"];
+ };
+ "/messaging/messages/read": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:messaging*
+ */
+ post: operations["messaging/messages/read"];
+ };
+ "/meta": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["meta"];
+ };
+ "/mute/create": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:mutes*
+ */
+ post: operations["mute/create"];
+ };
+ "/mute/delete": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:mutes*
+ */
+ post: operations["mute/delete"];
+ };
+ "/mute/list": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:mutes*
+ */
+ post: operations["mute/list"];
+ };
+ "/my/apps": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["my/apps"];
+ };
+ "/notes": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["notes"];
+ };
+ "/notes/children": {
+ /**
+ * Get a list of children of a notes. Children includes replies as well as quote renotes that quote the respective post. A post will not be duplicated if it is a reply and a quote of a note in this thread. For depths larger than 1 the threading has to be computed by the client.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["notes/children"];
+ };
+ "/notes/clips": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["notes/clips"];
+ };
+ "/notes/conversation": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["notes/conversation"];
+ };
+ "/notes/create": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:notes*
+ */
+ post: operations["notes/create"];
+ };
+ "/notes/delete": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:notes*
+ */
+ post: operations["notes/delete"];
+ };
+ "/notes/favorites/create": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:favorites*
+ */
+ post: operations["notes/favorites/create"];
+ };
+ "/notes/favorites/delete": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:favorites*
+ */
+ post: operations["notes/favorites/delete"];
+ };
+ "/notes/featured": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["notes/featured"];
+ };
+ "/notes/global-timeline": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["notes/global-timeline"];
+ };
+ "/notes/hybrid-timeline": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["notes/hybrid-timeline"];
+ };
+ "/notes/local-timeline": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["notes/local-timeline"];
+ };
+ "/notes/mentions": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["notes/mentions"];
+ };
+ "/notes/polls/recommendation": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["notes/polls/recommendation"];
+ };
+ "/notes/polls/vote": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:votes*
+ */
+ post: operations["notes/polls/vote"];
+ };
+ "/notes/reactions": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ get: operations["notes/reactions"];
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["notes/reactions"];
+ };
+ "/notes/reactions/create": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:reactions*
+ */
+ post: operations["notes/reactions/create"];
+ };
+ "/notes/reactions/delete": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:reactions*
+ */
+ post: operations["notes/reactions/delete"];
+ };
+ "/notes/renotes": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["notes/renotes"];
+ };
+ "/notes/replies": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["notes/replies"];
+ };
+ "/notes/search-by-tag": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["notes/search-by-tag"];
+ };
+ "/notes/search": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["notes/search"];
+ };
+ "/notes/show": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["notes/show"];
+ };
+ "/notes/state": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["notes/state"];
+ };
+ "/notes/thread-muting/create": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:account*
+ */
+ post: operations["notes/thread-muting/create"];
+ };
+ "/notes/thread-muting/delete": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:account*
+ */
+ post: operations["notes/thread-muting/delete"];
+ };
+ "/notes/timeline": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["notes/timeline"];
+ };
+ "/notes/translate": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["notes/translate"];
+ };
+ "/notes/unrenote": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:notes*
+ */
+ post: operations["notes/unrenote"];
+ };
+ "/notes/user-list-timeline": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["notes/user-list-timeline"];
+ };
+ "/notes/watching/create": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:account*
+ */
+ post: operations["notes/watching/create"];
+ };
+ "/notes/watching/delete": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:account*
+ */
+ post: operations["notes/watching/delete"];
+ };
+ "/notifications/create": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:notifications*
+ */
+ post: operations["notifications/create"];
+ };
+ "/notifications/mark-all-as-read": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:notifications*
+ */
+ post: operations["notifications/mark-all-as-read"];
+ };
+ "/notifications/read": {
+ /**
+ * Mark a notification as read.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:notifications*
+ */
+ post: operations["notifications/read"];
+ };
+ "/pages/create": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:pages*
+ */
+ post: operations["pages/create"];
+ };
+ "/pages/delete": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:pages*
+ */
+ post: operations["pages/delete"];
+ };
+ "/pages/featured": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["pages/featured"];
+ };
+ "/pages/like": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:page-likes*
+ */
+ post: operations["pages/like"];
+ };
+ "/pages/show": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["pages/show"];
+ };
+ "/pages/unlike": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:page-likes*
+ */
+ post: operations["pages/unlike"];
+ };
+ "/pages/update": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:pages*
+ */
+ post: operations["pages/update"];
+ };
+ "/ping": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["ping"];
+ };
+ "/pinned-users": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["pinned-users"];
+ };
+ "/request-reset-password": {
+ /**
+ * Request a users password to be reset.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["request-reset-password"];
+ };
+ "/reset-db": {
+ /**
+ * Only available when running with NODE_ENV=testing
. Reset the database and flush Redis.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["reset-db"];
+ };
+ "/reset-password": {
+ /**
+ * Complete the password reset that was previously requested.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["reset-password"];
+ };
+ "/server-info": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["server-info"];
+ };
+ "/stats": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["stats"];
+ };
+ "/sw/register": {
+ /**
+ * Register to receive push notifications.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["sw/register"];
+ };
+ "/sw/unregister": {
+ /**
+ * Unregister from receiving push notifications.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["sw/unregister"];
+ };
+ "/test": {
+ /**
+ * Endpoint for testing input validation.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["test"];
+ };
+ "/username/available": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["username/available"];
+ };
+ "/users": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["users"];
+ };
+ "/users/clips": {
+ /**
+ * Show all clips this user owns.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["users/clips"];
+ };
+ "/users/followers": {
+ /**
+ * Show everyone that follows this user.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["users/followers"];
+ };
+ "/users/following": {
+ /**
+ * Show everyone that this user is following.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["users/following"];
+ };
+ "/users/gallery/posts": {
+ /**
+ * Show all gallery posts by the given user.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["users/gallery/posts"];
+ };
+ "/users/get-frequently-replied-users": {
+ /**
+ * Get a list of other users that the specified user frequently replies to.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["users/get-frequently-replied-users"];
+ };
+ "/users/groups/create": {
+ /**
+ * Create a new group.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:user-groups*
+ */
+ post: operations["users/groups/create"];
+ };
+ "/users/groups/delete": {
+ /**
+ * Delete an existing group.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:user-groups*
+ */
+ post: operations["users/groups/delete"];
+ };
+ "/users/groups/invitations/accept": {
+ /**
+ * Join a group the authenticated user has been invited to.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:user-groups*
+ */
+ post: operations["users/groups/invitations/accept"];
+ };
+ "/users/groups/invitations/reject": {
+ /**
+ * Delete an existing group invitation for the authenticated user without joining the group.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:user-groups*
+ */
+ post: operations["users/groups/invitations/reject"];
+ };
+ "/users/groups/invite": {
+ /**
+ * Invite a user to an existing group.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:user-groups*
+ */
+ post: operations["users/groups/invite"];
+ };
+ "/users/groups/joined": {
+ /**
+ * List the groups that the authenticated user is a member of.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:user-groups*
+ */
+ post: operations["users/groups/joined"];
+ };
+ "/users/groups/leave": {
+ /**
+ * Leave a group. The owner of a group can not leave. They must transfer ownership or delete the group instead.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:user-groups*
+ */
+ post: operations["users/groups/leave"];
+ };
+ "/users/groups/owned": {
+ /**
+ * List the groups that the authenticated user is the owner of.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:user-groups*
+ */
+ post: operations["users/groups/owned"];
+ };
+ "/users/groups/pull": {
+ /**
+ * Removes a specified user from a group. The owner can not be removed.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:user-groups*
+ */
+ post: operations["users/groups/pull"];
+ };
+ "/users/groups/show": {
+ /**
+ * Show the properties of a group.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:user-groups*
+ */
+ post: operations["users/groups/show"];
+ };
+ "/users/groups/transfer": {
+ /**
+ * Transfer ownership of a group from the authenticated user to another user.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:user-groups*
+ */
+ post: operations["users/groups/transfer"];
+ };
+ "/users/groups/update": {
+ /**
+ * Update the properties of a group.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:user-groups*
+ */
+ post: operations["users/groups/update"];
+ };
+ "/users/lists/create": {
+ /**
+ * Create a new list of users.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:account*
+ */
+ post: operations["users/lists/create"];
+ };
+ "/users/lists/delete": {
+ /**
+ * Delete an existing list of users.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:account*
+ */
+ post: operations["users/lists/delete"];
+ };
+ "/users/lists/list": {
+ /**
+ * Show all lists that the authenticated user has created.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:account*
+ */
+ post: operations["users/lists/list"];
+ };
+ "/users/lists/pull": {
+ /**
+ * Remove a user from a list.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:account*
+ */
+ post: operations["users/lists/pull"];
+ };
+ "/users/lists/push": {
+ /**
+ * Add a user to an existing list.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:account*
+ */
+ post: operations["users/lists/push"];
+ };
+ "/users/lists/show": {
+ /**
+ * Show the properties of a list.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:account*
+ */
+ post: operations["users/lists/show"];
+ };
+ "/users/lists/update": {
+ /**
+ * Update the properties of a list.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:account*
+ */
+ post: operations["users/lists/update"];
+ };
+ "/users/notes": {
+ /**
+ * Show all notes that this user created.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["users/notes"];
+ };
+ "/users/pages": {
+ /**
+ * Show all pages this user created.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["users/pages"];
+ };
+ "/users/reactions": {
+ /**
+ * Show all reactions this user made.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["users/reactions"];
+ };
+ "/users/recommendation": {
+ /**
+ * Show users that the authenticated user might be interested to follow.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:account*
+ */
+ post: operations["users/recommendation"];
+ };
+ "/users/relation": {
+ /**
+ * Show the different kinds of relations between the authenticated user and the specified user(s).
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["users/relation"];
+ };
+ "/users/report-abuse": {
+ /**
+ * File a report.
+ *
+ * **Credential required**: *Yes*
+ */
+ post: operations["users/report-abuse"];
+ };
+ "/users/search-by-username-and-host": {
+ /**
+ * Search for a user by username and/or host.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["users/search-by-username-and-host"];
+ };
+ "/users/search": {
+ /**
+ * Search for users.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["users/search"];
+ };
+ "/users/show": {
+ /**
+ * Show the properties of a user.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["users/show"];
+ };
+ "/users/stats": {
+ /**
+ * Show statistics about a user.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["users/stats"];
+ };
+ "/fetch-rss": {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ get: operations["fetch-rss"];
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ post: operations["fetch-rss"];
+ };
+}
+
+export interface components {
+ schemas: {
+ Error: {
+ /** @description An error object. */
+ error: {
+ /** @description An error code. Unique within the endpoint. */
+ code: string;
+ /** @description An error message. */
+ message: string;
+ /**
+ * Format: uuid
+ * @description An error ID. This ID is static.
+ */
+ id: string;
+ };
+ };
+ UserLite: {
+ /**
+ * Format: id
+ * @example xxxxxxxxxx
+ */
+ id: string;
+ /** @example 藍 */
+ name: string | null;
+ /** @example ai */
+ username: string;
+ /**
+ * @description The local host is represented with `null`.
+ * @example misskey.example.com
+ */
+ host: string | null;
+ /** Format: url */
+ avatarUrl: string | null;
+ avatarBlurhash: unknown | null;
+ /** @default null */
+ avatarColor: unknown | null;
+ /** @default false */
+ isAdmin?: boolean;
+ /** @default false */
+ isModerator?: boolean;
+ isBot?: boolean;
+ isCat?: boolean;
+ emojis: {
+ name: string;
+ /** Format: url */
+ url: string;
+ }[];
+ /**
+ * Format: url
+ * @enum {string|null}
+ */
+ onlineStatus: ("unknown" | "online" | "active" | "offline") | null;
+ };
+ UserDetailedNotMeOnly: {
+ /** Format: url */
+ url: string | null;
+ /** Format: uri */
+ uri: string | null;
+ /** Format: date-time */
+ createdAt: string;
+ /** Format: date-time */
+ updatedAt: string | null;
+ /** Format: date-time */
+ lastFetchedAt: string | null;
+ /** Format: url */
+ bannerUrl: string | null;
+ bannerBlurhash: unknown | null;
+ /** @default null */
+ bannerColor: unknown | null;
+ isLocked: boolean;
+ isSilenced: boolean;
+ /** @example false */
+ isSuspended: boolean;
+ /** @example Hi masters, I am Ai! */
+ description: string | null;
+ location: string | null;
+ /** @example 2018-03-12 */
+ birthday: string | null;
+ /** @example ja-JP */
+ lang: string | null;
+ fields: {
+ name: string;
+ value: string;
+ }[];
+ followersCount: number;
+ followingCount: number;
+ notesCount: number;
+ pinnedNoteIds: string[];
+ pinnedNotes: components["schemas"]["Note"][];
+ pinnedPageId: string | null;
+ pinnedPage: components["schemas"]["Page"] | null;
+ publicReactions: boolean;
+ /** @default false */
+ twoFactorEnabled: boolean;
+ /** @default false */
+ usePasswordLessLogin: boolean;
+ /** @default false */
+ securityKeys: boolean;
+ isFollowing?: boolean;
+ isFollowed?: boolean;
+ hasPendingFollowRequestFromYou?: boolean;
+ hasPendingFollowRequestToYou?: boolean;
+ isBlocking?: boolean;
+ isBlocked?: boolean;
+ isMuted?: boolean;
+ };
+ MeDetailedOnly: {
+ /** Format: id */
+ avatarId: string | null;
+ /** Format: id */
+ bannerId: string | null;
+ injectFeaturedNote: boolean | null;
+ receiveAnnouncementEmail: boolean | null;
+ alwaysMarkNsfw: boolean | null;
+ carefulBot: boolean | null;
+ autoAcceptFollowed: boolean | null;
+ noCrawle: boolean | null;
+ isExplorable: boolean;
+ isDeleted: boolean;
+ hideOnlineStatus: boolean;
+ hasUnreadSpecifiedNotes: boolean;
+ hasUnreadMentions: boolean;
+ hasUnreadAnnouncement: boolean;
+ hasUnreadAntenna: boolean;
+ hasUnreadChannel: boolean;
+ hasUnreadMessagingMessage: boolean;
+ hasUnreadNotification: boolean;
+ hasPendingReceivedFollowRequest: boolean;
+ integrations: { [key: string]: unknown } | null;
+ mutedWords: string[][];
+ mutedInstances: string[] | null;
+ mutingNotificationTypes: string[] | null;
+ emailNotificationTypes: string[] | null;
+ email?: string | null;
+ emailVerified?: boolean | null;
+ securityKeysList?: { [key: string]: unknown }[];
+ };
+ UserDetailedNotMe: components["schemas"]["UserLite"] &
+ components["schemas"]["UserDetailedNotMeOnly"];
+ MeDetailed: components["schemas"]["UserLite"] &
+ components["schemas"]["UserDetailedNotMeOnly"] &
+ components["schemas"]["MeDetailedOnly"];
+ UserDetailed:
+ | components["schemas"]["UserDetailedNotMe"]
+ | components["schemas"]["MeDetailed"];
+ User:
+ | components["schemas"]["UserLite"]
+ | components["schemas"]["UserDetailed"];
+ UserList: {
+ /**
+ * Format: id
+ * @example xxxxxxxxxx
+ */
+ id: string;
+ /** Format: date-time */
+ createdAt: string;
+ name: string;
+ userIds?: string[];
+ };
+ UserGroup: {
+ /**
+ * Format: id
+ * @example xxxxxxxxxx
+ */
+ id: string;
+ /** Format: date-time */
+ createdAt: string;
+ name: string;
+ /** Format: id */
+ ownerId: string;
+ userIds?: string[];
+ };
+ App: {
+ id: string;
+ name: string;
+ callbackUrl: string | null;
+ permission: string[];
+ secret?: string;
+ isAuthorized?: boolean;
+ };
+ MessagingMessage: {
+ /**
+ * Format: id
+ * @example xxxxxxxxxx
+ */
+ id: string;
+ /** Format: date-time */
+ createdAt: string;
+ /** Format: id */
+ userId: string;
+ user?: components["schemas"]["UserLite"];
+ text: string | null;
+ /** Format: id */
+ fileId?: string | null;
+ file?: components["schemas"]["DriveFile"] | null;
+ /** Format: id */
+ recipientId: string | null;
+ recipient?: components["schemas"]["UserLite"] | null;
+ /** Format: id */
+ groupId: string | null;
+ group?: components["schemas"]["UserGroup"] | null;
+ isRead?: boolean;
+ reads?: string[];
+ };
+ Note: {
+ /**
+ * Format: id
+ * @example xxxxxxxxxx
+ */
+ id: string;
+ /** Format: date-time */
+ createdAt: string;
+ text: string | null;
+ cw?: string | null;
+ /** Format: id */
+ userId: string;
+ user: components["schemas"]["UserLite"];
+ /**
+ * Format: id
+ * @example xxxxxxxxxx
+ */
+ replyId?: string | null;
+ /**
+ * Format: id
+ * @example xxxxxxxxxx
+ */
+ renoteId?: string | null;
+ reply?: components["schemas"]["Note"] | null;
+ renote?: components["schemas"]["Note"] | null;
+ visibility: string;
+ mentions?: string[];
+ visibleUserIds?: string[];
+ fileIds?: string[];
+ files?: components["schemas"]["DriveFile"][];
+ tags?: string[];
+ poll?: { [key: string]: unknown } | null;
+ /**
+ * Format: id
+ * @example xxxxxxxxxx
+ */
+ channelId?: string | null;
+ channel?:
+ | {
+ id?: string;
+ name?: string | null;
+ }[]
+ | null;
+ localOnly?: boolean;
+ emojis: {
+ name: string;
+ url: string | null;
+ }[];
+ reactions: { [key: string]: unknown };
+ renoteCount: number;
+ repliesCount: number;
+ uri?: string;
+ url?: string;
+ myReaction?: { [key: string]: unknown } | null;
+ };
+ NoteReaction: {
+ /**
+ * Format: id
+ * @example xxxxxxxxxx
+ */
+ id: string;
+ /** Format: date-time */
+ createdAt: string;
+ user: components["schemas"]["UserLite"];
+ type: string;
+ };
+ NoteFavorite: {
+ /**
+ * Format: id
+ * @example xxxxxxxxxx
+ */
+ id: string;
+ /** Format: date-time */
+ createdAt: string;
+ note: components["schemas"]["Note"];
+ /** Format: id */
+ noteId: string;
+ };
+ Notification: {
+ /**
+ * Format: id
+ * @example xxxxxxxxxx
+ */
+ id: string;
+ /** Format: date-time */
+ createdAt: string;
+ isRead: boolean;
+ /** @enum {string} */
+ type:
+ | "follow"
+ | "mention"
+ | "reply"
+ | "renote"
+ | "quote"
+ | "reaction"
+ | "pollVote"
+ | "pollEnded"
+ | "receiveFollowRequest"
+ | "followRequestAccepted"
+ | "groupInvited"
+ | "app";
+ user?: components["schemas"]["UserLite"] | null;
+ /** Format: id */
+ userId?: string | null;
+ note?: components["schemas"]["Note"] | null;
+ reaction?: string | null;
+ choice?: number | null;
+ invitation?: { [key: string]: unknown } | null;
+ body?: string | null;
+ header?: string | null;
+ icon?: string | null;
+ };
+ DriveFile: {
+ /**
+ * Format: id
+ * @example xxxxxxxxxx
+ */
+ id: string;
+ /** Format: date-time */
+ createdAt: string;
+ /** @example lenna.jpg */
+ name: string;
+ /** @example image/jpeg */
+ type: string;
+ /**
+ * Format: md5
+ * @example 15eca7fba0480996e2245f5185bf39f2
+ */
+ md5: string;
+ /** @example 51469 */
+ size: number;
+ isSensitive: boolean;
+ blurhash: string | null;
+ properties: {
+ /** @example 1280 */
+ width?: number;
+ /** @example 720 */
+ height?: number;
+ /** @example 8 */
+ orientation?: number;
+ /** @example rgb(40,65,87) */
+ avgColor?: string;
+ };
+ /** Format: url */
+ url: string | null;
+ /** Format: url */
+ thumbnailUrl: string | null;
+ comment: string | null;
+ /**
+ * Format: id
+ * @example xxxxxxxxxx
+ */
+ folderId: string | null;
+ folder?: components["schemas"]["DriveFolder"] | null;
+ /**
+ * Format: id
+ * @example xxxxxxxxxx
+ */
+ userId: string | null;
+ user?: components["schemas"]["UserLite"] | null;
+ };
+ DriveFolder: {
+ /**
+ * Format: id
+ * @example xxxxxxxxxx
+ */
+ id: string;
+ /** Format: date-time */
+ createdAt: string;
+ name: string;
+ foldersCount?: number;
+ filesCount?: number;
+ /**
+ * Format: id
+ * @example xxxxxxxxxx
+ */
+ parentId: string | null;
+ parent?: components["schemas"]["DriveFolder"] | null;
+ };
+ Following: {
+ /**
+ * Format: id
+ * @example xxxxxxxxxx
+ */
+ id: string;
+ /** Format: date-time */
+ createdAt: string;
+ /** Format: id */
+ followeeId: string;
+ followee?: components["schemas"]["UserDetailed"];
+ /** Format: id */
+ followerId: string;
+ follower?: components["schemas"]["UserDetailed"];
+ };
+ Muting: {
+ /**
+ * Format: id
+ * @example xxxxxxxxxx
+ */
+ id: string;
+ /** Format: date-time */
+ createdAt: string;
+ /** Format: date-time */
+ expiresAt: string | null;
+ /** Format: id */
+ muteeId: string;
+ mutee: components["schemas"]["UserDetailed"];
+ };
+ Blocking: {
+ /**
+ * Format: id
+ * @example xxxxxxxxxx
+ */
+ id: string;
+ /** Format: date-time */
+ createdAt: string;
+ /** Format: id */
+ blockeeId: string;
+ blockee: components["schemas"]["UserDetailed"];
+ };
+ Hashtag: {
+ /** @example misskey */
+ tag: string;
+ mentionedUsersCount: number;
+ mentionedLocalUsersCount: number;
+ mentionedRemoteUsersCount: number;
+ attachedUsersCount: number;
+ attachedLocalUsersCount: number;
+ attachedRemoteUsersCount: number;
+ };
+ Page: {
+ /**
+ * Format: id
+ * @example xxxxxxxxxx
+ */
+ id: string;
+ /** Format: date-time */
+ createdAt: string;
+ /** Format: date-time */
+ updatedAt: string;
+ title: string;
+ name: string;
+ summary: string | null;
+ text: string;
+ /** Format: id */
+ userId: string;
+ user: components["schemas"]["UserLite"];
+ };
+ Channel: {
+ /**
+ * Format: id
+ * @example xxxxxxxxxx
+ */
+ id: string;
+ /** Format: date-time */
+ createdAt: string;
+ /** Format: date-time */
+ lastNotedAt: string | null;
+ name: string;
+ description: string | null;
+ /** Format: url */
+ bannerUrl: string | null;
+ notesCount: number;
+ usersCount: number;
+ isFollowing?: boolean;
+ /** Format: id */
+ userId: string | null;
+ };
+ QueueCount: {
+ waiting: number;
+ active: number;
+ completed: number;
+ failed: number;
+ delayed: number;
+ };
+ Antenna: {
+ /** Format: id */
+ id: string;
+ /** Format: date-time */
+ createdAt: string;
+ name: string;
+ keywords: string[][];
+ excludeKeywords: string[][];
+ /** @enum {string} */
+ src: "home" | "all" | "users" | "list" | "group";
+ /** Format: id */
+ userListId: string | null;
+ /** Format: id */
+ userGroupId: string | null;
+ users: string[];
+ /** @default false */
+ caseSensitive: boolean;
+ notify: boolean;
+ /** @default false */
+ withReplies: boolean;
+ withFile: boolean;
+ /** @default false */
+ hasUnreadNote: boolean;
+ };
+ Clip: {
+ /**
+ * Format: id
+ * @example xxxxxxxxxx
+ */
+ id: string;
+ /** Format: date-time */
+ createdAt: string;
+ /** Format: id */
+ userId: string;
+ user: components["schemas"]["UserLite"];
+ name: string;
+ description: string | null;
+ isPublic: boolean;
+ };
+ FederationInstance: {
+ /** Format: id */
+ id: string;
+ /** Format: date-time */
+ caughtAt: string;
+ /** @example misskey.example.com */
+ host: string;
+ usersCount: number;
+ notesCount: number;
+ followingCount: number;
+ followersCount: number;
+ /** Format: date-time */
+ latestRequestSentAt: string | null;
+ /** Format: date-time */
+ lastCommunicatedAt: string;
+ isNotResponding: boolean;
+ isSuspended: boolean;
+ isBlocked: boolean;
+ /** @example misskey */
+ softwareName: string | null;
+ /** @example 13.0.0-preview.1 */
+ softwareVersion: string | null;
+ /** @example true */
+ openRegistrations: boolean | null;
+ name: string | null;
+ description: string | null;
+ maintainerName: string | null;
+ maintainerEmail: string | null;
+ /** Format: url */
+ iconUrl: string | null;
+ /** Format: url */
+ faviconUrl: string | null;
+ themeColor: string | null;
+ /** Format: date-time */
+ infoUpdatedAt: string | null;
+ };
+ GalleryPost: {
+ /**
+ * Format: id
+ * @example xxxxxxxxxx
+ */
+ id: string;
+ /** Format: date-time */
+ createdAt: string;
+ /** Format: date-time */
+ updatedAt: string;
+ title: string;
+ description: string | null;
+ /** Format: id */
+ userId: string;
+ user: components["schemas"]["UserLite"];
+ fileIds?: string[];
+ files?: components["schemas"]["DriveFile"][];
+ tags?: string[];
+ isSensitive: boolean;
+ };
+ Emoji: {
+ /**
+ * Format: id
+ * @example xxxxxxxxxx
+ */
+ id: string;
+ aliases: string[];
+ name: string;
+ category: string | null;
+ /** @description The local host is represented with `null`. */
+ host: string | null;
+ url: string;
+ };
+ };
+}
+
+export interface operations {
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ "admin/meta": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": {
+ driveCapacityPerLocalUserMb: number;
+ driveCapacityPerRemoteUserMb: number;
+ cacheRemoteFiles: boolean;
+ emailRequiredForSignup: boolean;
+ enableHcaptcha: boolean;
+ hcaptchaSiteKey: string | null;
+ enableRecaptcha: boolean;
+ recaptchaSiteKey: string | null;
+ swPublickey: string | null;
+ bannerUrl: string;
+ iconUrl: string | null;
+ maxNoteTextLength: number;
+ emojis: {
+ /** Format: id */
+ id: string;
+ aliases: string[];
+ category: string | null;
+ host: string | null;
+ /** Format: url */
+ url: string;
+ }[];
+ enableEmail: boolean;
+ enableTwitterIntegration: boolean;
+ enableGithubIntegration: boolean;
+ enableDiscordIntegration: boolean;
+ enableServiceWorker: boolean;
+ translatorAvailable: boolean;
+ proxyAccountName: string | null;
+ userStarForReactionFallback?: boolean;
+ pinnedUsers?: string[];
+ hiddenTags?: string[];
+ blockedHosts?: string[];
+ hcaptchaSecretKey?: string | null;
+ recaptchaSecretKey?: string | null;
+ /** Format: id */
+ proxyAccountId?: string | null;
+ twitterConsumerKey?: string | null;
+ twitterConsumerSecret?: string | null;
+ githubClientId?: string | null;
+ githubClientSecret?: string | null;
+ discordClientId?: string | null;
+ discordClientSecret?: string | null;
+ summaryProxy?: string | null;
+ email?: string | null;
+ smtpSecure?: boolean;
+ smtpHost?: string | null;
+ smtpPort?: string | null;
+ smtpUser?: string | null;
+ smtpPass?: string | null;
+ swPrivateKey?: string | null;
+ useObjectStorage?: boolean;
+ objectStorageBaseUrl?: string | null;
+ objectStorageBucket?: string | null;
+ objectStoragePrefix?: string | null;
+ objectStorageEndpoint?: string | null;
+ objectStorageRegion?: string | null;
+ objectStoragePort?: number | null;
+ objectStorageAccessKey?: string | null;
+ objectStorageSecretKey?: string | null;
+ objectStorageUseSSL?: boolean;
+ objectStorageUseProxy?: boolean;
+ objectStorageSetPublicRead?: boolean;
+ };
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": { [key: string]: unknown };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ "admin/abuse-user-reports": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": {
+ /**
+ * Format: id
+ * @example xxxxxxxxxx
+ */
+ id: string;
+ /** Format: date-time */
+ createdAt: string;
+ comment: string;
+ /** @example false */
+ resolved: boolean;
+ /** Format: id */
+ reporterId: string;
+ /** Format: id */
+ targetUserId: string;
+ /** Format: id */
+ assigneeId: string | null;
+ reporter: components["schemas"]["User"];
+ targetUser: components["schemas"]["User"];
+ assignee?: components["schemas"]["User"] | null;
+ /** @example false */
+ forwarded: boolean;
+ }[];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** @default 10 */
+ limit?: number;
+ /** Format: misskey:id */
+ sinceId?: string;
+ /** Format: misskey:id */
+ untilId?: string;
+ /** @default null */
+ state?: string | null;
+ /**
+ * @default combined
+ * @enum {string}
+ */
+ reporterOrigin?: "combined" | "local" | "remote";
+ /**
+ * @default combined
+ * @enum {string}
+ */
+ targetUserOrigin?: "combined" | "local" | "remote";
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ "admin/accounts/create": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["User"];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ username: string;
+ password: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ "admin/accounts/delete": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ userId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ "admin/announcements/create": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": {
+ /**
+ * Format: id
+ * @example xxxxxxxxxx
+ */
+ id: string;
+ /** Format: date-time */
+ createdAt: string;
+ /** Format: date-time */
+ updatedAt: string | null;
+ title: string;
+ text: string;
+ imageUrl: string | null;
+ };
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ title: string;
+ text: string;
+ imageUrl: string | null;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ "admin/announcements/delete": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ id: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ "admin/announcements/list": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": {
+ /**
+ * Format: id
+ * @example xxxxxxxxxx
+ */
+ id: string;
+ /** Format: date-time */
+ createdAt: string;
+ /** Format: date-time */
+ updatedAt: string | null;
+ text: string;
+ title: string;
+ imageUrl: string | null;
+ reads: number;
+ }[];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** @default 10 */
+ limit?: number;
+ /** Format: misskey:id */
+ sinceId?: string;
+ /** Format: misskey:id */
+ untilId?: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ "admin/announcements/update": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ id: string;
+ title: string;
+ text: string;
+ imageUrl: string | null;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ "admin/delete-all-files-of-a-user": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ userId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ "admin/drive/clean-remote-files": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": { [key: string]: unknown };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ "admin/drive/files": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["DriveFile"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** @default 10 */
+ limit?: number;
+ /** Format: misskey:id */
+ sinceId?: string;
+ /** Format: misskey:id */
+ untilId?: string;
+ /** Format: misskey:id */
+ userId?: string | null;
+ type?: string | null;
+ /**
+ * @default local
+ * @enum {string}
+ */
+ origin?: "combined" | "local" | "remote";
+ /**
+ * @description The local host is represented with `null`.
+ * @default null
+ */
+ hostname?: string | null;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ "admin/drive/show-file": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": {
+ /**
+ * Format: id
+ * @example xxxxxxxxxx
+ */
+ id: string;
+ /** Format: date-time */
+ createdAt: string;
+ /**
+ * Format: id
+ * @example xxxxxxxxxx
+ */
+ userId: string | null;
+ /** @description The local host is represented with `null`. */
+ userHost: string | null;
+ /**
+ * Format: md5
+ * @example 15eca7fba0480996e2245f5185bf39f2
+ */
+ md5: string;
+ /** @example lenna.jpg */
+ name: string;
+ /** @example image/jpeg */
+ type: string;
+ /** @example 51469 */
+ size: number;
+ comment: string | null;
+ blurhash: string | null;
+ properties: {
+ /** @example 1280 */
+ width: number;
+ /** @example 720 */
+ height: number;
+ /** @example rgb(40,65,87) */
+ avgColor?: string;
+ };
+ /** @example true */
+ storedInternal: boolean | null;
+ /** Format: url */
+ url: string | null;
+ /** Format: url */
+ thumbnailUrl: string | null;
+ /** Format: url */
+ webpublicUrl: string | null;
+ accessKey: string;
+ thumbnailAccessKey: string;
+ webpublicAccessKey: string;
+ uri: string | null;
+ src: string | null;
+ /**
+ * Format: id
+ * @example xxxxxxxxxx
+ */
+ folderId: string | null;
+ isSensitive: boolean;
+ isLink: boolean;
+ };
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": Partial<{
+ /** Format: misskey:id */
+ fileId: string;
+ }> &
+ Partial<{
+ url: string;
+ }>;
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ "admin/emoji/add-aliases-bulk": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ ids: string[];
+ aliases: string[];
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ "admin/emoji/add": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ fileId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ "admin/emoji/copy": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": {
+ /** Format: id */
+ id: string;
+ };
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ emojiId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ "admin/emoji/delete-bulk": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ ids: string[];
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ "admin/emoji/delete": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ id: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ "admin/emoji/list-remote": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": {
+ /** Format: id */
+ id: string;
+ aliases: string[];
+ name: string;
+ category: string | null;
+ /** @description The local host is represented with `null`. */
+ host: string | null;
+ url: string;
+ }[];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** @default null */
+ query?: string | null;
+ /**
+ * @description Use `null` to represent the local host.
+ * @default null
+ */
+ host?: string | null;
+ /** @default 10 */
+ limit?: number;
+ /** Format: misskey:id */
+ sinceId?: string;
+ /** Format: misskey:id */
+ untilId?: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ "admin/emoji/list": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": {
+ /** Format: id */
+ id: string;
+ aliases: string[];
+ name: string;
+ category: string | null;
+ /** @description The local host is represented with `null`. The field exists for compatibility with other API endpoints that return files. */
+ host: unknown;
+ url: string;
+ }[];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** @default null */
+ query?: string | null;
+ /** @default 10 */
+ limit?: number;
+ /** Format: misskey:id */
+ sinceId?: string;
+ /** Format: misskey:id */
+ untilId?: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ "admin/emoji/remove-aliases-bulk": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ ids: string[];
+ aliases: string[];
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ "admin/emoji/set-aliases-bulk": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ ids: string[];
+ aliases: string[];
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ "admin/emoji/set-category-bulk": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ ids: string[];
+ /** @description Use `null` to reset the category. */
+ category?: string | null;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ "admin/emoji/update": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ id: string;
+ name: string;
+ /** @description Use `null` to reset the category. */
+ category?: string | null;
+ aliases: string[];
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ "admin/federation/delete-all-files": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ host: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ "admin/federation/refresh-remote-instance-metadata": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ host: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ "admin/federation/remove-all-following": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ host: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ "admin/federation/update-instance": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ host: string;
+ isSuspended: boolean;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ "admin/get-index-stats": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": { [key: string]: unknown };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ "admin/get-table-stats": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": { [key: string]: unknown };
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": { [key: string]: unknown };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ "admin/invite": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": {
+ /** @example 2ERUA5VR */
+ code: string;
+ };
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": { [key: string]: unknown };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ "admin/moderators/add": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ userId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ "admin/moderators/remove": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ userId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ "admin/queue/clear": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": { [key: string]: unknown };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ "admin/queue/deliver-delayed": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": (Partial & Partial)[][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": { [key: string]: unknown };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ "admin/queue/inbox-delayed": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": (Partial & Partial)[][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": { [key: string]: unknown };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ "admin/queue/stats": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": {
+ deliver: components["schemas"]["QueueCount"];
+ inbox: components["schemas"]["QueueCount"];
+ db: components["schemas"]["QueueCount"];
+ objectStorage: components["schemas"]["QueueCount"];
+ };
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": { [key: string]: unknown };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ "admin/relays/add": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": {
+ /** Format: id */
+ id: string;
+ /**
+ * Format: url
+ * @description URL of the inbox, must be a https scheme URL
+ */
+ inbox: string;
+ /**
+ * @default requesting
+ * @enum {string}
+ */
+ status: "requesting" | "accepted" | "rejected";
+ };
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ inbox: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ "admin/relays/list": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": {
+ /** Format: id */
+ id: string;
+ /** Format: url */
+ inbox: string;
+ /**
+ * @default requesting
+ * @enum {string}
+ */
+ status: "requesting" | "accepted" | "rejected";
+ }[];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": { [key: string]: unknown };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ "admin/relays/remove": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ inbox: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ "admin/reset-password": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": {
+ password: string;
+ };
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ userId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ "admin/resolve-abuse-user-report": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ reportId: string;
+ /** @default false */
+ forward?: boolean;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ "admin/send-email": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ to: string;
+ subject: string;
+ text: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ "admin/server-info": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": {
+ machine: string;
+ /** @example linux */
+ os: string;
+ node: string;
+ psql: string;
+ cpu: {
+ model: string;
+ cores: number;
+ };
+ mem: {
+ /** Format: bytes */
+ total: number;
+ };
+ fs: {
+ /** Format: bytes */
+ total: number;
+ /** Format: bytes */
+ used: number;
+ };
+ net: {
+ /** @example eth0 */
+ interface: string;
+ };
+ };
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": { [key: string]: unknown };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ "admin/show-moderation-logs": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": {
+ /** Format: id */
+ id: string;
+ /** Format: date-time */
+ createdAt: string;
+ type: string;
+ info: { [key: string]: unknown };
+ /** Format: id */
+ userId: string;
+ user: components["schemas"]["UserDetailed"];
+ }[];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** @default 10 */
+ limit?: number;
+ /** Format: misskey:id */
+ sinceId?: string;
+ /** Format: misskey:id */
+ untilId?: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ "admin/show-user": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": { [key: string]: unknown };
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ userId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ "admin/show-users": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["UserDetailed"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** @default 10 */
+ limit?: number;
+ /** @default 0 */
+ offset?: number;
+ /** @enum {string} */
+ sort?:
+ | "+follower"
+ | "-follower"
+ | "+createdAt"
+ | "-createdAt"
+ | "+updatedAt"
+ | "-updatedAt";
+ /**
+ * @default all
+ * @enum {string}
+ */
+ state?:
+ | "all"
+ | "alive"
+ | "available"
+ | "admin"
+ | "moderator"
+ | "adminOrModerator"
+ | "silenced"
+ | "suspended";
+ /**
+ * @default local
+ * @enum {string}
+ */
+ origin?: "combined" | "local" | "remote";
+ /** @default null */
+ username?: string | null;
+ /**
+ * @description The local host is represented with `null`.
+ * @default null
+ */
+ hostname?: string | null;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ "admin/silence-user": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ userId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ "admin/suspend-user": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ userId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ "admin/unsilence-user": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ userId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ "admin/unsuspend-user": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ userId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ "admin/update-meta": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ disableRegistration?: boolean | null;
+ disableLocalTimeline?: boolean | null;
+ disableGlobalTimeline?: boolean | null;
+ useStarForReactionFallback?: boolean | null;
+ pinnedUsers?: string[] | null;
+ hiddenTags?: string[] | null;
+ blockedHosts?: string[] | null;
+ themeColor?: string | null;
+ bannerUrl?: string | null;
+ iconUrl?: string | null;
+ backgroundImageUrl?: string | null;
+ logoImageUrl?: string | null;
+ name?: string | null;
+ description?: string | null;
+ defaultLightTheme?: string | null;
+ defaultDarkTheme?: string | null;
+ localDriveCapacityMb?: number;
+ remoteDriveCapacityMb?: number;
+ cacheRemoteFiles?: boolean;
+ emailRequiredForSignup?: boolean;
+ enableHcaptcha?: boolean;
+ hcaptchaSiteKey?: string | null;
+ hcaptchaSecretKey?: string | null;
+ enableRecaptcha?: boolean;
+ recaptchaSiteKey?: string | null;
+ recaptchaSecretKey?: string | null;
+ /** Format: misskey:id */
+ proxyAccountId?: string | null;
+ maintainerName?: string | null;
+ maintainerEmail?: string | null;
+ pinnedPages?: string[];
+ /** Format: misskey:id */
+ pinnedClipId?: string | null;
+ langs?: string[];
+ summalyProxy?: string | null;
+ deeplAuthKey?: string | null;
+ deeplIsPro?: boolean;
+ enableTwitterIntegration?: boolean;
+ twitterConsumerKey?: string | null;
+ twitterConsumerSecret?: string | null;
+ enableGithubIntegration?: boolean;
+ githubClientId?: string | null;
+ githubClientSecret?: string | null;
+ enableDiscordIntegration?: boolean;
+ discordClientId?: string | null;
+ discordClientSecret?: string | null;
+ enableEmail?: boolean;
+ email?: string | null;
+ smtpSecure?: boolean;
+ smtpHost?: string | null;
+ smtpPort?: number | null;
+ smtpUser?: string | null;
+ smtpPass?: string | null;
+ enableServiceWorker?: boolean;
+ swPublicKey?: string | null;
+ swPrivateKey?: string | null;
+ tosUrl?: string | null;
+ useObjectStorage?: boolean;
+ objectStorageBaseUrl?: string | null;
+ objectStorageBucket?: string | null;
+ objectStoragePrefix?: string | null;
+ objectStorageEndpoint?: string | null;
+ objectStorageRegion?: string | null;
+ objectStoragePort?: number | null;
+ objectStorageAccessKey?: string | null;
+ objectStorageSecretKey?: string | null;
+ objectStorageUseSSL?: boolean;
+ objectStorageUseProxy?: boolean;
+ objectStorageSetPublicRead?: boolean;
+ objectStorageS3ForcePathStyle?: boolean;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ "admin/vacuum": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ full: boolean;
+ analyze: boolean;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ "admin/delete-account": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": unknown;
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ userId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ announcements: {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": {
+ /**
+ * Format: id
+ * @example xxxxxxxxxx
+ */
+ id: string;
+ /** Format: date-time */
+ createdAt: string;
+ /** Format: date-time */
+ updatedAt: string | null;
+ text: string;
+ title: string;
+ imageUrl: string | null;
+ isRead?: boolean;
+ }[];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** @default 10 */
+ limit?: number;
+ /** @default false */
+ withUnreads?: boolean;
+ /** Format: misskey:id */
+ sinceId?: string;
+ /** Format: misskey:id */
+ untilId?: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:account*
+ */
+ "antennas/create": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["Antenna"];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ name: string;
+ /** @enum {string} */
+ src: "home" | "all" | "users" | "list" | "group";
+ /** Format: misskey:id */
+ userListId?: string | null;
+ /** Format: misskey:id */
+ userGroupId?: string | null;
+ keywords: string[][];
+ excludeKeywords: string[][];
+ users: string[];
+ caseSensitive: boolean;
+ withReplies: boolean;
+ withFile: boolean;
+ notify: boolean;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:account*
+ */
+ "antennas/delete": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ antennaId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:account*
+ */
+ "antennas/list": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["Antenna"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": { [key: string]: unknown };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:account*
+ */
+ "antennas/notes": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["Note"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ antennaId: string;
+ /** @default 10 */
+ limit?: number;
+ /** Format: misskey:id */
+ sinceId?: string;
+ /** Format: misskey:id */
+ untilId?: string;
+ sinceDate?: number;
+ untilDate?: number;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:account*
+ */
+ "antennas/show": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["Antenna"];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ antennaId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:account*
+ */
+ "antennas/update": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["Antenna"];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ antennaId: string;
+ name: string;
+ /** @enum {string} */
+ src: "home" | "all" | "users" | "list" | "group";
+ /** Format: misskey:id */
+ userListId?: string | null;
+ /** Format: misskey:id */
+ userGroupId?: string | null;
+ keywords: string[][];
+ excludeKeywords: string[][];
+ users: string[];
+ caseSensitive: boolean;
+ withReplies: boolean;
+ withFile: boolean;
+ notify: boolean;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ "ap/get": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": { [key: string]: unknown };
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** To many requests */
+ 429: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ uri: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ "ap/show": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json":
+ | {
+ /** @enum {string} */
+ type: "User";
+ object: components["schemas"]["UserDetailedNotMe"];
+ }
+ | {
+ /** @enum {string} */
+ type: "Note";
+ object: components["schemas"]["Note"];
+ };
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** To many requests */
+ 429: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ uri: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ "app/create": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["App"];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ name: string;
+ description: string;
+ permission: string[];
+ callbackUrl?: string | null;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ "app/show": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["App"];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ appId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ "auth/session/generate": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": {
+ token: string;
+ /** Format: url */
+ url: string;
+ };
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ appSecret: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ "auth/session/show": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": {
+ /** Format: id */
+ id: string;
+ app: components["schemas"]["App"];
+ token: string;
+ };
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ token: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ "auth/session/userkey": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": {
+ accessToken: string;
+ user: components["schemas"]["UserDetailedNotMe"];
+ };
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ appSecret: string;
+ token: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:blocks*
+ */
+ "blocking/create": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["UserDetailedNotMe"];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** To many requests */
+ 429: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ userId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:blocks*
+ */
+ "blocking/delete": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["UserDetailedNotMe"];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** To many requests */
+ 429: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ userId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:blocks*
+ */
+ "blocking/list": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["Blocking"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** @default 30 */
+ limit?: number;
+ /** Format: misskey:id */
+ sinceId?: string;
+ /** Format: misskey:id */
+ untilId?: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:channels*
+ */
+ "channels/create": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["Channel"];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ name: string;
+ description?: string | null;
+ /** Format: misskey:id */
+ bannerId?: string | null;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ "channels/featured": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["Channel"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": { [key: string]: unknown };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:channels*
+ */
+ "channels/follow": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ channelId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:channels*
+ */
+ "channels/followed": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["Channel"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ sinceId?: string;
+ /** Format: misskey:id */
+ untilId?: string;
+ /** @default 5 */
+ limit?: number;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:channels*
+ */
+ "channels/owned": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["Channel"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ sinceId?: string;
+ /** Format: misskey:id */
+ untilId?: string;
+ /** @default 5 */
+ limit?: number;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ "channels/show": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["Channel"];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ channelId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ "channels/timeline": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["Note"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ channelId: string;
+ /** @default 10 */
+ limit?: number;
+ /** Format: misskey:id */
+ sinceId?: string;
+ /** Format: misskey:id */
+ untilId?: string;
+ sinceDate?: number;
+ untilDate?: number;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:channels*
+ */
+ "channels/unfollow": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ channelId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:channels*
+ */
+ "channels/update": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["Channel"];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ channelId: string;
+ name?: string;
+ description?: string | null;
+ /** Format: misskey:id */
+ bannerId?: string | null;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ "charts/active-users": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": {
+ readWrite: number[];
+ read: number[];
+ write: number[];
+ registeredWithinWeek: number[];
+ registeredWithinMonth: number[];
+ registeredWithinYear: number[];
+ registeredOutsideWeek: number[];
+ registeredOutsideMonth: number[];
+ registeredOutsideYear: number[];
+ };
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** @enum {string} */
+ span: "day" | "hour";
+ /** @default 30 */
+ limit?: number;
+ /** @default null */
+ offset?: number | null;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ "charts/ap-request": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": {
+ deliverFailed: number[];
+ deliverSucceeded: number[];
+ inboxReceived: number[];
+ };
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** @enum {string} */
+ span: "day" | "hour";
+ /** @default 30 */
+ limit?: number;
+ /** @default null */
+ offset?: number | null;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ "charts/drive": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": {
+ "local.incCount": number[];
+ "local.incSize": number[];
+ "local.decCount": number[];
+ "local.decSize": number[];
+ "remote.incCount": number[];
+ "remote.incSize": number[];
+ "remote.decCount": number[];
+ "remote.decSize": number[];
+ };
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** @enum {string} */
+ span: "day" | "hour";
+ /** @default 30 */
+ limit?: number;
+ /** @default null */
+ offset?: number | null;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ "charts/federation": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": {
+ deliveredInstances: number[];
+ inboxInstances: number[];
+ stalled: number[];
+ sub: number[];
+ pub: number[];
+ pubsub: number[];
+ subActive: number[];
+ pubActive: number[];
+ };
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** @enum {string} */
+ span: "day" | "hour";
+ /** @default 30 */
+ limit?: number;
+ /** @default null */
+ offset?: number | null;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ "charts/hashtag": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": {
+ "local.users": number[];
+ "remote.users": number[];
+ };
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** @enum {string} */
+ span: "day" | "hour";
+ /** @default 30 */
+ limit?: number;
+ /** @default null */
+ offset?: number | null;
+ tag: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ "charts/instance": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": {
+ "requests.failed": number[];
+ "requests.succeeded": number[];
+ "requests.received": number[];
+ "notes.total": number[];
+ "notes.inc": number[];
+ "notes.dec": number[];
+ "notes.diffs.normal": number[];
+ "notes.diffs.reply": number[];
+ "notes.diffs.renote": number[];
+ "notes.diffs.withFile": number[];
+ "users.total": number[];
+ "users.inc": number[];
+ "users.dec": number[];
+ "following.total": number[];
+ "following.inc": number[];
+ "following.dec": number[];
+ "followers.total": number[];
+ "followers.inc": number[];
+ "followers.dec": number[];
+ "drive.totalFiles": number[];
+ "drive.incFiles": number[];
+ "drive.decFiles": number[];
+ "drive.incUsage": number[];
+ "drive.decUsage": number[];
+ };
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** @enum {string} */
+ span: "day" | "hour";
+ /** @default 30 */
+ limit?: number;
+ /** @default null */
+ offset?: number | null;
+ host: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ "charts/notes": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": {
+ "local.total": number[];
+ "local.inc": number[];
+ "local.dec": number[];
+ "local.diffs.normal": number[];
+ "local.diffs.reply": number[];
+ "local.diffs.renote": number[];
+ "local.diffs.withFile": number[];
+ "remote.total": number[];
+ "remote.inc": number[];
+ "remote.dec": number[];
+ "remote.diffs.normal": number[];
+ "remote.diffs.reply": number[];
+ "remote.diffs.renote": number[];
+ "remote.diffs.withFile": number[];
+ };
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** @enum {string} */
+ span: "day" | "hour";
+ /** @default 30 */
+ limit?: number;
+ /** @default null */
+ offset?: number | null;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ "charts/user/drive": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": {
+ totalCount: number[];
+ totalSize: number[];
+ incCount: number[];
+ incSize: number[];
+ decCount: number[];
+ decSize: number[];
+ };
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** @enum {string} */
+ span: "day" | "hour";
+ /** @default 30 */
+ limit?: number;
+ /** @default null */
+ offset?: number | null;
+ /** Format: misskey:id */
+ userId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ "charts/user/following": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": {
+ "local.followings.total": number[];
+ "local.followings.inc": number[];
+ "local.followings.dec": number[];
+ "local.followers.total": number[];
+ "local.followers.inc": number[];
+ "local.followers.dec": number[];
+ "remote.followings.total": number[];
+ "remote.followings.inc": number[];
+ "remote.followings.dec": number[];
+ "remote.followers.total": number[];
+ "remote.followers.inc": number[];
+ "remote.followers.dec": number[];
+ };
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** @enum {string} */
+ span: "day" | "hour";
+ /** @default 30 */
+ limit?: number;
+ /** @default null */
+ offset?: number | null;
+ /** Format: misskey:id */
+ userId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ "charts/user/notes": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": {
+ total: number[];
+ inc: number[];
+ dec: number[];
+ "diffs.normal": number[];
+ "diffs.reply": number[];
+ "diffs.renote": number[];
+ "diffs.withFile": number[];
+ };
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** @enum {string} */
+ span: "day" | "hour";
+ /** @default 30 */
+ limit?: number;
+ /** @default null */
+ offset?: number | null;
+ /** Format: misskey:id */
+ userId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ "charts/user/reactions": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": {
+ "local.count": number[];
+ "remote.count": number[];
+ };
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** @enum {string} */
+ span: "day" | "hour";
+ /** @default 30 */
+ limit?: number;
+ /** @default null */
+ offset?: number | null;
+ /** Format: misskey:id */
+ userId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ "charts/users": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": {
+ "local.total": number[];
+ "local.inc": number[];
+ "local.dec": number[];
+ "remote.total": number[];
+ "remote.inc": number[];
+ "remote.dec": number[];
+ };
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** @enum {string} */
+ span: "day" | "hour";
+ /** @default 30 */
+ limit?: number;
+ /** @default null */
+ offset?: number | null;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:account*
+ */
+ "clips/add-note": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ clipId: string;
+ /** Format: misskey:id */
+ noteId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:account*
+ */
+ "clips/remove-note": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ clipId: string;
+ /** Format: misskey:id */
+ noteId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:account*
+ */
+ "clips/create": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["Clip"];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ name: string;
+ /** @default false */
+ isPublic?: boolean;
+ description?: string | null;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:account*
+ */
+ "clips/delete": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ clipId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:account*
+ */
+ "clips/list": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["Clip"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": { [key: string]: unknown };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No* / **Permission**: *read:account*
+ */
+ "clips/notes": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["Note"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ clipId: string;
+ /** @default 10 */
+ limit?: number;
+ /** Format: misskey:id */
+ sinceId?: string;
+ /** Format: misskey:id */
+ untilId?: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No* / **Permission**: *read:account*
+ */
+ "clips/show": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["Clip"];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ clipId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:account*
+ */
+ "clips/update": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["Clip"];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ clipId: string;
+ name: string;
+ isPublic?: boolean;
+ description?: string | null;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:drive*
+ */
+ drive: {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": {
+ capacity: number;
+ usage: number;
+ };
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": { [key: string]: unknown };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:drive*
+ */
+ "drive/files": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["DriveFile"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** @default 10 */
+ limit?: number;
+ /** Format: misskey:id */
+ sinceId?: string;
+ /** Format: misskey:id */
+ untilId?: string;
+ /**
+ * Format: misskey:id
+ * @default null
+ */
+ folderId?: string | null;
+ type?: string | null;
+ };
+ };
+ };
+ };
+ /**
+ * Find the notes to which the given file is attached.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:drive*
+ */
+ "drive/files/attached-notes": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["Note"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ fileId: string;
+ };
+ };
+ };
+ };
+ /**
+ * Check if a given file exists.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:drive*
+ */
+ "drive/files/check-existence": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": boolean;
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ md5: string;
+ };
+ };
+ };
+ };
+ /**
+ * Upload a new drive file.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:drive*
+ */
+ "drive/files/create": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["DriveFile"];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** To many requests */
+ 429: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "multipart/form-data": {
+ /**
+ * Format: misskey:id
+ * @default null
+ */
+ folderId?: string | null;
+ /** @default null */
+ name?: string | null;
+ /** @default null */
+ comment?: string | null;
+ /** @default false */
+ isSensitive?: boolean;
+ /** @default false */
+ force?: boolean;
+ /**
+ * Format: binary
+ * @description The file contents.
+ */
+ file: string;
+ };
+ };
+ };
+ };
+ /**
+ * Delete an existing drive file.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:drive*
+ */
+ "drive/files/delete": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ fileId: string;
+ };
+ };
+ };
+ };
+ /**
+ * Search for a drive file by a hash of the contents.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:drive*
+ */
+ "drive/files/find-by-hash": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["DriveFile"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ md5: string;
+ };
+ };
+ };
+ };
+ /**
+ * Search for a drive file by the given parameters.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:drive*
+ */
+ "drive/files/find": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["DriveFile"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ name: string;
+ /**
+ * Format: misskey:id
+ * @default null
+ */
+ folderId?: string | null;
+ };
+ };
+ };
+ };
+ /**
+ * Show the properties of a drive file.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:drive*
+ */
+ "drive/files/show": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["DriveFile"];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": Partial<{
+ /** Format: misskey:id */
+ fileId: string;
+ }> &
+ Partial<{
+ url: string;
+ }>;
+ };
+ };
+ };
+ /**
+ * Update the properties of a drive file.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:drive*
+ */
+ "drive/files/update": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["DriveFile"];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ fileId: string;
+ /** Format: misskey:id */
+ folderId?: string | null;
+ name?: string;
+ isSensitive?: boolean;
+ comment?: string | null;
+ };
+ };
+ };
+ };
+ /**
+ * Request the server to download a new drive file from the specified URL.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:drive*
+ */
+ "drive/files/upload-from-url": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** To many requests */
+ 429: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ url: string;
+ /**
+ * Format: misskey:id
+ * @default null
+ */
+ folderId?: string | null;
+ /** @default false */
+ isSensitive?: boolean;
+ /** @default null */
+ comment?: string | null;
+ /** @default null */
+ marker?: string | null;
+ /** @default false */
+ force?: boolean;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:drive*
+ */
+ "drive/folders": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["DriveFolder"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** @default 10 */
+ limit?: number;
+ /** Format: misskey:id */
+ sinceId?: string;
+ /** Format: misskey:id */
+ untilId?: string;
+ /**
+ * Format: misskey:id
+ * @default null
+ */
+ folderId?: string | null;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:drive*
+ */
+ "drive/folders/create": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["DriveFolder"];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** @default Untitled */
+ name?: string;
+ /** Format: misskey:id */
+ parentId?: string | null;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:drive*
+ */
+ "drive/folders/delete": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ folderId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:drive*
+ */
+ "drive/folders/find": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["DriveFolder"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ name: string;
+ /**
+ * Format: misskey:id
+ * @default null
+ */
+ parentId?: string | null;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:drive*
+ */
+ "drive/folders/show": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["DriveFolder"];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ folderId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:drive*
+ */
+ "drive/folders/update": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["DriveFolder"];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ folderId: string;
+ name?: string;
+ /** Format: misskey:id */
+ parentId?: string | null;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:drive*
+ */
+ "drive/stream": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["DriveFile"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** @default 10 */
+ limit?: number;
+ /** Format: misskey:id */
+ sinceId?: string;
+ /** Format: misskey:id */
+ untilId?: string;
+ type?: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ "email-address/available": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": {
+ available: boolean;
+ reason: string | null;
+ };
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ emailAddress: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ endpoint: {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ endpoint: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ endpoints: {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": string[];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": { [key: string]: unknown };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ "federation/followers": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["Following"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ host: string;
+ /** Format: misskey:id */
+ sinceId?: string;
+ /** Format: misskey:id */
+ untilId?: string;
+ /** @default 10 */
+ limit?: number;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ "federation/following": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["Following"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ host: string;
+ /** Format: misskey:id */
+ sinceId?: string;
+ /** Format: misskey:id */
+ untilId?: string;
+ /** @default 10 */
+ limit?: number;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ "federation/instances": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["FederationInstance"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** @description Omit or use `null` to not filter by host. */
+ host?: string | null;
+ blocked?: boolean | null;
+ notResponding?: boolean | null;
+ suspended?: boolean | null;
+ federating?: boolean | null;
+ subscribing?: boolean | null;
+ publishing?: boolean | null;
+ /** @default 30 */
+ limit?: number;
+ /** @default 0 */
+ offset?: number;
+ sort?: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ "federation/show-instance": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json":
+ | components["schemas"]["FederationInstance"]
+ | unknown;
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ host: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ "federation/update-remote-user": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ userId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ "federation/users": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["UserDetailedNotMe"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ host: string;
+ /** Format: misskey:id */
+ sinceId?: string;
+ /** Format: misskey:id */
+ untilId?: string;
+ /** @default 10 */
+ limit?: number;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ "federation/stats": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** @default 10 */
+ limit?: number;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:following*
+ */
+ "following/create": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["UserLite"];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** To many requests */
+ 429: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ userId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:following*
+ */
+ "following/delete": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["UserLite"];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** To many requests */
+ 429: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ userId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:following*
+ */
+ "following/invalidate": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["UserLite"];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** To many requests */
+ 429: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ userId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:following*
+ */
+ "following/requests/accept": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ userId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:following*
+ */
+ "following/requests/cancel": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["UserLite"];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ userId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:following*
+ */
+ "following/requests/list": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": {
+ /** Format: id */
+ id: string;
+ follower: components["schemas"]["UserLite"];
+ followee: components["schemas"]["UserLite"];
+ }[];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": { [key: string]: unknown };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:following*
+ */
+ "following/requests/reject": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ userId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ "gallery/featured": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["GalleryPost"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": { [key: string]: unknown };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ "gallery/popular": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["GalleryPost"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": { [key: string]: unknown };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ "gallery/posts": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["GalleryPost"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** @default 10 */
+ limit?: number;
+ /** Format: misskey:id */
+ sinceId?: string;
+ /** Format: misskey:id */
+ untilId?: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:gallery*
+ */
+ "gallery/posts/create": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["GalleryPost"];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** To many requests */
+ 429: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ title: string;
+ description?: string | null;
+ fileIds: string[];
+ /** @default false */
+ isSensitive?: boolean;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:gallery*
+ */
+ "gallery/posts/delete": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ postId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:gallery-likes*
+ */
+ "gallery/posts/like": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ postId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ "gallery/posts/show": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["GalleryPost"];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ postId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:gallery-likes*
+ */
+ "gallery/posts/unlike": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ postId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:gallery*
+ */
+ "gallery/posts/update": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["GalleryPost"];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** To many requests */
+ 429: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ postId: string;
+ title: string;
+ description?: string | null;
+ fileIds: string[];
+ /** @default false */
+ isSensitive?: boolean;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ "get-online-users-count": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": { [key: string]: unknown };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ "hashtags/list": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["Hashtag"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** @default 10 */
+ limit?: number;
+ /** @default false */
+ attachedToUserOnly?: boolean;
+ /** @default false */
+ attachedToLocalUserOnly?: boolean;
+ /** @default false */
+ attachedToRemoteUserOnly?: boolean;
+ /** @enum {string} */
+ sort:
+ | "+mentionedUsers"
+ | "-mentionedUsers"
+ | "+mentionedLocalUsers"
+ | "-mentionedLocalUsers"
+ | "+mentionedRemoteUsers"
+ | "-mentionedRemoteUsers"
+ | "+attachedUsers"
+ | "-attachedUsers"
+ | "+attachedLocalUsers"
+ | "-attachedLocalUsers"
+ | "+attachedRemoteUsers"
+ | "-attachedRemoteUsers";
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ "hashtags/search": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": string[];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** @default 10 */
+ limit?: number;
+ query: string;
+ /** @default 0 */
+ offset?: number;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ "hashtags/show": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["Hashtag"];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ tag: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ "hashtags/trend": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": {
+ tag: string;
+ chart: number[];
+ usersCount: number;
+ }[];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": { [key: string]: unknown };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ "hashtags/users": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["UserDetailed"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ tag: string;
+ /** @default 10 */
+ limit?: number;
+ /** @enum {string} */
+ sort:
+ | "+follower"
+ | "-follower"
+ | "+createdAt"
+ | "-createdAt"
+ | "+updatedAt"
+ | "-updatedAt";
+ /**
+ * @default all
+ * @enum {string}
+ */
+ state?: "all" | "alive";
+ /**
+ * @default local
+ * @enum {string}
+ */
+ origin?: "combined" | "local" | "remote";
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ i: {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["MeDetailed"];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": { [key: string]: unknown };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:favorites*
+ */
+ "i/favorites": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["NoteFavorite"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** @default 10 */
+ limit?: number;
+ /** Format: misskey:id */
+ sinceId?: string;
+ /** Format: misskey:id */
+ untilId?: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:gallery-likes*
+ */
+ "i/gallery/likes": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": {
+ /** Format: id */
+ id: string;
+ post: components["schemas"]["GalleryPost"];
+ }[];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** @default 10 */
+ limit?: number;
+ /** Format: misskey:id */
+ sinceId?: string;
+ /** Format: misskey:id */
+ untilId?: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:gallery*
+ */
+ "i/gallery/posts": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["GalleryPost"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** @default 10 */
+ limit?: number;
+ /** Format: misskey:id */
+ sinceId?: string;
+ /** Format: misskey:id */
+ untilId?: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:account*
+ */
+ "i/get-word-muted-notes-count": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": {
+ count: number;
+ };
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": { [key: string]: unknown };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:notifications*
+ */
+ "i/notifications": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["Notification"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** To many requests */
+ 429: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** @default 10 */
+ limit?: number;
+ /** Format: misskey:id */
+ sinceId?: string;
+ /** Format: misskey:id */
+ untilId?: string;
+ /** @default false */
+ following?: boolean;
+ /** @default false */
+ unreadOnly?: boolean;
+ /** @default true */
+ markAsRead?: boolean;
+ includeTypes?: (
+ | "follow"
+ | "mention"
+ | "reply"
+ | "renote"
+ | "quote"
+ | "reaction"
+ | "pollVote"
+ | "pollEnded"
+ | "receiveFollowRequest"
+ | "followRequestAccepted"
+ | "groupInvited"
+ | "app"
+ )[];
+ excludeTypes?: (
+ | "follow"
+ | "mention"
+ | "reply"
+ | "renote"
+ | "quote"
+ | "reaction"
+ | "pollVote"
+ | "pollEnded"
+ | "receiveFollowRequest"
+ | "followRequestAccepted"
+ | "groupInvited"
+ | "app"
+ )[];
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:page-likes*
+ */
+ "i/page-likes": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": {
+ /** Format: id */
+ id: string;
+ page: components["schemas"]["Page"];
+ }[];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** @default 10 */
+ limit?: number;
+ /** Format: misskey:id */
+ sinceId?: string;
+ /** Format: misskey:id */
+ untilId?: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:pages*
+ */
+ "i/pages": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["Page"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** @default 10 */
+ limit?: number;
+ /** Format: misskey:id */
+ sinceId?: string;
+ /** Format: misskey:id */
+ untilId?: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:account*
+ */
+ "i/pin": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["MeDetailed"];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ noteId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:account*
+ */
+ "i/read-all-messaging-messages": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": { [key: string]: unknown };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:account*
+ */
+ "i/read-all-unread-notes": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": { [key: string]: unknown };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:account*
+ */
+ "i/read-announcement": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ announcementId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:account*
+ */
+ "i/unpin": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["MeDetailed"];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ noteId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:account*
+ */
+ "i/update": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["MeDetailed"];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ name?: string | null;
+ description?: string | null;
+ location?: string | null;
+ birthday?: string | null;
+ /** @enum {string|null} */
+ lang?:
+ | (
+ | null
+ | "ach"
+ | "ady"
+ | "af"
+ | "af-NA"
+ | "af-ZA"
+ | "ak"
+ | "ar"
+ | "ar-AR"
+ | "ar-MA"
+ | "ar-SA"
+ | "ay-BO"
+ | "az"
+ | "az-AZ"
+ | "be-BY"
+ | "bg"
+ | "bg-BG"
+ | "bn"
+ | "bn-IN"
+ | "bn-BD"
+ | "br"
+ | "bs-BA"
+ | "ca"
+ | "ca-ES"
+ | "cak"
+ | "ck-US"
+ | "cs"
+ | "cs-CZ"
+ | "cy"
+ | "cy-GB"
+ | "da"
+ | "da-DK"
+ | "de"
+ | "de-AT"
+ | "de-DE"
+ | "de-CH"
+ | "dsb"
+ | "el"
+ | "el-GR"
+ | "en"
+ | "en-GB"
+ | "en-AU"
+ | "en-CA"
+ | "en-IE"
+ | "en-IN"
+ | "en-PI"
+ | "en-SG"
+ | "en-UD"
+ | "en-US"
+ | "en-ZA"
+ | "en@pirate"
+ | "eo"
+ | "eo-EO"
+ | "es"
+ | "es-AR"
+ | "es-419"
+ | "es-CL"
+ | "es-CO"
+ | "es-EC"
+ | "es-ES"
+ | "es-LA"
+ | "es-NI"
+ | "es-MX"
+ | "es-US"
+ | "es-VE"
+ | "et"
+ | "et-EE"
+ | "eu"
+ | "eu-ES"
+ | "fa"
+ | "fa-IR"
+ | "fb-LT"
+ | "ff"
+ | "fi"
+ | "fi-FI"
+ | "fo"
+ | "fo-FO"
+ | "fr"
+ | "fr-CA"
+ | "fr-FR"
+ | "fr-BE"
+ | "fr-CH"
+ | "fy-NL"
+ | "ga"
+ | "ga-IE"
+ | "gd"
+ | "gl"
+ | "gl-ES"
+ | "gn-PY"
+ | "gu-IN"
+ | "gv"
+ | "gx-GR"
+ | "he"
+ | "he-IL"
+ | "hi"
+ | "hi-IN"
+ | "hr"
+ | "hr-HR"
+ | "hsb"
+ | "ht"
+ | "hu"
+ | "hu-HU"
+ | "hy"
+ | "hy-AM"
+ | "id"
+ | "id-ID"
+ | "is"
+ | "is-IS"
+ | "it"
+ | "it-IT"
+ | "ja"
+ | "ja-JP"
+ | "jv-ID"
+ | "ka-GE"
+ | "kk-KZ"
+ | "km"
+ | "kl"
+ | "km-KH"
+ | "kab"
+ | "kn"
+ | "kn-IN"
+ | "ko"
+ | "ko-KR"
+ | "ku-TR"
+ | "kw"
+ | "la"
+ | "la-VA"
+ | "lb"
+ | "li-NL"
+ | "lt"
+ | "lt-LT"
+ | "lv"
+ | "lv-LV"
+ | "mai"
+ | "mg-MG"
+ | "mk"
+ | "mk-MK"
+ | "ml"
+ | "ml-IN"
+ | "mn-MN"
+ | "mr"
+ | "mr-IN"
+ | "ms"
+ | "ms-MY"
+ | "mt"
+ | "mt-MT"
+ | "my"
+ | "no"
+ | "nb"
+ | "nb-NO"
+ | "ne"
+ | "ne-NP"
+ | "nl"
+ | "nl-BE"
+ | "nl-NL"
+ | "nn-NO"
+ | "oc"
+ | "or-IN"
+ | "pa"
+ | "pa-IN"
+ | "pl"
+ | "pl-PL"
+ | "ps-AF"
+ | "pt"
+ | "pt-BR"
+ | "pt-PT"
+ | "qu-PE"
+ | "rm-CH"
+ | "ro"
+ | "ro-RO"
+ | "ru"
+ | "ru-RU"
+ | "sa-IN"
+ | "se-NO"
+ | "sh"
+ | "si-LK"
+ | "sk"
+ | "sk-SK"
+ | "sl"
+ | "sl-SI"
+ | "so-SO"
+ | "sq"
+ | "sq-AL"
+ | "sr"
+ | "sr-RS"
+ | "su"
+ | "sv"
+ | "sv-SE"
+ | "sw"
+ | "sw-KE"
+ | "ta"
+ | "ta-IN"
+ | "te"
+ | "te-IN"
+ | "tg"
+ | "tg-TJ"
+ | "th"
+ | "th-TH"
+ | "fil"
+ | "tlh"
+ | "tr"
+ | "tr-TR"
+ | "tt-RU"
+ | "uk"
+ | "uk-UA"
+ | "ur"
+ | "ur-PK"
+ | "uz"
+ | "uz-UZ"
+ | "vi"
+ | "vi-VN"
+ | "xh-ZA"
+ | "yi"
+ | "yi-DE"
+ | "zh"
+ | "zh-Hans"
+ | "zh-Hant"
+ | "zh-CN"
+ | "zh-HK"
+ | "zh-SG"
+ | "zh-TW"
+ | "zu-ZA"
+ )
+ | null;
+ /** Format: misskey:id */
+ avatarId?: string | null;
+ /** Format: misskey:id */
+ bannerId?: string | null;
+ fields?: {
+ name: string;
+ value: string;
+ }[];
+ isLocked?: boolean;
+ isExplorable?: boolean;
+ hideOnlineStatus?: boolean;
+ publicReactions?: boolean;
+ carefulBot?: boolean;
+ autoAcceptFollowed?: boolean;
+ noCrawle?: boolean;
+ isBot?: boolean;
+ isCat?: boolean;
+ showTimelineReplies?: boolean;
+ injectFeaturedNote?: boolean;
+ receiveAnnouncementEmail?: boolean;
+ alwaysMarkNsfw?: boolean;
+ /** @enum {string} */
+ ffVisibility?: "public" | "followers" | "private";
+ pinnedPageId?: string[];
+ mutedWords?: unknown[];
+ mutedInstances?: string[];
+ mutingNotificationTypes?: (
+ | "follow"
+ | "mention"
+ | "reply"
+ | "renote"
+ | "quote"
+ | "reaction"
+ | "pollVote"
+ | "pollEnded"
+ | "receiveFollowRequest"
+ | "followRequestAccepted"
+ | "groupInvited"
+ | "app"
+ )[];
+ emailNotificationTypes?: string[];
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:user-groups*
+ */
+ "i/user-group-invites": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": {
+ /** Format: id */
+ id: string;
+ group: components["schemas"]["UserGroup"];
+ }[];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** @default 10 */
+ limit?: number;
+ /** Format: misskey:id */
+ sinceId?: string;
+ /** Format: misskey:id */
+ untilId?: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:account*
+ */
+ "i/webhooks/create": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ name: string;
+ url: string;
+ secret: string;
+ on: (
+ | "mention"
+ | "unfollow"
+ | "follow"
+ | "followed"
+ | "note"
+ | "reply"
+ | "renote"
+ | "reaction"
+ )[];
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:account*
+ */
+ "i/webhooks/list": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": { [key: string]: unknown };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:account*
+ */
+ "i/webhooks/show": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ webhookId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:account*
+ */
+ "i/webhooks/update": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ webhookId: string;
+ name: string;
+ url: string;
+ secret: string;
+ on: (
+ | "mention"
+ | "unfollow"
+ | "follow"
+ | "followed"
+ | "note"
+ | "reply"
+ | "renote"
+ | "reaction"
+ )[];
+ active: boolean;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:account*
+ */
+ "i/webhooks/delete": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ webhookId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:messaging*
+ */
+ "messaging/history": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["MessagingMessage"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** @default 10 */
+ limit?: number;
+ /** @default false */
+ group?: boolean;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:messaging*
+ */
+ "messaging/messages": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["MessagingMessage"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": (Partial<{
+ /** Format: misskey:id */
+ userId: string;
+ }> &
+ Partial<{
+ /** Format: misskey:id */
+ groupId: string;
+ }>) & {
+ /** @default 10 */
+ limit?: number;
+ /** Format: misskey:id */
+ sinceId?: string;
+ /** Format: misskey:id */
+ untilId?: string;
+ /** @default true */
+ markAsRead?: boolean;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:messaging*
+ */
+ "messaging/messages/create": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["MessagingMessage"];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": (Partial<{
+ /** Format: misskey:id */
+ userId: string;
+ }> &
+ Partial<{
+ /** Format: misskey:id */
+ groupId: string;
+ }>) & {
+ text?: string | null;
+ /** Format: misskey:id */
+ fileId?: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:messaging*
+ */
+ "messaging/messages/delete": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** To many requests */
+ 429: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ messageId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:messaging*
+ */
+ "messaging/messages/read": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ messageId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ meta: {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": {
+ maintainerName: string | null;
+ maintainerEmail: string | null;
+ /** @example 13.0.0-preview.1 */
+ version: string;
+ name: string;
+ /**
+ * Format: url
+ * @example https://misskey.example.com
+ */
+ uri: string;
+ description: string | null;
+ langs: string[];
+ tosUrl: string | null;
+ defaultDarkTheme: string | null;
+ defaultLightTheme: string | null;
+ disableRegistration: boolean;
+ disableLocalTimeline: boolean;
+ disableGlobalTimeline: boolean;
+ driveCapacityPerLocalUserMb: number;
+ driveCapacityPerRemoteUserMb: number;
+ cacheRemoteFiles: boolean;
+ emailRequiredForSignup: boolean;
+ enableHcaptcha: boolean;
+ hcaptchaSiteKey: string | null;
+ enableRecaptcha: boolean;
+ recaptchaSiteKey: string | null;
+ swPublickey: string | null;
+ bannerUrl: string;
+ iconUrl: string | null;
+ maxNoteTextLength: number;
+ emojis: {
+ /** Format: id */
+ id: string;
+ aliases: string[];
+ category: string | null;
+ /** @description The local host is represented with `null`. */
+ host: string | null;
+ /** Format: url */
+ url: string;
+ }[];
+ /** @example false */
+ requireSetup: boolean;
+ enableEmail: boolean;
+ enableTwitterIntegration: boolean;
+ enableGithubIntegration: boolean;
+ enableDiscordIntegration: boolean;
+ enableServiceWorker: boolean;
+ translatorAvailable: boolean;
+ proxyAccountName: string | null;
+ features?: {
+ registration: boolean;
+ localTimeLine: boolean;
+ globalTimeLine: boolean;
+ elasticsearch: boolean;
+ hcaptcha: boolean;
+ recaptcha: boolean;
+ objectStorage: boolean;
+ twitter: boolean;
+ github: boolean;
+ discord: boolean;
+ serviceWorker: boolean;
+ /** @default true */
+ miauth?: boolean;
+ };
+ };
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** @default true */
+ detail?: boolean;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:mutes*
+ */
+ "mute/create": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ userId: string;
+ /** @description A Unix Epoch timestamp that must lie in the future. `null` means an indefinite mute. */
+ expiresAt?: number | null;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:mutes*
+ */
+ "mute/delete": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ userId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:mutes*
+ */
+ "mute/list": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["Muting"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** @default 30 */
+ limit?: number;
+ /** Format: misskey:id */
+ sinceId?: string;
+ /** Format: misskey:id */
+ untilId?: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ "my/apps": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["App"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** @default 10 */
+ limit?: number;
+ /** @default 0 */
+ offset?: number;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ notes: {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["Note"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** @default false */
+ local?: boolean;
+ reply?: boolean;
+ renote?: boolean;
+ withFiles?: boolean;
+ poll?: boolean;
+ /** @default 10 */
+ limit?: number;
+ /** Format: misskey:id */
+ sinceId?: string;
+ /** Format: misskey:id */
+ untilId?: string;
+ };
+ };
+ };
+ };
+ /**
+ * Get a list of children of a notes. Children includes replies as well as quote renotes that quote the respective post. A post will not be duplicated if it is a reply and a quote of a note in this thread. For depths larger than 1 the threading has to be computed by the client.
+ *
+ * **Credential required**: *No*
+ */
+ "notes/children": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["Note"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ noteId: string;
+ /**
+ * @description The maximum number of replies/quotes to show per parent note, i.e. the maximum number of children each note may have.
+ * @default 10
+ */
+ limit?: number;
+ /**
+ * @description The number of layers of replies to fetch at once. Defaults to 1 for backward compatibility.
+ * @default 1
+ */
+ depth?: number;
+ /** Format: misskey:id */
+ sinceId?: string;
+ /** Format: misskey:id */
+ untilId?: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ "notes/clips": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["Clip"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ noteId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ "notes/conversation": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["Note"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ noteId: string;
+ /** @default 10 */
+ limit?: number;
+ /** @default 0 */
+ offset?: number;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:notes*
+ */
+ "notes/create": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": {
+ createdNote: components["schemas"]["Note"];
+ };
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** To many requests */
+ 429: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": (Partial<{
+ text: string;
+ }> &
+ Partial<{
+ poll: { [key: string]: unknown };
+ }>) & {
+ /**
+ * @description The visibility of the new note. Must be the same or more restrictive than a replied to or quoted note.
+ * @default public
+ * @enum {string}
+ */
+ visibility?: "public" | "home" | "followers" | "specified";
+ visibleUserIds?: string[];
+ text?: string | null;
+ cw?: string | null;
+ /** @default false */
+ localOnly?: boolean;
+ /** @default false */
+ noExtractMentions?: boolean;
+ /** @default false */
+ noExtractHashtags?: boolean;
+ /** @default false */
+ noExtractEmojis?: boolean;
+ fileIds?: string[];
+ /**
+ * @deprecated
+ * @description Use `fileIds` instead. If both are specified, this property is discarded.
+ */
+ mediaIds?: string[];
+ /** Format: misskey:id */
+ replyId?: string | null;
+ /** Format: misskey:id */
+ renoteId?: string | null;
+ /** Format: misskey:id */
+ channelId?: string | null;
+ poll?: {
+ choices: string[];
+ /** @default false */
+ multiple?: boolean;
+ expiresAt?: number | null;
+ expiredAfter?: number | null;
+ } | null;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:notes*
+ */
+ "notes/delete": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** To many requests */
+ 429: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ noteId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:favorites*
+ */
+ "notes/favorites/create": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ noteId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:favorites*
+ */
+ "notes/favorites/delete": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ noteId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ "notes/featured": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["Note"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** @default 10 */
+ limit?: number;
+ /** @default 0 */
+ offset?: number;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ "notes/global-timeline": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["Note"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /**
+ * @description Only show notes that have attached files.
+ * @default false
+ */
+ withFiles?: boolean;
+ /** @default 10 */
+ limit?: number;
+ /** Format: misskey:id */
+ sinceId?: string;
+ /** Format: misskey:id */
+ untilId?: string;
+ sinceDate?: number;
+ untilDate?: number;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ "notes/hybrid-timeline": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["Note"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** @default 10 */
+ limit?: number;
+ /** Format: misskey:id */
+ sinceId?: string;
+ /** Format: misskey:id */
+ untilId?: string;
+ sinceDate?: number;
+ untilDate?: number;
+ /** @default true */
+ includeMyRenotes?: boolean;
+ /** @default true */
+ includeRenotedMyNotes?: boolean;
+ /** @default true */
+ includeLocalRenotes?: boolean;
+ /**
+ * @description Only show notes that have attached files.
+ * @default false
+ */
+ withFiles?: boolean;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ "notes/local-timeline": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["Note"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /**
+ * @description Only show notes that have attached files.
+ * @default false
+ */
+ withFiles?: boolean;
+ fileType?: string[];
+ /** @default false */
+ excludeNsfw?: boolean;
+ /** @default 10 */
+ limit?: number;
+ /** Format: misskey:id */
+ sinceId?: string;
+ /** Format: misskey:id */
+ untilId?: string;
+ sinceDate?: number;
+ untilDate?: number;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ "notes/mentions": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["Note"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** @default false */
+ following?: boolean;
+ /** @default 10 */
+ limit?: number;
+ /** Format: misskey:id */
+ sinceId?: string;
+ /** Format: misskey:id */
+ untilId?: string;
+ visibility?: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ "notes/polls/recommendation": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["Note"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** @default 10 */
+ limit?: number;
+ /** @default 0 */
+ offset?: number;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:votes*
+ */
+ "notes/polls/vote": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ noteId: string;
+ choice: number;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ "notes/reactions": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["NoteReaction"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ noteId: string;
+ type?: string | null;
+ /** @default 10 */
+ limit?: number;
+ /** @default 0 */
+ offset?: number;
+ /** Format: misskey:id */
+ sinceId?: string;
+ /** Format: misskey:id */
+ untilId?: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:reactions*
+ */
+ "notes/reactions/create": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ noteId: string;
+ reaction: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:reactions*
+ */
+ "notes/reactions/delete": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** To many requests */
+ 429: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ noteId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ "notes/renotes": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["Note"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ noteId: string;
+ /** @default 10 */
+ limit?: number;
+ /** Format: misskey:id */
+ sinceId?: string;
+ /** Format: misskey:id */
+ untilId?: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ "notes/replies": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["Note"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ noteId: string;
+ /** Format: misskey:id */
+ sinceId?: string;
+ /** Format: misskey:id */
+ untilId?: string;
+ /** @default 10 */
+ limit?: number;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ "notes/search-by-tag": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["Note"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": (Partial<{
+ tag: string;
+ }> &
+ Partial<{
+ /** @description The outer arrays are chained with OR, the inner arrays are chained with AND. */
+ query: string[][];
+ }>) & {
+ /** @default null */
+ reply?: boolean | null;
+ /** @default null */
+ renote?: boolean | null;
+ /**
+ * @description Only show notes that have attached files.
+ * @default false
+ */
+ withFiles?: boolean;
+ /** @default null */
+ poll?: boolean | null;
+ /** Format: misskey:id */
+ sinceId?: string;
+ /** Format: misskey:id */
+ untilId?: string;
+ /** @default 10 */
+ limit?: number;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ "notes/search": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["Note"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ query: string;
+ /** Format: misskey:id */
+ sinceId?: string;
+ /** Format: misskey:id */
+ untilId?: string;
+ /** @default 10 */
+ limit?: number;
+ /** @default 0 */
+ offset?: number;
+ /** @description The local host is represented with `null`. */
+ host?: string | null;
+ /**
+ * Format: misskey:id
+ * @default null
+ */
+ userId?: string | null;
+ /**
+ * Format: misskey:id
+ * @default null
+ */
+ channelId?: string | null;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ "notes/show": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["Note"];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ noteId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ "notes/state": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": {
+ isFavorited: boolean;
+ isWatching: boolean;
+ isMutedThread: boolean;
+ };
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ noteId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:account*
+ */
+ "notes/thread-muting/create": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ noteId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:account*
+ */
+ "notes/thread-muting/delete": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ noteId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ "notes/timeline": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["Note"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** @default 10 */
+ limit?: number;
+ /** Format: misskey:id */
+ sinceId?: string;
+ /** Format: misskey:id */
+ untilId?: string;
+ sinceDate?: number;
+ untilDate?: number;
+ /** @default true */
+ includeMyRenotes?: boolean;
+ /** @default true */
+ includeRenotedMyNotes?: boolean;
+ /** @default true */
+ includeLocalRenotes?: boolean;
+ /**
+ * @description Only show notes that have attached files.
+ * @default false
+ */
+ withFiles?: boolean;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ "notes/translate": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": { [key: string]: unknown };
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ noteId: string;
+ targetLang: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:notes*
+ */
+ "notes/unrenote": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** To many requests */
+ 429: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ noteId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes*
+ */
+ "notes/user-list-timeline": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["Note"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ listId: string;
+ /** @default 10 */
+ limit?: number;
+ /** Format: misskey:id */
+ sinceId?: string;
+ /** Format: misskey:id */
+ untilId?: string;
+ sinceDate?: number;
+ untilDate?: number;
+ /** @default true */
+ includeMyRenotes?: boolean;
+ /** @default true */
+ includeRenotedMyNotes?: boolean;
+ /** @default true */
+ includeLocalRenotes?: boolean;
+ /**
+ * @description Only show notes that have attached files.
+ * @default false
+ */
+ withFiles?: boolean;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:account*
+ */
+ "notes/watching/create": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ noteId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:account*
+ */
+ "notes/watching/delete": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ noteId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:notifications*
+ */
+ "notifications/create": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ body: string;
+ header?: string | null;
+ icon?: string | null;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:notifications*
+ */
+ "notifications/mark-all-as-read": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": { [key: string]: unknown };
+ };
+ };
+ };
+ /**
+ * Mark a notification as read.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:notifications*
+ */
+ "notifications/read": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json":
+ | {
+ /** Format: misskey:id */
+ notificationId: string;
+ }
+ | {
+ notificationIds: string[];
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:pages*
+ */
+ "pages/create": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["Page"];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** To many requests */
+ 429: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ title: string;
+ name: string;
+ summary?: string | null;
+ text: string;
+ /** Format: misskey:id */
+ eyeCatchingImageId?: string | null;
+ /**
+ * @default sans-serif
+ * @enum {string}
+ */
+ font?: "serif" | "sans-serif";
+ /** @default false */
+ alignCenter?: boolean;
+ /** @default false */
+ hideTitleWhenPinned?: boolean;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:pages*
+ */
+ "pages/delete": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ pageId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ "pages/featured": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["Page"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": { [key: string]: unknown };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:page-likes*
+ */
+ "pages/like": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ pageId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ "pages/show": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["Page"];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": Partial<{
+ /** Format: misskey:id */
+ pageId: string;
+ }> &
+ Partial<{
+ name: string;
+ username: string;
+ }>;
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:page-likes*
+ */
+ "pages/unlike": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ pageId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:pages*
+ */
+ "pages/update": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** To many requests */
+ 429: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ pageId: string;
+ title: string;
+ name: string;
+ summary?: string | null;
+ text: string;
+ /** Format: misskey:id */
+ eyeCatchingImageId?: string | null;
+ /** @enum {string} */
+ font?: "serif" | "sans-serif";
+ alignCenter?: boolean;
+ hideTitleWhenPinned?: boolean;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ ping: {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": {
+ pong: number;
+ };
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": { [key: string]: unknown };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ "pinned-users": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["UserDetailed"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": { [key: string]: unknown };
+ };
+ };
+ };
+ /**
+ * Request a users password to be reset.
+ *
+ * **Credential required**: *No*
+ */
+ "request-reset-password": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** To many requests */
+ 429: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ username: string;
+ email: string;
+ };
+ };
+ };
+ };
+ /**
+ * Only available when running with NODE_ENV=testing
. Reset the database and flush Redis.
+ *
+ * **Credential required**: *No*
+ */
+ "reset-db": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": { [key: string]: unknown };
+ };
+ };
+ };
+ /**
+ * Complete the password reset that was previously requested.
+ *
+ * **Credential required**: *No*
+ */
+ "reset-password": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ token: string;
+ password: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ "server-info": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": { [key: string]: unknown };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ stats: {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": {
+ notesCount: number;
+ originalNotesCount: number;
+ usersCount: number;
+ originalUsersCount: number;
+ instances: number;
+ driveUsageLocal: number;
+ driveUsageRemote: number;
+ };
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": { [key: string]: unknown };
+ };
+ };
+ };
+ /**
+ * Register to receive push notifications.
+ *
+ * **Credential required**: *Yes*
+ */
+ "sw/register": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": {
+ /** @enum {string} */
+ state?: "already-subscribed" | "subscribed";
+ key: string | null;
+ };
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ endpoint: string;
+ auth: string;
+ publickey: string;
+ };
+ };
+ };
+ };
+ /**
+ * Unregister from receiving push notifications.
+ *
+ * **Credential required**: *Yes*
+ */
+ "sw/unregister": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ endpoint: string;
+ };
+ };
+ };
+ };
+ /**
+ * Endpoint for testing input validation.
+ *
+ * **Credential required**: *No*
+ */
+ test: {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ required: boolean;
+ string?: string;
+ /** @default hello */
+ default?: string;
+ /** @default hello */
+ nullableDefault?: string | null;
+ /** Format: misskey:id */
+ id?: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ "username/available": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": {
+ available: boolean;
+ };
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ username: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ users: {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["UserDetailed"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** @default 10 */
+ limit?: number;
+ /** @default 0 */
+ offset?: number;
+ /** @enum {string} */
+ sort?:
+ | "+follower"
+ | "-follower"
+ | "+createdAt"
+ | "-createdAt"
+ | "+updatedAt"
+ | "-updatedAt";
+ /**
+ * @default all
+ * @enum {string}
+ */
+ state?: "all" | "admin" | "moderator" | "adminOrModerator" | "alive";
+ /**
+ * @default local
+ * @enum {string}
+ */
+ origin?: "combined" | "local" | "remote";
+ /**
+ * @description The local host is represented with `null`.
+ * @default null
+ */
+ hostname?: string | null;
+ };
+ };
+ };
+ };
+ /**
+ * Show all clips this user owns.
+ *
+ * **Credential required**: *No*
+ */
+ "users/clips": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["Clip"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ userId: string;
+ /** @default 10 */
+ limit?: number;
+ /** Format: misskey:id */
+ sinceId?: string;
+ /** Format: misskey:id */
+ untilId?: string;
+ };
+ };
+ };
+ };
+ /**
+ * Show everyone that follows this user.
+ *
+ * **Credential required**: *No*
+ */
+ "users/followers": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["Following"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": (Partial<{
+ /** Format: misskey:id */
+ userId: string;
+ }> &
+ Partial<{
+ username: string;
+ /** @description The local host is represented with `null`. */
+ host: string | null;
+ }>) & {
+ /** Format: misskey:id */
+ sinceId?: string;
+ /** Format: misskey:id */
+ untilId?: string;
+ /** @default 10 */
+ limit?: number;
+ };
+ };
+ };
+ };
+ /**
+ * Show everyone that this user is following.
+ *
+ * **Credential required**: *No*
+ */
+ "users/following": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["Following"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": (Partial<{
+ /** Format: misskey:id */
+ userId: string;
+ }> &
+ Partial<{
+ username: string;
+ /** @description The local host is represented with `null`. */
+ host: string | null;
+ }>) & {
+ /** Format: misskey:id */
+ sinceId?: string;
+ /** Format: misskey:id */
+ untilId?: string;
+ /** @default 10 */
+ limit?: number;
+ };
+ };
+ };
+ };
+ /**
+ * Show all gallery posts by the given user.
+ *
+ * **Credential required**: *No*
+ */
+ "users/gallery/posts": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["GalleryPost"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ userId: string;
+ /** @default 10 */
+ limit?: number;
+ /** Format: misskey:id */
+ sinceId?: string;
+ /** Format: misskey:id */
+ untilId?: string;
+ };
+ };
+ };
+ };
+ /**
+ * Get a list of other users that the specified user frequently replies to.
+ *
+ * **Credential required**: *No*
+ */
+ "users/get-frequently-replied-users": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": {
+ user: components["schemas"]["UserDetailed"];
+ weight: number;
+ }[];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ userId: string;
+ /** @default 10 */
+ limit?: number;
+ };
+ };
+ };
+ };
+ /**
+ * Create a new group.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:user-groups*
+ */
+ "users/groups/create": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["UserGroup"];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ name: string;
+ };
+ };
+ };
+ };
+ /**
+ * Delete an existing group.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:user-groups*
+ */
+ "users/groups/delete": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ groupId: string;
+ };
+ };
+ };
+ };
+ /**
+ * Join a group the authenticated user has been invited to.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:user-groups*
+ */
+ "users/groups/invitations/accept": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ invitationId: string;
+ };
+ };
+ };
+ };
+ /**
+ * Delete an existing group invitation for the authenticated user without joining the group.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:user-groups*
+ */
+ "users/groups/invitations/reject": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ invitationId: string;
+ };
+ };
+ };
+ };
+ /**
+ * Invite a user to an existing group.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:user-groups*
+ */
+ "users/groups/invite": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ groupId: string;
+ /** Format: misskey:id */
+ userId: string;
+ };
+ };
+ };
+ };
+ /**
+ * List the groups that the authenticated user is a member of.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:user-groups*
+ */
+ "users/groups/joined": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["UserGroup"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": { [key: string]: unknown };
+ };
+ };
+ };
+ /**
+ * Leave a group. The owner of a group can not leave. They must transfer ownership or delete the group instead.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:user-groups*
+ */
+ "users/groups/leave": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ groupId: string;
+ };
+ };
+ };
+ };
+ /**
+ * List the groups that the authenticated user is the owner of.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:user-groups*
+ */
+ "users/groups/owned": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["UserGroup"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": { [key: string]: unknown };
+ };
+ };
+ };
+ /**
+ * Removes a specified user from a group. The owner can not be removed.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:user-groups*
+ */
+ "users/groups/pull": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ groupId: string;
+ /** Format: misskey:id */
+ userId: string;
+ };
+ };
+ };
+ };
+ /**
+ * Show the properties of a group.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:user-groups*
+ */
+ "users/groups/show": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["UserGroup"];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ groupId: string;
+ };
+ };
+ };
+ };
+ /**
+ * Transfer ownership of a group from the authenticated user to another user.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:user-groups*
+ */
+ "users/groups/transfer": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["UserGroup"];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ groupId: string;
+ /** Format: misskey:id */
+ userId: string;
+ };
+ };
+ };
+ };
+ /**
+ * Update the properties of a group.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:user-groups*
+ */
+ "users/groups/update": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["UserGroup"];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ groupId: string;
+ name: string;
+ };
+ };
+ };
+ };
+ /**
+ * Create a new list of users.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:account*
+ */
+ "users/lists/create": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["UserList"];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ name: string;
+ };
+ };
+ };
+ };
+ /**
+ * Delete an existing list of users.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:account*
+ */
+ "users/lists/delete": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ listId: string;
+ };
+ };
+ };
+ };
+ /**
+ * Show all lists that the authenticated user has created.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:account*
+ */
+ "users/lists/list": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["UserList"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": { [key: string]: unknown };
+ };
+ };
+ };
+ /**
+ * Remove a user from a list.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:account*
+ */
+ "users/lists/pull": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ listId: string;
+ /** Format: misskey:id */
+ userId: string;
+ };
+ };
+ };
+ };
+ /**
+ * Add a user to an existing list.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:account*
+ */
+ "users/lists/push": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ listId: string;
+ /** Format: misskey:id */
+ userId: string;
+ };
+ };
+ };
+ };
+ /**
+ * Show the properties of a list.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:account*
+ */
+ "users/lists/show": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["UserList"];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ listId: string;
+ };
+ };
+ };
+ };
+ /**
+ * Update the properties of a list.
+ *
+ * **Credential required**: *Yes* / **Permission**: *write:account*
+ */
+ "users/lists/update": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["UserList"];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ listId: string;
+ name: string;
+ };
+ };
+ };
+ };
+ /**
+ * Show all notes that this user created.
+ *
+ * **Credential required**: *No*
+ */
+ "users/notes": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["Note"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ userId: string;
+ /** @default true */
+ includeReplies?: boolean;
+ /** @default 10 */
+ limit?: number;
+ /** Format: misskey:id */
+ sinceId?: string;
+ /** Format: misskey:id */
+ untilId?: string;
+ sinceDate?: number;
+ untilDate?: number;
+ /** @default true */
+ includeMyRenotes?: boolean;
+ /** @default false */
+ withFiles?: boolean;
+ fileType?: string[];
+ /** @default false */
+ excludeNsfw?: boolean;
+ };
+ };
+ };
+ };
+ /**
+ * Show all pages this user created.
+ *
+ * **Credential required**: *No*
+ */
+ "users/pages": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["Page"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ userId: string;
+ /** @default 10 */
+ limit?: number;
+ /** Format: misskey:id */
+ sinceId?: string;
+ /** Format: misskey:id */
+ untilId?: string;
+ };
+ };
+ };
+ };
+ /**
+ * Show all reactions this user made.
+ *
+ * **Credential required**: *No*
+ */
+ "users/reactions": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["NoteReaction"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ userId: string;
+ /** @default 10 */
+ limit?: number;
+ /** Format: misskey:id */
+ sinceId?: string;
+ /** Format: misskey:id */
+ untilId?: string;
+ sinceDate?: number;
+ untilDate?: number;
+ };
+ };
+ };
+ };
+ /**
+ * Show users that the authenticated user might be interested to follow.
+ *
+ * **Credential required**: *Yes* / **Permission**: *read:account*
+ */
+ "users/recommendation": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["UserDetailed"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** @default 10 */
+ limit?: number;
+ /** @default 0 */
+ offset?: number;
+ };
+ };
+ };
+ };
+ /**
+ * Show the different kinds of relations between the authenticated user and the specified user(s).
+ *
+ * **Credential required**: *Yes*
+ */
+ "users/relation": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json":
+ | {
+ /** Format: id */
+ id: string;
+ isFollowing: boolean;
+ hasPendingFollowRequestFromYou: boolean;
+ hasPendingFollowRequestToYou: boolean;
+ isFollowed: boolean;
+ isBlocking: boolean;
+ isBlocked: boolean;
+ isMuted: boolean;
+ }
+ | {
+ /** Format: id */
+ id: string;
+ isFollowing: boolean;
+ hasPendingFollowRequestFromYou: boolean;
+ hasPendingFollowRequestToYou: boolean;
+ isFollowed: boolean;
+ isBlocking: boolean;
+ isBlocked: boolean;
+ isMuted: boolean;
+ }[];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ userId: Partial & Partial;
+ };
+ };
+ };
+ };
+ /**
+ * File a report.
+ *
+ * **Credential required**: *Yes*
+ */
+ "users/report-abuse": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ userId: string;
+ urls?: string[] | null;
+ comment: string;
+ };
+ };
+ };
+ };
+ /**
+ * Search for a user by username and/or host.
+ *
+ * **Credential required**: *No*
+ */
+ "users/search-by-username-and-host": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["User"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ username?: string | null;
+ host?: string | null;
+ /** @default 10 */
+ limit?: number;
+ /** @default true */
+ detail?: boolean;
+ };
+ };
+ };
+ };
+ /**
+ * Search for users.
+ *
+ * **Credential required**: *No*
+ */
+ "users/search": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": components["schemas"]["User"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ query: string;
+ /** @default 0 */
+ offset?: number;
+ /** @default 10 */
+ limit?: number;
+ /**
+ * @default combined
+ * @enum {string}
+ */
+ origin?: "local" | "remote" | "combined";
+ /** @default true */
+ detail?: boolean;
+ };
+ };
+ };
+ };
+ /**
+ * Show the properties of a user.
+ *
+ * **Credential required**: *No*
+ */
+ "users/show": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json":
+ | components["schemas"]["UserDetailed"]
+ | components["schemas"]["UserDetailed"][];
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": Partial<{
+ /** Format: misskey:id */
+ userId: string;
+ }> &
+ Partial<{
+ userIds: string[];
+ }> &
+ Partial<{
+ username: string;
+ /** @description The local host is represented with `null`. */
+ host?: string | null;
+ }>;
+ };
+ };
+ };
+ /**
+ * Show statistics about a user.
+ *
+ * **Credential required**: *No*
+ */
+ "users/stats": {
+ responses: {
+ /** OK (with results) */
+ 200: {
+ content: {
+ "application/json": {
+ notesCount: number;
+ repliesCount: number;
+ renotesCount: number;
+ repliedCount: number;
+ renotedCount: number;
+ pollVotesCount: number;
+ pollVotedCount: number;
+ localFollowingCount: number;
+ remoteFollowingCount: number;
+ localFollowersCount: number;
+ remoteFollowersCount: number;
+ followingCount: number;
+ followersCount: number;
+ sentReactionsCount: number;
+ receivedReactionsCount: number;
+ noteFavoritesCount: number;
+ pageLikesCount: number;
+ pageLikedCount: number;
+ driveFilesCount: number;
+ /** @description Drive usage in bytes */
+ driveUsage: number;
+ };
+ };
+ };
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ /** Format: misskey:id */
+ userId: string;
+ };
+ };
+ };
+ };
+ /**
+ * No description provided.
+ *
+ * **Credential required**: *No*
+ */
+ "fetch-rss": {
+ responses: {
+ /** OK (without any results) */
+ 204: never;
+ /** Client error */
+ 400: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Authentication error */
+ 401: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Forbidden error */
+ 403: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** I'm Ai */
+ 418: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ /** Internal server error */
+ 500: {
+ content: {
+ "application/json": components["schemas"]["Error"];
+ };
+ };
+ };
+ requestBody: {
+ content: {
+ "application/json": {
+ url: string;
+ };
+ };
+ };
+ };
+}
+
+export interface external {}
diff --git a/packages/foundkey-api-schema/package.json b/packages/foundkey-api-schema/package.json
new file mode 100644
index 000000000..a39f4d913
--- /dev/null
+++ b/packages/foundkey-api-schema/package.json
@@ -0,0 +1,17 @@
+{
+ "name": "foundkey-api-schema",
+ "type": "module",
+ "scripts": {
+ "build": "ts-node --esm -O '{\"module\":\"node16\", \"target\":\"es2022\"}' scripts/dump-json.ts",
+ "prepack": "yarn build"
+ },
+ "main": "generated/lib.ts",
+ "files": [
+ "generated/lib.ts"
+ ],
+ "devDependencies": {
+ "openapi-typescript": "^5.4.1",
+ "ts-node": "^10.9.1",
+ "typescript": "^4.8.3"
+ }
+}
diff --git a/packages/foundkey-api-schema/scripts/dump-json.ts b/packages/foundkey-api-schema/scripts/dump-json.ts
new file mode 100644
index 000000000..23aeb2d0b
--- /dev/null
+++ b/packages/foundkey-api-schema/scripts/dump-json.ts
@@ -0,0 +1,7 @@
+import { writeFileSync, mkdirSync } from 'fs';
+import { schema } from '../src/openapi.js';
+import openapiTS from 'openapi-typescript';
+
+mkdirSync('./generated', {recursive: true});
+writeFileSync('./generated/openapi.json', JSON.stringify(schema));
+writeFileSync('./lib.ts', await openapiTS(schema, {}));
diff --git a/packages/foundkey-api-schema/src/openapi.ts b/packages/foundkey-api-schema/src/openapi.ts
new file mode 100644
index 000000000..7ab580bf7
--- /dev/null
+++ b/packages/foundkey-api-schema/src/openapi.ts
@@ -0,0 +1,56558 @@
+import type { OpenAPI3 } from 'openapi-typescript';
+
+export const schema: OpenAPI3 = {
+ "openapi": "3.0.0",
+ "info": {
+ "version": "v1",
+ "title": "FoundKey API",
+ "x-logo": {
+ "url": "/static-assets/api-doc.png"
+ }
+ },
+ "externalDocs": {
+ "description": "Repository",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey"
+ },
+ "paths": {
+ "/admin/meta": {
+ "post": {
+ "operationId": "admin/meta",
+ "summary": "admin/meta",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/admin/meta.ts"
+ },
+ "tags": [
+ "meta"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {},
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "properties": {
+ "driveCapacityPerLocalUserMb": {
+ "type": "number",
+ "nullable": false
+ },
+ "driveCapacityPerRemoteUserMb": {
+ "type": "number",
+ "nullable": false
+ },
+ "cacheRemoteFiles": {
+ "type": "boolean",
+ "nullable": false
+ },
+ "emailRequiredForSignup": {
+ "type": "boolean",
+ "nullable": false
+ },
+ "enableHcaptcha": {
+ "type": "boolean",
+
+ "nullable": false
+ },
+ "hcaptchaSiteKey": {
+ "type": "string",
+
+ "nullable": true
+ },
+ "enableRecaptcha": {
+ "type": "boolean",
+
+ "nullable": false
+ },
+ "recaptchaSiteKey": {
+ "type": "string",
+
+ "nullable": true
+ },
+ "swPublickey": {
+ "type": "string",
+
+ "nullable": true
+ },
+ "bannerUrl": {
+ "type": "string",
+
+ "nullable": false
+ },
+ "iconUrl": {
+ "type": "string",
+
+ "nullable": true
+ },
+ "maxNoteTextLength": {
+ "type": "number",
+
+ "nullable": false
+ },
+ "emojis": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "properties": {
+ "id": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "id"
+ },
+ "aliases": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "string",
+
+ "nullable": false
+ }
+ },
+ "category": {
+ "type": "string",
+
+ "nullable": true
+ },
+ "host": {
+ "type": "string",
+
+ "nullable": true
+ },
+ "url": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "url"
+ }
+ },
+ "required": [
+ "id",
+ "aliases",
+ "category",
+ "host",
+ "url"
+ ]
+ }
+ },
+ "enableEmail": {
+ "type": "boolean",
+
+ "nullable": false
+ },
+ "enableTwitterIntegration": {
+ "type": "boolean",
+
+ "nullable": false
+ },
+ "enableGithubIntegration": {
+ "type": "boolean",
+
+ "nullable": false
+ },
+ "enableDiscordIntegration": {
+ "type": "boolean",
+
+ "nullable": false
+ },
+ "enableServiceWorker": {
+ "type": "boolean",
+
+ "nullable": false
+ },
+ "translatorAvailable": {
+ "type": "boolean",
+
+ "nullable": false
+ },
+ "proxyAccountName": {
+ "type": "string",
+
+ "nullable": true
+ },
+ "userStarForReactionFallback": {
+ "type": "boolean",
+ "optional": true,
+ "nullable": false
+ },
+ "pinnedUsers": {
+ "type": "array",
+ "optional": true,
+ "nullable": false,
+ "items": {
+ "type": "string",
+
+ "nullable": false
+ }
+ },
+ "hiddenTags": {
+ "type": "array",
+ "optional": true,
+ "nullable": false,
+ "items": {
+ "type": "string",
+
+ "nullable": false
+ }
+ },
+ "blockedHosts": {
+ "type": "array",
+ "optional": true,
+ "nullable": false,
+ "items": {
+ "type": "string",
+
+ "nullable": false
+ }
+ },
+ "hcaptchaSecretKey": {
+ "type": "string",
+ "optional": true,
+ "nullable": true
+ },
+ "recaptchaSecretKey": {
+ "type": "string",
+ "optional": true,
+ "nullable": true
+ },
+ "proxyAccountId": {
+ "type": "string",
+ "optional": true,
+ "nullable": true,
+ "format": "id"
+ },
+ "twitterConsumerKey": {
+ "type": "string",
+ "optional": true,
+ "nullable": true
+ },
+ "twitterConsumerSecret": {
+ "type": "string",
+ "optional": true,
+ "nullable": true
+ },
+ "githubClientId": {
+ "type": "string",
+ "optional": true,
+ "nullable": true
+ },
+ "githubClientSecret": {
+ "type": "string",
+ "optional": true,
+ "nullable": true
+ },
+ "discordClientId": {
+ "type": "string",
+ "optional": true,
+ "nullable": true
+ },
+ "discordClientSecret": {
+ "type": "string",
+ "optional": true,
+ "nullable": true
+ },
+ "summaryProxy": {
+ "type": "string",
+ "optional": true,
+ "nullable": true
+ },
+ "email": {
+ "type": "string",
+ "optional": true,
+ "nullable": true
+ },
+ "smtpSecure": {
+ "type": "boolean",
+ "optional": true,
+ "nullable": false
+ },
+ "smtpHost": {
+ "type": "string",
+ "optional": true,
+ "nullable": true
+ },
+ "smtpPort": {
+ "type": "string",
+ "optional": true,
+ "nullable": true
+ },
+ "smtpUser": {
+ "type": "string",
+ "optional": true,
+ "nullable": true
+ },
+ "smtpPass": {
+ "type": "string",
+ "optional": true,
+ "nullable": true
+ },
+ "swPrivateKey": {
+ "type": "string",
+ "optional": true,
+ "nullable": true
+ },
+ "useObjectStorage": {
+ "type": "boolean",
+ "optional": true,
+ "nullable": false
+ },
+ "objectStorageBaseUrl": {
+ "type": "string",
+ "optional": true,
+ "nullable": true
+ },
+ "objectStorageBucket": {
+ "type": "string",
+ "optional": true,
+ "nullable": true
+ },
+ "objectStoragePrefix": {
+ "type": "string",
+ "optional": true,
+ "nullable": true
+ },
+ "objectStorageEndpoint": {
+ "type": "string",
+ "optional": true,
+ "nullable": true
+ },
+ "objectStorageRegion": {
+ "type": "string",
+ "optional": true,
+ "nullable": true
+ },
+ "objectStoragePort": {
+ "type": "number",
+ "optional": true,
+ "nullable": true
+ },
+ "objectStorageAccessKey": {
+ "type": "string",
+ "optional": true,
+ "nullable": true
+ },
+ "objectStorageSecretKey": {
+ "type": "string",
+ "optional": true,
+ "nullable": true
+ },
+ "objectStorageUseSSL": {
+ "type": "boolean",
+ "optional": true,
+ "nullable": false
+ },
+ "objectStorageUseProxy": {
+ "type": "boolean",
+ "optional": true,
+ "nullable": false
+ },
+ "objectStorageSetPublicRead": {
+ "type": "boolean",
+ "optional": true,
+ "nullable": false
+ }
+ },
+ "required": [
+ "driveCapacityPerLocalUserMb",
+ "driveCapacityPerRemoteUserMb",
+ "cacheRemoteFiles",
+ "emailRequiredForSignup",
+ "enableHcaptcha",
+ "hcaptchaSiteKey",
+ "enableRecaptcha",
+ "recaptchaSiteKey",
+ "swPublickey",
+ "bannerUrl",
+ "iconUrl",
+ "maxNoteTextLength",
+ "emojis",
+ "enableEmail",
+ "enableTwitterIntegration",
+ "enableGithubIntegration",
+ "enableDiscordIntegration",
+ "enableServiceWorker",
+ "translatorAvailable",
+ "proxyAccountName"
+ ]
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/admin/abuse-user-reports": {
+ "post": {
+ "operationId": "admin/abuse-user-reports",
+ "summary": "admin/abuse-user-reports",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/admin/abuse-user-reports.ts"
+ },
+ "tags": [
+ "admin"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ },
+ "sinceId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "untilId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "state": {
+ "type": "string",
+ "nullable": true,
+ "default": null
+ },
+ "reporterOrigin": {
+ "type": "string",
+ "enum": [
+ "combined",
+ "local",
+ "remote"
+ ],
+ "default": "combined"
+ },
+ "targetUserOrigin": {
+ "type": "string",
+ "enum": [
+ "combined",
+ "local",
+ "remote"
+ ],
+ "default": "combined"
+ }
+ },
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "properties": {
+ "id": {
+ "type": "string",
+ "nullable": false,
+
+ "format": "id",
+ "example": "xxxxxxxxxx"
+ },
+ "createdAt": {
+ "type": "string",
+ "nullable": false,
+
+ "format": "date-time"
+ },
+ "comment": {
+ "type": "string",
+ "nullable": false,
+ "optional": false
+ },
+ "resolved": {
+ "type": "boolean",
+ "nullable": false,
+
+ "example": false
+ },
+ "reporterId": {
+ "type": "string",
+ "nullable": false,
+
+ "format": "id"
+ },
+ "targetUserId": {
+ "type": "string",
+ "nullable": false,
+
+ "format": "id"
+ },
+ "assigneeId": {
+ "type": "string",
+ "nullable": true,
+
+ "format": "id"
+ },
+ "reporter": {
+ "type": "object",
+ "nullable": false,
+
+ "ref": "User",
+ "$ref": "#/components/schemas/User"
+ },
+ "targetUser": {
+ "type": "object",
+ "nullable": false,
+
+ "ref": "User",
+ "$ref": "#/components/schemas/User"
+ },
+ "assignee": {
+ "type": "object",
+ "nullable": true,
+ "optional": true,
+ "ref": "User",
+ "$ref": "#/components/schemas/User"
+ },
+ "forwarded": {
+ "type": "boolean",
+ "nullable": false,
+
+ "example": false
+ }
+ },
+ "required": [
+ "id",
+ "createdAt",
+ "comment",
+ "resolved",
+ "reporterId",
+ "targetUserId",
+ "assigneeId",
+ "reporter",
+ "targetUser",
+ "forwarded"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/admin/accounts/create": {
+ "post": {
+ "operationId": "admin/accounts/create",
+ "summary": "admin/accounts/create",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/admin/accounts/create.ts"
+ },
+ "tags": [
+ "admin"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "username": {
+ "type": "string",
+ "pattern": "^\\w{1,20}$"
+ },
+ "password": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": [
+ "username",
+ "password"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "User",
+ "properties": {
+ "token": {
+ "type": "string",
+
+ "nullable": false
+ }
+ },
+ "required": [
+ "token"
+ ],
+ "$ref": "#/components/schemas/User"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/admin/accounts/delete": {
+ "post": {
+ "operationId": "admin/accounts/delete",
+ "summary": "admin/accounts/delete",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/admin/accounts/delete.ts"
+ },
+ "tags": [
+ "admin"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "userId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "userId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/admin/announcements/create": {
+ "post": {
+ "operationId": "admin/announcements/create",
+ "summary": "admin/announcements/create",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/admin/announcements/create.ts"
+ },
+ "tags": [
+ "admin"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string",
+ "minLength": 1
+ },
+ "text": {
+ "type": "string",
+ "minLength": 1
+ },
+ "imageUrl": {
+ "type": "string",
+ "nullable": true,
+ "minLength": 1
+ }
+ },
+ "required": [
+ "title",
+ "text",
+ "imageUrl"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "properties": {
+ "id": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "id",
+ "example": "xxxxxxxxxx"
+ },
+ "createdAt": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "date-time"
+ },
+ "updatedAt": {
+ "type": "string",
+
+ "nullable": true,
+ "format": "date-time"
+ },
+ "title": {
+ "type": "string",
+
+ "nullable": false
+ },
+ "text": {
+ "type": "string",
+
+ "nullable": false
+ },
+ "imageUrl": {
+ "type": "string",
+
+ "nullable": true
+ }
+ },
+ "required": [
+ "id",
+ "createdAt",
+ "updatedAt",
+ "title",
+ "text",
+ "imageUrl"
+ ]
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/admin/announcements/delete": {
+ "post": {
+ "operationId": "admin/announcements/delete",
+ "summary": "admin/announcements/delete",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/admin/announcements/delete.ts"
+ },
+ "tags": [
+ "admin"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "id"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_ANNOUNCEMENT": {
+ "value": {
+ "error": {
+ "message": "No such announcement.",
+ "code": "NO_SUCH_ANNOUNCEMENT",
+ "id": "ecad8040-a276-4e85-bda9-015a708d291e"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/admin/announcements/list": {
+ "post": {
+ "operationId": "admin/announcements/list",
+ "summary": "admin/announcements/list",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/admin/announcements/list.ts"
+ },
+ "tags": [
+ "admin"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ },
+ "sinceId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "untilId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "properties": {
+ "id": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "id",
+ "example": "xxxxxxxxxx"
+ },
+ "createdAt": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "date-time"
+ },
+ "updatedAt": {
+ "type": "string",
+
+ "nullable": true,
+ "format": "date-time"
+ },
+ "text": {
+ "type": "string",
+
+ "nullable": false
+ },
+ "title": {
+ "type": "string",
+
+ "nullable": false
+ },
+ "imageUrl": {
+ "type": "string",
+
+ "nullable": true
+ },
+ "reads": {
+ "type": "number",
+
+ "nullable": false
+ }
+ },
+ "required": [
+ "id",
+ "createdAt",
+ "updatedAt",
+ "text",
+ "title",
+ "imageUrl",
+ "reads"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/admin/announcements/update": {
+ "post": {
+ "operationId": "admin/announcements/update",
+ "summary": "admin/announcements/update",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/admin/announcements/update.ts"
+ },
+ "tags": [
+ "admin"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "title": {
+ "type": "string",
+ "minLength": 1
+ },
+ "text": {
+ "type": "string",
+ "minLength": 1
+ },
+ "imageUrl": {
+ "type": "string",
+ "nullable": true,
+ "minLength": 1
+ }
+ },
+ "required": [
+ "id",
+ "title",
+ "text",
+ "imageUrl"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_ANNOUNCEMENT": {
+ "value": {
+ "error": {
+ "message": "No such announcement.",
+ "code": "NO_SUCH_ANNOUNCEMENT",
+ "id": "d3aae5a7-6372-4cb4-b61c-f511ffc2d7cc"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/admin/delete-all-files-of-a-user": {
+ "post": {
+ "operationId": "admin/delete-all-files-of-a-user",
+ "summary": "admin/delete-all-files-of-a-user",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/admin/delete-all-files-of-a-user.ts"
+ },
+ "tags": [
+ "admin"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "userId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "userId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/admin/drive/clean-remote-files": {
+ "post": {
+ "operationId": "admin/drive/clean-remote-files",
+ "summary": "admin/drive/clean-remote-files",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/admin/drive/clean-remote-files.ts"
+ },
+ "tags": [
+ "admin"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {},
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/admin/drive/files": {
+ "post": {
+ "operationId": "admin/drive/files",
+ "summary": "admin/drive/files",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/admin/drive/files.ts"
+ },
+ "tags": [
+ "admin"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ },
+ "sinceId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "untilId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "userId": {
+ "type": "string",
+ "format": "misskey:id",
+ "nullable": true
+ },
+ "type": {
+ "type": "string",
+ "nullable": true,
+ "pattern": "^[a-zA-Z0-9\\/\\-*]+$"
+ },
+ "origin": {
+ "type": "string",
+ "enum": [
+ "combined",
+ "local",
+ "remote"
+ ],
+ "default": "local"
+ },
+ "hostname": {
+ "type": "string",
+ "nullable": true,
+ "default": null,
+ "description": "The local host is represented with `null`."
+ }
+ },
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "DriveFile",
+ "$ref": "#/components/schemas/DriveFile"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/admin/drive/show-file": {
+ "post": {
+ "operationId": "admin/drive/show-file",
+ "summary": "admin/drive/show-file",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/admin/drive/show-file.ts"
+ },
+ "tags": [
+ "admin"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "anyOf": [
+ {
+ "properties": {
+ "fileId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "fileId"
+ ]
+ },
+ {
+ "properties": {
+ "url": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "url"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "properties": {
+ "id": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "id",
+ "example": "xxxxxxxxxx"
+ },
+ "createdAt": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "date-time"
+ },
+ "userId": {
+ "type": "string",
+
+ "nullable": true,
+ "format": "id",
+ "example": "xxxxxxxxxx"
+ },
+ "userHost": {
+ "type": "string",
+
+ "nullable": true,
+ "description": "The local host is represented with `null`."
+ },
+ "md5": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "md5",
+ "example": "15eca7fba0480996e2245f5185bf39f2"
+ },
+ "name": {
+ "type": "string",
+
+ "nullable": false,
+ "example": "lenna.jpg"
+ },
+ "type": {
+ "type": "string",
+
+ "nullable": false,
+ "example": "image/jpeg"
+ },
+ "size": {
+ "type": "number",
+
+ "nullable": false,
+ "example": 51469
+ },
+ "comment": {
+ "type": "string",
+
+ "nullable": true
+ },
+ "blurhash": {
+ "type": "string",
+
+ "nullable": true
+ },
+ "properties": {
+ "type": "object",
+
+ "nullable": false,
+ "properties": {
+ "width": {
+ "type": "number",
+
+ "nullable": false,
+ "example": 1280
+ },
+ "height": {
+ "type": "number",
+
+ "nullable": false,
+ "example": 720
+ },
+ "avgColor": {
+ "type": "string",
+ "optional": true,
+ "nullable": false,
+ "example": "rgb(40,65,87)"
+ }
+ },
+ "required": [
+ "width",
+ "height"
+ ]
+ },
+ "storedInternal": {
+ "type": "boolean",
+
+ "nullable": true,
+ "example": true
+ },
+ "url": {
+ "type": "string",
+
+ "nullable": true,
+ "format": "url"
+ },
+ "thumbnailUrl": {
+ "type": "string",
+
+ "nullable": true,
+ "format": "url"
+ },
+ "webpublicUrl": {
+ "type": "string",
+
+ "nullable": true,
+ "format": "url"
+ },
+ "accessKey": {
+ "type": "string",
+
+ "nullable": false
+ },
+ "thumbnailAccessKey": {
+ "type": "string",
+
+ "nullable": false
+ },
+ "webpublicAccessKey": {
+ "type": "string",
+
+ "nullable": false
+ },
+ "uri": {
+ "type": "string",
+
+ "nullable": true
+ },
+ "src": {
+ "type": "string",
+
+ "nullable": true
+ },
+ "folderId": {
+ "type": "string",
+
+ "nullable": true,
+ "format": "id",
+ "example": "xxxxxxxxxx"
+ },
+ "isSensitive": {
+ "type": "boolean",
+
+ "nullable": false
+ },
+ "isLink": {
+ "type": "boolean",
+
+ "nullable": false
+ }
+ },
+ "required": [
+ "id",
+ "createdAt",
+ "userId",
+ "userHost",
+ "md5",
+ "name",
+ "type",
+ "size",
+ "comment",
+ "blurhash",
+ "properties",
+ "storedInternal",
+ "url",
+ "thumbnailUrl",
+ "webpublicUrl",
+ "accessKey",
+ "thumbnailAccessKey",
+ "webpublicAccessKey",
+ "uri",
+ "src",
+ "folderId",
+ "isSensitive",
+ "isLink"
+ ]
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_FILE": {
+ "value": {
+ "error": {
+ "message": "No such file.",
+ "code": "NO_SUCH_FILE",
+ "id": "caf3ca38-c6e5-472e-a30c-b05377dcc240"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/admin/emoji/add-aliases-bulk": {
+ "post": {
+ "operationId": "admin/emoji/add-aliases-bulk",
+ "summary": "admin/emoji/add-aliases-bulk",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/admin/emoji/add-aliases-bulk.ts"
+ },
+ "tags": [
+ "admin"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "ids": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "aliases": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "ids",
+ "aliases"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/admin/emoji/add": {
+ "post": {
+ "operationId": "admin/emoji/add",
+ "summary": "admin/emoji/add",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/admin/emoji/add.ts"
+ },
+ "tags": [
+ "admin"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "fileId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "fileId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "MO_SUCH_FILE": {
+ "value": {
+ "error": {
+ "message": "No such file.",
+ "code": "MO_SUCH_FILE",
+ "id": "fc46b5a4-6b92-4c33-ac66-b806659bb5cf"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/admin/emoji/copy": {
+ "post": {
+ "operationId": "admin/emoji/copy",
+ "summary": "admin/emoji/copy",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/admin/emoji/copy.ts"
+ },
+ "tags": [
+ "admin"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "emojiId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "emojiId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "properties": {
+ "id": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "id"
+ }
+ },
+ "required": [
+ "id"
+ ]
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_EMOJI": {
+ "value": {
+ "error": {
+ "message": "No such emoji.",
+ "code": "NO_SUCH_EMOJI",
+ "id": "e2785b66-dca3-4087-9cac-b93c541cc425"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/admin/emoji/delete-bulk": {
+ "post": {
+ "operationId": "admin/emoji/delete-bulk",
+ "summary": "admin/emoji/delete-bulk",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/admin/emoji/delete-bulk.ts"
+ },
+ "tags": [
+ "admin"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "ids": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ }
+ },
+ "required": [
+ "ids"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/admin/emoji/delete": {
+ "post": {
+ "operationId": "admin/emoji/delete",
+ "summary": "admin/emoji/delete",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/admin/emoji/delete.ts"
+ },
+ "tags": [
+ "admin"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "id"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_EMOJI": {
+ "value": {
+ "error": {
+ "message": "No such emoji.",
+ "code": "NO_SUCH_EMOJI",
+ "id": "be83669b-773a-44b7-b1f8-e5e5170ac3c2"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/admin/emoji/list-remote": {
+ "post": {
+ "operationId": "admin/emoji/list-remote",
+ "summary": "admin/emoji/list-remote",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/admin/emoji/list-remote.ts"
+ },
+ "tags": [
+ "admin"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "query": {
+ "type": "string",
+ "nullable": true,
+ "default": null
+ },
+ "host": {
+ "type": "string",
+ "nullable": true,
+ "default": null,
+ "description": "Use `null` to represent the local host."
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ },
+ "sinceId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "untilId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "properties": {
+ "id": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "id"
+ },
+ "aliases": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "string",
+
+ "nullable": false
+ }
+ },
+ "name": {
+ "type": "string",
+
+ "nullable": false
+ },
+ "category": {
+ "type": "string",
+
+ "nullable": true
+ },
+ "host": {
+ "type": "string",
+
+ "nullable": true,
+ "description": "The local host is represented with `null`."
+ },
+ "url": {
+ "type": "string",
+
+ "nullable": false
+ }
+ },
+ "required": [
+ "id",
+ "aliases",
+ "name",
+ "category",
+ "host",
+ "url"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/admin/emoji/list": {
+ "post": {
+ "operationId": "admin/emoji/list",
+ "summary": "admin/emoji/list",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/admin/emoji/list.ts"
+ },
+ "tags": [
+ "admin"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "query": {
+ "type": "string",
+ "nullable": true,
+ "default": null
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ },
+ "sinceId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "untilId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "properties": {
+ "id": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "id"
+ },
+ "aliases": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "string",
+
+ "nullable": false
+ }
+ },
+ "name": {
+ "type": "string",
+
+ "nullable": false
+ },
+ "category": {
+ "type": "string",
+
+ "nullable": true
+ },
+ "host": {
+ "type": "null",
+
+ "description": "The local host is represented with `null`. The field exists for compatibility with other API endpoints that return files."
+ },
+ "url": {
+ "type": "string",
+
+ "nullable": false
+ }
+ },
+ "required": [
+ "id",
+ "aliases",
+ "name",
+ "category",
+ "host",
+ "url"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/admin/emoji/remove-aliases-bulk": {
+ "post": {
+ "operationId": "admin/emoji/remove-aliases-bulk",
+ "summary": "admin/emoji/remove-aliases-bulk",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/admin/emoji/remove-aliases-bulk.ts"
+ },
+ "tags": [
+ "admin"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "ids": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "aliases": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "ids",
+ "aliases"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/admin/emoji/set-aliases-bulk": {
+ "post": {
+ "operationId": "admin/emoji/set-aliases-bulk",
+ "summary": "admin/emoji/set-aliases-bulk",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/admin/emoji/set-aliases-bulk.ts"
+ },
+ "tags": [
+ "admin"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "ids": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "aliases": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "ids",
+ "aliases"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/admin/emoji/set-category-bulk": {
+ "post": {
+ "operationId": "admin/emoji/set-category-bulk",
+ "summary": "admin/emoji/set-category-bulk",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/admin/emoji/set-category-bulk.ts"
+ },
+ "tags": [
+ "admin"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "ids": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "category": {
+ "type": "string",
+ "nullable": true,
+ "description": "Use `null` to reset the category."
+ }
+ },
+ "required": [
+ "ids"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/admin/emoji/update": {
+ "post": {
+ "operationId": "admin/emoji/update",
+ "summary": "admin/emoji/update",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/admin/emoji/update.ts"
+ },
+ "tags": [
+ "admin"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "name": {
+ "type": "string"
+ },
+ "category": {
+ "type": "string",
+ "nullable": true,
+ "description": "Use `null` to reset the category."
+ },
+ "aliases": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "id",
+ "name",
+ "aliases"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_EMOJI": {
+ "value": {
+ "error": {
+ "message": "No such emoji.",
+ "code": "NO_SUCH_EMOJI",
+ "id": "684dec9d-a8c2-4364-9aa8-456c49cb1dc8"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/admin/federation/delete-all-files": {
+ "post": {
+ "operationId": "admin/federation/delete-all-files",
+ "summary": "admin/federation/delete-all-files",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/admin/federation/delete-all-files.ts"
+ },
+ "tags": [
+ "admin"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "host": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "host"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/admin/federation/refresh-remote-instance-metadata": {
+ "post": {
+ "operationId": "admin/federation/refresh-remote-instance-metadata",
+ "summary": "admin/federation/refresh-remote-instance-metadata",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/admin/federation/refresh-remote-instance-metadata.ts"
+ },
+ "tags": [
+ "admin"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "host": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "host"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/admin/federation/remove-all-following": {
+ "post": {
+ "operationId": "admin/federation/remove-all-following",
+ "summary": "admin/federation/remove-all-following",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/admin/federation/remove-all-following.ts"
+ },
+ "tags": [
+ "admin"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "host": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "host"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/admin/federation/update-instance": {
+ "post": {
+ "operationId": "admin/federation/update-instance",
+ "summary": "admin/federation/update-instance",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/admin/federation/update-instance.ts"
+ },
+ "tags": [
+ "admin"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "host": {
+ "type": "string"
+ },
+ "isSuspended": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "host",
+ "isSuspended"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/admin/get-index-stats": {
+ "post": {
+ "operationId": "admin/get-index-stats",
+ "summary": "admin/get-index-stats",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/admin/get-index-stats.ts"
+ },
+ "tags": [
+ "admin"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {},
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/admin/get-table-stats": {
+ "post": {
+ "operationId": "admin/get-table-stats",
+ "summary": "admin/get-table-stats",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/admin/get-table-stats.ts"
+ },
+ "tags": [
+ "admin"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {},
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "example": {
+ "migrations": {
+ "count": 66,
+ "size": 32768
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/admin/invite": {
+ "post": {
+ "operationId": "admin/invite",
+ "summary": "admin/invite",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/admin/invite.ts"
+ },
+ "tags": [
+ "admin"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {},
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "properties": {
+ "code": {
+ "type": "string",
+
+ "nullable": false,
+ "example": "2ERUA5VR",
+ "maxLength": 8,
+ "minLength": 8
+ }
+ },
+ "required": [
+ "code"
+ ]
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/admin/moderators/add": {
+ "post": {
+ "operationId": "admin/moderators/add",
+ "summary": "admin/moderators/add",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/admin/moderators/add.ts"
+ },
+ "tags": [
+ "admin"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "userId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "userId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/admin/moderators/remove": {
+ "post": {
+ "operationId": "admin/moderators/remove",
+ "summary": "admin/moderators/remove",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/admin/moderators/remove.ts"
+ },
+ "tags": [
+ "admin"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "userId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "userId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/admin/queue/clear": {
+ "post": {
+ "operationId": "admin/queue/clear",
+ "summary": "admin/queue/clear",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/admin/queue/clear.ts"
+ },
+ "tags": [
+ "admin"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {},
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/admin/queue/deliver-delayed": {
+ "post": {
+ "operationId": "admin/queue/deliver-delayed",
+ "summary": "admin/queue/deliver-delayed",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/admin/queue/deliver-delayed.ts"
+ },
+ "tags": [
+ "admin"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {},
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ }
+ ]
+ }
+ },
+ "example": [
+ [
+ "example.com",
+ 12
+ ]
+ ]
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/admin/queue/inbox-delayed": {
+ "post": {
+ "operationId": "admin/queue/inbox-delayed",
+ "summary": "admin/queue/inbox-delayed",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/admin/queue/inbox-delayed.ts"
+ },
+ "tags": [
+ "admin"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {},
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ }
+ ]
+ }
+ },
+ "example": [
+ [
+ "example.com",
+ 12
+ ]
+ ]
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/admin/queue/stats": {
+ "post": {
+ "operationId": "admin/queue/stats",
+ "summary": "admin/queue/stats",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/admin/queue/stats.ts"
+ },
+ "tags": [
+ "admin"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {},
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "properties": {
+ "deliver": {
+
+ "nullable": false,
+ "ref": "QueueCount",
+ "$ref": "#/components/schemas/QueueCount"
+ },
+ "inbox": {
+
+ "nullable": false,
+ "ref": "QueueCount",
+ "$ref": "#/components/schemas/QueueCount"
+ },
+ "db": {
+
+ "nullable": false,
+ "ref": "QueueCount",
+ "$ref": "#/components/schemas/QueueCount"
+ },
+ "objectStorage": {
+
+ "nullable": false,
+ "ref": "QueueCount",
+ "$ref": "#/components/schemas/QueueCount"
+ }
+ },
+ "required": [
+ "deliver",
+ "inbox",
+ "db",
+ "objectStorage"
+ ]
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/admin/relays/add": {
+ "post": {
+ "operationId": "admin/relays/add",
+ "summary": "admin/relays/add",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/admin/relays/add.ts"
+ },
+ "tags": [
+ "admin"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "inbox": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "inbox"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "properties": {
+ "id": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "id"
+ },
+ "inbox": {
+ "description": "URL of the inbox, must be a https scheme URL",
+ "type": "string",
+
+ "nullable": false,
+ "format": "url"
+ },
+ "status": {
+ "type": "string",
+
+ "nullable": false,
+ "default": "requesting",
+ "enum": [
+ "requesting",
+ "accepted",
+ "rejected"
+ ]
+ }
+ },
+ "required": [
+ "id",
+ "inbox",
+ "status"
+ ]
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_URL": {
+ "value": {
+ "error": {
+ "message": "Invalid URL",
+ "code": "INVALID_URL",
+ "id": "fb8c92d3-d4e5-44e7-b3d4-800d5cef8b2c"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/admin/relays/list": {
+ "post": {
+ "operationId": "admin/relays/list",
+ "summary": "admin/relays/list",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/admin/relays/list.ts"
+ },
+ "tags": [
+ "admin"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {},
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "properties": {
+ "id": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "id"
+ },
+ "inbox": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "url"
+ },
+ "status": {
+ "type": "string",
+
+ "nullable": false,
+ "default": "requesting",
+ "enum": [
+ "requesting",
+ "accepted",
+ "rejected"
+ ]
+ }
+ },
+ "required": [
+ "id",
+ "inbox",
+ "status"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/admin/relays/remove": {
+ "post": {
+ "operationId": "admin/relays/remove",
+ "summary": "admin/relays/remove",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/admin/relays/remove.ts"
+ },
+ "tags": [
+ "admin"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "inbox": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "inbox"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/admin/reset-password": {
+ "post": {
+ "operationId": "admin/reset-password",
+ "summary": "admin/reset-password",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/admin/reset-password.ts"
+ },
+ "tags": [
+ "admin"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "userId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "userId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "properties": {
+ "password": {
+ "type": "string",
+
+ "nullable": false,
+ "minLength": 8,
+ "maxLength": 8
+ }
+ },
+ "required": [
+ "password"
+ ]
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/admin/resolve-abuse-user-report": {
+ "post": {
+ "operationId": "admin/resolve-abuse-user-report",
+ "summary": "admin/resolve-abuse-user-report",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/admin/resolve-abuse-user-report.ts"
+ },
+ "tags": [
+ "admin"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "reportId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "forward": {
+ "type": "boolean",
+ "default": false
+ }
+ },
+ "required": [
+ "reportId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/admin/send-email": {
+ "post": {
+ "operationId": "admin/send-email",
+ "summary": "admin/send-email",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/admin/send-email.ts"
+ },
+ "tags": [
+ "admin"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "to": {
+ "type": "string"
+ },
+ "subject": {
+ "type": "string"
+ },
+ "text": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "to",
+ "subject",
+ "text"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/admin/server-info": {
+ "post": {
+ "operationId": "admin/server-info",
+ "summary": "admin/server-info",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/admin/server-info.ts"
+ },
+ "tags": [
+ "admin",
+ "meta"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {},
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "properties": {
+ "machine": {
+ "type": "string",
+
+ "nullable": false
+ },
+ "os": {
+ "type": "string",
+
+ "nullable": false,
+ "example": "linux"
+ },
+ "node": {
+ "type": "string",
+
+ "nullable": false
+ },
+ "psql": {
+ "type": "string",
+
+ "nullable": false
+ },
+ "cpu": {
+ "type": "object",
+
+ "nullable": false,
+ "properties": {
+ "model": {
+ "type": "string",
+
+ "nullable": false
+ },
+ "cores": {
+ "type": "number",
+
+ "nullable": false
+ }
+ },
+ "required": [
+ "model",
+ "cores"
+ ]
+ },
+ "mem": {
+ "type": "object",
+
+ "nullable": false,
+ "properties": {
+ "total": {
+ "type": "number",
+
+ "nullable": false,
+ "format": "bytes"
+ }
+ },
+ "required": [
+ "total"
+ ]
+ },
+ "fs": {
+ "type": "object",
+
+ "nullable": false,
+ "properties": {
+ "total": {
+ "type": "number",
+
+ "nullable": false,
+ "format": "bytes"
+ },
+ "used": {
+ "type": "number",
+
+ "nullable": false,
+ "format": "bytes"
+ }
+ },
+ "required": [
+ "total",
+ "used"
+ ]
+ },
+ "net": {
+ "type": "object",
+
+ "nullable": false,
+ "properties": {
+ "interface": {
+ "type": "string",
+
+ "nullable": false,
+ "example": "eth0"
+ }
+ },
+ "required": [
+ "interface"
+ ]
+ }
+ },
+ "required": [
+ "machine",
+ "os",
+ "node",
+ "psql",
+ "cpu",
+ "mem",
+ "fs",
+ "net"
+ ]
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/admin/show-moderation-logs": {
+ "post": {
+ "operationId": "admin/show-moderation-logs",
+ "summary": "admin/show-moderation-logs",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/admin/show-moderation-logs.ts"
+ },
+ "tags": [
+ "admin"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ },
+ "sinceId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "untilId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "properties": {
+ "id": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "id"
+ },
+ "createdAt": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "date-time"
+ },
+ "type": {
+ "type": "string",
+
+ "nullable": false
+ },
+ "info": {
+ "type": "object",
+
+ "nullable": false
+ },
+ "userId": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "id"
+ },
+ "user": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "UserDetailed",
+ "$ref": "#/components/schemas/UserDetailed"
+ }
+ },
+ "required": [
+ "id",
+ "createdAt",
+ "type",
+ "info",
+ "userId",
+ "user"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/admin/show-user": {
+ "post": {
+ "operationId": "admin/show-user",
+ "summary": "admin/show-user",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/admin/show-user.ts"
+ },
+ "tags": [
+ "admin"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "userId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "userId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "nullable": false,
+ "optional": false
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/admin/show-users": {
+ "post": {
+ "operationId": "admin/show-users",
+ "summary": "admin/show-users",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/admin/show-users.ts"
+ },
+ "tags": [
+ "admin"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ },
+ "offset": {
+ "type": "integer",
+ "default": 0
+ },
+ "sort": {
+ "type": "string",
+ "enum": [
+ "+follower",
+ "-follower",
+ "+createdAt",
+ "-createdAt",
+ "+updatedAt",
+ "-updatedAt"
+ ]
+ },
+ "state": {
+ "type": "string",
+ "enum": [
+ "all",
+ "alive",
+ "available",
+ "admin",
+ "moderator",
+ "adminOrModerator",
+ "silenced",
+ "suspended"
+ ],
+ "default": "all"
+ },
+ "origin": {
+ "type": "string",
+ "enum": [
+ "combined",
+ "local",
+ "remote"
+ ],
+ "default": "local"
+ },
+ "username": {
+ "type": "string",
+ "nullable": true,
+ "default": null
+ },
+ "hostname": {
+ "type": "string",
+ "nullable": true,
+ "default": null,
+ "description": "The local host is represented with `null`."
+ }
+ },
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "nullable": false,
+
+ "items": {
+ "type": "object",
+ "nullable": false,
+
+ "ref": "UserDetailed",
+ "$ref": "#/components/schemas/UserDetailed"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/admin/silence-user": {
+ "post": {
+ "operationId": "admin/silence-user",
+ "summary": "admin/silence-user",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/admin/silence-user.ts"
+ },
+ "tags": [
+ "admin"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "userId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "userId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/admin/suspend-user": {
+ "post": {
+ "operationId": "admin/suspend-user",
+ "summary": "admin/suspend-user",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/admin/suspend-user.ts"
+ },
+ "tags": [
+ "admin"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "userId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "userId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/admin/unsilence-user": {
+ "post": {
+ "operationId": "admin/unsilence-user",
+ "summary": "admin/unsilence-user",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/admin/unsilence-user.ts"
+ },
+ "tags": [
+ "admin"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "userId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "userId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/admin/unsuspend-user": {
+ "post": {
+ "operationId": "admin/unsuspend-user",
+ "summary": "admin/unsuspend-user",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/admin/unsuspend-user.ts"
+ },
+ "tags": [
+ "admin"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "userId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "userId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/admin/update-meta": {
+ "post": {
+ "operationId": "admin/update-meta",
+ "summary": "admin/update-meta",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/admin/update-meta.ts"
+ },
+ "tags": [
+ "admin"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "disableRegistration": {
+ "type": "boolean",
+ "nullable": true
+ },
+ "disableLocalTimeline": {
+ "type": "boolean",
+ "nullable": true
+ },
+ "disableGlobalTimeline": {
+ "type": "boolean",
+ "nullable": true
+ },
+ "useStarForReactionFallback": {
+ "type": "boolean",
+ "nullable": true
+ },
+ "pinnedUsers": {
+ "type": "array",
+ "nullable": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "hiddenTags": {
+ "type": "array",
+ "nullable": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "blockedHosts": {
+ "type": "array",
+ "nullable": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "themeColor": {
+ "type": "string",
+ "nullable": true,
+ "pattern": "^#[0-9a-fA-F]{6}$"
+ },
+ "bannerUrl": {
+ "type": "string",
+ "nullable": true
+ },
+ "iconUrl": {
+ "type": "string",
+ "nullable": true
+ },
+ "backgroundImageUrl": {
+ "type": "string",
+ "nullable": true
+ },
+ "logoImageUrl": {
+ "type": "string",
+ "nullable": true
+ },
+ "name": {
+ "type": "string",
+ "nullable": true
+ },
+ "description": {
+ "type": "string",
+ "nullable": true
+ },
+ "defaultLightTheme": {
+ "type": "string",
+ "nullable": true
+ },
+ "defaultDarkTheme": {
+ "type": "string",
+ "nullable": true
+ },
+ "localDriveCapacityMb": {
+ "type": "integer"
+ },
+ "remoteDriveCapacityMb": {
+ "type": "integer"
+ },
+ "cacheRemoteFiles": {
+ "type": "boolean"
+ },
+ "emailRequiredForSignup": {
+ "type": "boolean"
+ },
+ "enableHcaptcha": {
+ "type": "boolean"
+ },
+ "hcaptchaSiteKey": {
+ "type": "string",
+ "nullable": true
+ },
+ "hcaptchaSecretKey": {
+ "type": "string",
+ "nullable": true
+ },
+ "enableRecaptcha": {
+ "type": "boolean"
+ },
+ "recaptchaSiteKey": {
+ "type": "string",
+ "nullable": true
+ },
+ "recaptchaSecretKey": {
+ "type": "string",
+ "nullable": true
+ },
+ "proxyAccountId": {
+ "type": "string",
+ "format": "misskey:id",
+ "nullable": true
+ },
+ "maintainerName": {
+ "type": "string",
+ "nullable": true
+ },
+ "maintainerEmail": {
+ "type": "string",
+ "nullable": true
+ },
+ "pinnedPages": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "pinnedClipId": {
+ "type": "string",
+ "format": "misskey:id",
+ "nullable": true
+ },
+ "langs": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "summalyProxy": {
+ "type": "string",
+ "nullable": true
+ },
+ "deeplAuthKey": {
+ "type": "string",
+ "nullable": true
+ },
+ "deeplIsPro": {
+ "type": "boolean"
+ },
+ "enableTwitterIntegration": {
+ "type": "boolean"
+ },
+ "twitterConsumerKey": {
+ "type": "string",
+ "nullable": true
+ },
+ "twitterConsumerSecret": {
+ "type": "string",
+ "nullable": true
+ },
+ "enableGithubIntegration": {
+ "type": "boolean"
+ },
+ "githubClientId": {
+ "type": "string",
+ "nullable": true
+ },
+ "githubClientSecret": {
+ "type": "string",
+ "nullable": true
+ },
+ "enableDiscordIntegration": {
+ "type": "boolean"
+ },
+ "discordClientId": {
+ "type": "string",
+ "nullable": true
+ },
+ "discordClientSecret": {
+ "type": "string",
+ "nullable": true
+ },
+ "enableEmail": {
+ "type": "boolean"
+ },
+ "email": {
+ "type": "string",
+ "nullable": true
+ },
+ "smtpSecure": {
+ "type": "boolean"
+ },
+ "smtpHost": {
+ "type": "string",
+ "nullable": true
+ },
+ "smtpPort": {
+ "type": "integer",
+ "nullable": true
+ },
+ "smtpUser": {
+ "type": "string",
+ "nullable": true
+ },
+ "smtpPass": {
+ "type": "string",
+ "nullable": true
+ },
+ "enableServiceWorker": {
+ "type": "boolean"
+ },
+ "swPublicKey": {
+ "type": "string",
+ "nullable": true
+ },
+ "swPrivateKey": {
+ "type": "string",
+ "nullable": true
+ },
+ "tosUrl": {
+ "type": "string",
+ "nullable": true
+ },
+ "useObjectStorage": {
+ "type": "boolean"
+ },
+ "objectStorageBaseUrl": {
+ "type": "string",
+ "nullable": true
+ },
+ "objectStorageBucket": {
+ "type": "string",
+ "nullable": true
+ },
+ "objectStoragePrefix": {
+ "type": "string",
+ "nullable": true
+ },
+ "objectStorageEndpoint": {
+ "type": "string",
+ "nullable": true
+ },
+ "objectStorageRegion": {
+ "type": "string",
+ "nullable": true
+ },
+ "objectStoragePort": {
+ "type": "integer",
+ "nullable": true
+ },
+ "objectStorageAccessKey": {
+ "type": "string",
+ "nullable": true
+ },
+ "objectStorageSecretKey": {
+ "type": "string",
+ "nullable": true
+ },
+ "objectStorageUseSSL": {
+ "type": "boolean"
+ },
+ "objectStorageUseProxy": {
+ "type": "boolean"
+ },
+ "objectStorageSetPublicRead": {
+ "type": "boolean"
+ },
+ "objectStorageS3ForcePathStyle": {
+ "type": "boolean"
+ }
+ },
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/admin/vacuum": {
+ "post": {
+ "operationId": "admin/vacuum",
+ "summary": "admin/vacuum",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/admin/vacuum.ts"
+ },
+ "tags": [
+ "admin"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "full": {
+ "type": "boolean"
+ },
+ "analyze": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "full",
+ "analyze"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/admin/delete-account": {
+ "post": {
+ "operationId": "admin/delete-account",
+ "summary": "admin/delete-account",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/admin/delete-account.ts"
+ },
+ "tags": [
+ "admin"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "userId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "userId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {}
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/announcements": {
+ "post": {
+ "operationId": "announcements",
+ "summary": "announcements",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/announcements.ts"
+ },
+ "tags": [
+ "meta"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ },
+ "withUnreads": {
+ "type": "boolean",
+ "default": false
+ },
+ "sinceId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "untilId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "properties": {
+ "id": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "id",
+ "example": "xxxxxxxxxx"
+ },
+ "createdAt": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "date-time"
+ },
+ "updatedAt": {
+ "type": "string",
+
+ "nullable": true,
+ "format": "date-time"
+ },
+ "text": {
+ "type": "string",
+
+ "nullable": false
+ },
+ "title": {
+ "type": "string",
+
+ "nullable": false
+ },
+ "imageUrl": {
+ "type": "string",
+
+ "nullable": true
+ },
+ "isRead": {
+ "type": "boolean",
+ "optional": true,
+ "nullable": false
+ }
+ },
+ "required": [
+ "id",
+ "createdAt",
+ "updatedAt",
+ "text",
+ "title",
+ "imageUrl"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/antennas/create": {
+ "post": {
+ "operationId": "antennas/create",
+ "summary": "antennas/create",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:account*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/antennas/create.ts"
+ },
+ "tags": [
+ "antennas"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 100
+ },
+ "src": {
+ "type": "string",
+ "enum": [
+ "home",
+ "all",
+ "users",
+ "list",
+ "group"
+ ]
+ },
+ "userListId": {
+ "type": "string",
+ "format": "misskey:id",
+ "nullable": true
+ },
+ "userGroupId": {
+ "type": "string",
+ "format": "misskey:id",
+ "nullable": true
+ },
+ "keywords": {
+ "type": "array",
+ "items": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "excludeKeywords": {
+ "type": "array",
+ "items": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "users": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "caseSensitive": {
+ "type": "boolean"
+ },
+ "withReplies": {
+ "type": "boolean"
+ },
+ "withFile": {
+ "type": "boolean"
+ },
+ "notify": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "name",
+ "src",
+ "keywords",
+ "excludeKeywords",
+ "users",
+ "caseSensitive",
+ "withReplies",
+ "withFile",
+ "notify"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "Antenna",
+ "$ref": "#/components/schemas/Antenna"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_USER_LIST": {
+ "value": {
+ "error": {
+ "message": "No such user list.",
+ "code": "NO_SUCH_USER_LIST",
+ "id": "95063e93-a283-4b8b-9aa5-bcdb8df69a7f"
+ }
+ }
+ },
+ "NO_SUCH_USER_GROUP": {
+ "value": {
+ "error": {
+ "message": "No such user group.",
+ "code": "NO_SUCH_USER_GROUP",
+ "id": "aa3c0b9a-8cae-47c0-92ac-202ce5906682"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/antennas/delete": {
+ "post": {
+ "operationId": "antennas/delete",
+ "summary": "antennas/delete",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:account*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/antennas/delete.ts"
+ },
+ "tags": [
+ "antennas"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "antennaId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "antennaId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_ANTENNA": {
+ "value": {
+ "error": {
+ "message": "No such antenna.",
+ "code": "NO_SUCH_ANTENNA",
+ "id": "b34dcf9d-348f-44bb-99d0-6c9314cfe2df"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/antennas/list": {
+ "post": {
+ "operationId": "antennas/list",
+ "summary": "antennas/list",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *read:account*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/antennas/list.ts"
+ },
+ "tags": [
+ "antennas",
+ "account"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {},
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "Antenna",
+ "$ref": "#/components/schemas/Antenna"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/antennas/notes": {
+ "post": {
+ "operationId": "antennas/notes",
+ "summary": "antennas/notes",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *read:account*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/antennas/notes.ts"
+ },
+ "tags": [
+ "antennas",
+ "account",
+ "notes"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "antennaId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ },
+ "sinceId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "untilId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "sinceDate": {
+ "type": "integer"
+ },
+ "untilDate": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "antennaId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "Note",
+ "$ref": "#/components/schemas/Note"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_ANTENNA": {
+ "value": {
+ "error": {
+ "message": "No such antenna.",
+ "code": "NO_SUCH_ANTENNA",
+ "id": "850926e0-fd3b-49b6-b69a-b28a5dbd82fe"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/antennas/show": {
+ "post": {
+ "operationId": "antennas/show",
+ "summary": "antennas/show",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *read:account*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/antennas/show.ts"
+ },
+ "tags": [
+ "antennas",
+ "account"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "antennaId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "antennaId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "Antenna",
+ "$ref": "#/components/schemas/Antenna"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_ANTENNA": {
+ "value": {
+ "error": {
+ "message": "No such antenna.",
+ "code": "NO_SUCH_ANTENNA",
+ "id": "c06569fb-b025-4f23-b22d-1fcd20d2816b"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/antennas/update": {
+ "post": {
+ "operationId": "antennas/update",
+ "summary": "antennas/update",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:account*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/antennas/update.ts"
+ },
+ "tags": [
+ "antennas"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "antennaId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "name": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 100
+ },
+ "src": {
+ "type": "string",
+ "enum": [
+ "home",
+ "all",
+ "users",
+ "list",
+ "group"
+ ]
+ },
+ "userListId": {
+ "type": "string",
+ "format": "misskey:id",
+ "nullable": true
+ },
+ "userGroupId": {
+ "type": "string",
+ "format": "misskey:id",
+ "nullable": true
+ },
+ "keywords": {
+ "type": "array",
+ "items": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "excludeKeywords": {
+ "type": "array",
+ "items": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "users": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "caseSensitive": {
+ "type": "boolean"
+ },
+ "withReplies": {
+ "type": "boolean"
+ },
+ "withFile": {
+ "type": "boolean"
+ },
+ "notify": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "antennaId",
+ "name",
+ "src",
+ "keywords",
+ "excludeKeywords",
+ "users",
+ "caseSensitive",
+ "withReplies",
+ "withFile",
+ "notify"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "Antenna",
+ "$ref": "#/components/schemas/Antenna"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_ANTENNA": {
+ "value": {
+ "error": {
+ "message": "No such antenna.",
+ "code": "NO_SUCH_ANTENNA",
+ "id": "10c673ac-8852-48eb-aa1f-f5b67f069290"
+ }
+ }
+ },
+ "NO_SUCH_USER_LIST": {
+ "value": {
+ "error": {
+ "message": "No such user list.",
+ "code": "NO_SUCH_USER_LIST",
+ "id": "1c6b35c9-943e-48c2-81e4-2844989407f7"
+ }
+ }
+ },
+ "NO_SUCH_USER_GROUP": {
+ "value": {
+ "error": {
+ "message": "No such user group.",
+ "code": "NO_SUCH_USER_GROUP",
+ "id": "109ed789-b6eb-456e-b8a9-6059d567d385"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/ap/get": {
+ "post": {
+ "operationId": "ap/get",
+ "summary": "ap/get",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/ap/get.ts"
+ },
+ "tags": [
+ "federation"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "uri": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "uri"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "To many requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "RATE_LIMIT_EXCEEDED": {
+ "value": {
+ "error": {
+ "message": "Rate limit exceeded. Please try again later.",
+ "code": "RATE_LIMIT_EXCEEDED",
+ "id": "d5826d14-3982-4d2e-8011-b9e9f02499ef"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/ap/show": {
+ "post": {
+ "operationId": "ap/show",
+ "summary": "ap/show",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/ap/show.ts"
+ },
+ "tags": [
+ "federation"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "uri": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "uri"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+
+ "nullable": false,
+ "oneOf": [
+ {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+
+ "nullable": false,
+ "enum": [
+ "User"
+ ]
+ },
+ "object": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "UserDetailedNotMe",
+ "$ref": "#/components/schemas/UserDetailedNotMe"
+ }
+ },
+ "required": [
+ "type",
+ "object"
+ ]
+ },
+ {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+
+ "nullable": false,
+ "enum": [
+ "Note"
+ ]
+ },
+ "object": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "Note",
+ "$ref": "#/components/schemas/Note"
+ }
+ },
+ "required": [
+ "type",
+ "object"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_OBJECT": {
+ "value": {
+ "error": {
+ "message": "No such object.",
+ "code": "NO_SUCH_OBJECT",
+ "id": "dc94d745-1262-4e63-a17d-fecaa57efc82"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "To many requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "RATE_LIMIT_EXCEEDED": {
+ "value": {
+ "error": {
+ "message": "Rate limit exceeded. Please try again later.",
+ "code": "RATE_LIMIT_EXCEEDED",
+ "id": "d5826d14-3982-4d2e-8011-b9e9f02499ef"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/app/create": {
+ "post": {
+ "operationId": "app/create",
+ "summary": "app/create",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/app/create.ts"
+ },
+ "tags": [
+ "app"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "permission": {
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "callbackUrl": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ "required": [
+ "name",
+ "description",
+ "permission"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "App",
+ "$ref": "#/components/schemas/App"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/app/show": {
+ "post": {
+ "operationId": "app/show",
+ "summary": "app/show",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/app/show.ts"
+ },
+ "tags": [
+ "app"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "appId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "appId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "App",
+ "$ref": "#/components/schemas/App"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_APP": {
+ "value": {
+ "error": {
+ "message": "No such app.",
+ "code": "NO_SUCH_APP",
+ "id": "dce83913-2dc6-4093-8a7b-71dbb11718a3"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/auth/session/generate": {
+ "post": {
+ "operationId": "auth/session/generate",
+ "summary": "auth/session/generate",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/auth/session/generate.ts"
+ },
+ "tags": [
+ "auth"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "appSecret": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "appSecret"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "properties": {
+ "token": {
+ "type": "string",
+
+ "nullable": false
+ },
+ "url": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "url"
+ }
+ },
+ "required": [
+ "token",
+ "url"
+ ]
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_APP": {
+ "value": {
+ "error": {
+ "message": "No such app.",
+ "code": "NO_SUCH_APP",
+ "id": "92f93e63-428e-4f2f-a5a4-39e1407fe998"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/auth/session/show": {
+ "post": {
+ "operationId": "auth/session/show",
+ "summary": "auth/session/show",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/auth/session/show.ts"
+ },
+ "tags": [
+ "auth"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "token": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "token"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "properties": {
+ "id": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "id"
+ },
+ "app": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "App",
+ "$ref": "#/components/schemas/App"
+ },
+ "token": {
+ "type": "string",
+
+ "nullable": false
+ }
+ },
+ "required": [
+ "id",
+ "app",
+ "token"
+ ]
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_SESSION": {
+ "value": {
+ "error": {
+ "message": "No such session.",
+ "code": "NO_SUCH_SESSION",
+ "id": "bd72c97d-eba7-4adb-a467-f171b8847250"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/auth/session/userkey": {
+ "post": {
+ "operationId": "auth/session/userkey",
+ "summary": "auth/session/userkey",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/auth/session/userkey.ts"
+ },
+ "tags": [
+ "auth"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "appSecret": {
+ "type": "string"
+ },
+ "token": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "appSecret",
+ "token"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "properties": {
+ "accessToken": {
+ "type": "string",
+
+ "nullable": false
+ },
+ "user": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "UserDetailedNotMe",
+ "$ref": "#/components/schemas/UserDetailedNotMe"
+ }
+ },
+ "required": [
+ "accessToken",
+ "user"
+ ]
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_APP": {
+ "value": {
+ "error": {
+ "message": "No such app.",
+ "code": "NO_SUCH_APP",
+ "id": "fcab192a-2c5a-43b7-8ad8-9b7054d8d40d"
+ }
+ }
+ },
+ "NO_SUCH_SESSION": {
+ "value": {
+ "error": {
+ "message": "No such session.",
+ "code": "NO_SUCH_SESSION",
+ "id": "5b5a1503-8bc8-4bd0-8054-dc189e8cdcb3"
+ }
+ }
+ },
+ "PENDING_SESSION": {
+ "value": {
+ "error": {
+ "message": "This session is not completed yet.",
+ "code": "PENDING_SESSION",
+ "id": "8c8a4145-02cc-4cca-8e66-29ba60445a8e"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/blocking/create": {
+ "post": {
+ "operationId": "blocking/create",
+ "summary": "blocking/create",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:blocks*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/blocking/create.ts"
+ },
+ "tags": [
+ "account"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "userId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "userId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "UserDetailedNotMe",
+ "$ref": "#/components/schemas/UserDetailedNotMe"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_USER": {
+ "value": {
+ "error": {
+ "message": "No such user.",
+ "code": "NO_SUCH_USER",
+ "id": "7cc4f851-e2f1-4621-9633-ec9e1d00c01e"
+ }
+ }
+ },
+ "BLOCKEE_IS_YOURSELF": {
+ "value": {
+ "error": {
+ "message": "Blockee is yourself.",
+ "code": "BLOCKEE_IS_YOURSELF",
+ "id": "88b19138-f28d-42c0-8499-6a31bbd0fdc6"
+ }
+ }
+ },
+ "ALREADY_BLOCKING": {
+ "value": {
+ "error": {
+ "message": "You are already blocking that user.",
+ "code": "ALREADY_BLOCKING",
+ "id": "787fed64-acb9-464a-82eb-afbd745b9614"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "To many requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "RATE_LIMIT_EXCEEDED": {
+ "value": {
+ "error": {
+ "message": "Rate limit exceeded. Please try again later.",
+ "code": "RATE_LIMIT_EXCEEDED",
+ "id": "d5826d14-3982-4d2e-8011-b9e9f02499ef"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/blocking/delete": {
+ "post": {
+ "operationId": "blocking/delete",
+ "summary": "blocking/delete",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:blocks*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/blocking/delete.ts"
+ },
+ "tags": [
+ "account"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "userId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "userId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "UserDetailedNotMe",
+ "$ref": "#/components/schemas/UserDetailedNotMe"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_USER": {
+ "value": {
+ "error": {
+ "message": "No such user.",
+ "code": "NO_SUCH_USER",
+ "id": "8621d8bf-c358-4303-a066-5ea78610eb3f"
+ }
+ }
+ },
+ "BLOCKEE_IS_YOURSELF": {
+ "value": {
+ "error": {
+ "message": "Blockee is yourself.",
+ "code": "BLOCKEE_IS_YOURSELF",
+ "id": "06f6fac6-524b-473c-a354-e97a40ae6eac"
+ }
+ }
+ },
+ "NOT_BLOCKING": {
+ "value": {
+ "error": {
+ "message": "You are not blocking that user.",
+ "code": "NOT_BLOCKING",
+ "id": "291b2efa-60c6-45c0-9f6a-045c8f9b02cd"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "To many requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "RATE_LIMIT_EXCEEDED": {
+ "value": {
+ "error": {
+ "message": "Rate limit exceeded. Please try again later.",
+ "code": "RATE_LIMIT_EXCEEDED",
+ "id": "d5826d14-3982-4d2e-8011-b9e9f02499ef"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/blocking/list": {
+ "post": {
+ "operationId": "blocking/list",
+ "summary": "blocking/list",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *read:blocks*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/blocking/list.ts"
+ },
+ "tags": [
+ "account"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 30
+ },
+ "sinceId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "untilId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "Blocking",
+ "$ref": "#/components/schemas/Blocking"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/channels/create": {
+ "post": {
+ "operationId": "channels/create",
+ "summary": "channels/create",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:channels*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/channels/create.ts"
+ },
+ "tags": [
+ "channels"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 128
+ },
+ "description": {
+ "type": "string",
+ "nullable": true,
+ "minLength": 1,
+ "maxLength": 2048
+ },
+ "bannerId": {
+ "type": "string",
+ "format": "misskey:id",
+ "nullable": true
+ }
+ },
+ "required": [
+ "name"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "Channel",
+ "$ref": "#/components/schemas/Channel"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_FILE": {
+ "value": {
+ "error": {
+ "message": "No such file.",
+ "code": "NO_SUCH_FILE",
+ "id": "cd1e9f3e-5a12-4ab4-96f6-5d0a2cc32050"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/channels/featured": {
+ "post": {
+ "operationId": "channels/featured",
+ "summary": "channels/featured",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/channels/featured.ts"
+ },
+ "tags": [
+ "channels"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {},
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "Channel",
+ "$ref": "#/components/schemas/Channel"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/channels/follow": {
+ "post": {
+ "operationId": "channels/follow",
+ "summary": "channels/follow",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:channels*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/channels/follow.ts"
+ },
+ "tags": [
+ "channels"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "channelId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "channelId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_CHANNEL": {
+ "value": {
+ "error": {
+ "message": "No such channel.",
+ "code": "NO_SUCH_CHANNEL",
+ "id": "c0031718-d573-4e85-928e-10039f1fbb68"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/channels/followed": {
+ "post": {
+ "operationId": "channels/followed",
+ "summary": "channels/followed",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *read:channels*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/channels/followed.ts"
+ },
+ "tags": [
+ "channels",
+ "account"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "sinceId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "untilId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 5
+ }
+ },
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "Channel",
+ "$ref": "#/components/schemas/Channel"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/channels/owned": {
+ "post": {
+ "operationId": "channels/owned",
+ "summary": "channels/owned",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *read:channels*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/channels/owned.ts"
+ },
+ "tags": [
+ "channels",
+ "account"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "sinceId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "untilId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 5
+ }
+ },
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "Channel",
+ "$ref": "#/components/schemas/Channel"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/channels/show": {
+ "post": {
+ "operationId": "channels/show",
+ "summary": "channels/show",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/channels/show.ts"
+ },
+ "tags": [
+ "channels"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "channelId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "channelId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "Channel",
+ "$ref": "#/components/schemas/Channel"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_CHANNEL": {
+ "value": {
+ "error": {
+ "message": "No such channel.",
+ "code": "NO_SUCH_CHANNEL",
+ "id": "6f6c314b-7486-4897-8966-c04a66a02923"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/channels/timeline": {
+ "post": {
+ "operationId": "channels/timeline",
+ "summary": "channels/timeline",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/channels/timeline.ts"
+ },
+ "tags": [
+ "notes",
+ "channels"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "channelId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ },
+ "sinceId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "untilId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "sinceDate": {
+ "type": "integer"
+ },
+ "untilDate": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "channelId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "Note",
+ "$ref": "#/components/schemas/Note"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_CHANNEL": {
+ "value": {
+ "error": {
+ "message": "No such channel.",
+ "code": "NO_SUCH_CHANNEL",
+ "id": "4d0eeeba-a02c-4c3c-9966-ef60d38d2e7f"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/channels/unfollow": {
+ "post": {
+ "operationId": "channels/unfollow",
+ "summary": "channels/unfollow",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:channels*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/channels/unfollow.ts"
+ },
+ "tags": [
+ "channels"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "channelId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "channelId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_CHANNEL": {
+ "value": {
+ "error": {
+ "message": "No such channel.",
+ "code": "NO_SUCH_CHANNEL",
+ "id": "19959ee9-0153-4c51-bbd9-a98c49dc59d6"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/channels/update": {
+ "post": {
+ "operationId": "channels/update",
+ "summary": "channels/update",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:channels*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/channels/update.ts"
+ },
+ "tags": [
+ "channels"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "channelId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "name": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 128
+ },
+ "description": {
+ "type": "string",
+ "nullable": true,
+ "minLength": 1,
+ "maxLength": 2048
+ },
+ "bannerId": {
+ "type": "string",
+ "format": "misskey:id",
+ "nullable": true
+ }
+ },
+ "required": [
+ "channelId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "Channel",
+ "$ref": "#/components/schemas/Channel"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_CHANNEL": {
+ "value": {
+ "error": {
+ "message": "No such channel.",
+ "code": "NO_SUCH_CHANNEL",
+ "id": "f9c5467f-d492-4c3c-9a8d-a70dacc86512"
+ }
+ }
+ },
+ "ACCESS_DENIED": {
+ "value": {
+ "error": {
+ "message": "You do not have edit privilege of the channel.",
+ "code": "ACCESS_DENIED",
+ "id": "1fb7cb09-d46a-4fdf-b8df-057788cce513"
+ }
+ }
+ },
+ "NO_SUCH_FILE": {
+ "value": {
+ "error": {
+ "message": "No such file.",
+ "code": "NO_SUCH_FILE",
+ "id": "e86c14a4-0da2-4032-8df3-e737a04c7f3b"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/charts/active-users": {
+ "post": {
+ "operationId": "charts/active-users",
+ "summary": "charts/active-users",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/charts/active-users.ts"
+ },
+ "tags": [
+ "charts",
+ "users"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "span": {
+ "type": "string",
+ "enum": [
+ "day",
+ "hour"
+ ]
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 500,
+ "default": 30
+ },
+ "offset": {
+ "type": "integer",
+ "nullable": true,
+ "default": null
+ }
+ },
+ "required": [
+ "span"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "readWrite": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "read": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "write": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "registeredWithinWeek": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "registeredWithinMonth": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "registeredWithinYear": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "registeredOutsideWeek": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "registeredOutsideMonth": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "registeredOutsideYear": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ }
+ },
+ "required": [
+ "readWrite",
+ "read",
+ "write",
+ "registeredWithinWeek",
+ "registeredWithinMonth",
+ "registeredWithinYear",
+ "registeredOutsideWeek",
+ "registeredOutsideMonth",
+ "registeredOutsideYear"
+ ]
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "get": {
+ "operationId": "charts/active-users",
+ "summary": "charts/active-users",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/charts/active-users.ts"
+ },
+ "tags": [
+ "charts",
+ "users"
+ ],
+ "security": [
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "span": {
+ "type": "string",
+ "enum": [
+ "day",
+ "hour"
+ ]
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 500,
+ "default": 30
+ },
+ "offset": {
+ "type": "integer",
+ "nullable": true,
+ "default": null
+ }
+ },
+ "required": [
+ "span"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "readWrite": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "read": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "write": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "registeredWithinWeek": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "registeredWithinMonth": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "registeredWithinYear": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "registeredOutsideWeek": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "registeredOutsideMonth": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "registeredOutsideYear": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ }
+ },
+ "required": [
+ "readWrite",
+ "read",
+ "write",
+ "registeredWithinWeek",
+ "registeredWithinMonth",
+ "registeredWithinYear",
+ "registeredOutsideWeek",
+ "registeredOutsideMonth",
+ "registeredOutsideYear"
+ ]
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/charts/ap-request": {
+ "post": {
+ "operationId": "charts/ap-request",
+ "summary": "charts/ap-request",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/charts/ap-request.ts"
+ },
+ "tags": [
+ "charts"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "span": {
+ "type": "string",
+ "enum": [
+ "day",
+ "hour"
+ ]
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 500,
+ "default": 30
+ },
+ "offset": {
+ "type": "integer",
+ "nullable": true,
+ "default": null
+ }
+ },
+ "required": [
+ "span"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "deliverFailed": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "deliverSucceeded": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "inboxReceived": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ }
+ },
+ "required": [
+ "deliverFailed",
+ "deliverSucceeded",
+ "inboxReceived"
+ ]
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "get": {
+ "operationId": "charts/ap-request",
+ "summary": "charts/ap-request",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/charts/ap-request.ts"
+ },
+ "tags": [
+ "charts"
+ ],
+ "security": [
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "span": {
+ "type": "string",
+ "enum": [
+ "day",
+ "hour"
+ ]
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 500,
+ "default": 30
+ },
+ "offset": {
+ "type": "integer",
+ "nullable": true,
+ "default": null
+ }
+ },
+ "required": [
+ "span"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "deliverFailed": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "deliverSucceeded": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "inboxReceived": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ }
+ },
+ "required": [
+ "deliverFailed",
+ "deliverSucceeded",
+ "inboxReceived"
+ ]
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/charts/drive": {
+ "post": {
+ "operationId": "charts/drive",
+ "summary": "charts/drive",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/charts/drive.ts"
+ },
+ "tags": [
+ "charts",
+ "drive"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "span": {
+ "type": "string",
+ "enum": [
+ "day",
+ "hour"
+ ]
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 500,
+ "default": 30
+ },
+ "offset": {
+ "type": "integer",
+ "nullable": true,
+ "default": null
+ }
+ },
+ "required": [
+ "span"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "local.incCount": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "local.incSize": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "local.decCount": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "local.decSize": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "remote.incCount": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "remote.incSize": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "remote.decCount": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "remote.decSize": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ }
+ },
+ "required": [
+ "local.incCount",
+ "local.incSize",
+ "local.decCount",
+ "local.decSize",
+ "remote.incCount",
+ "remote.incSize",
+ "remote.decCount",
+ "remote.decSize"
+ ]
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "get": {
+ "operationId": "charts/drive",
+ "summary": "charts/drive",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/charts/drive.ts"
+ },
+ "tags": [
+ "charts",
+ "drive"
+ ],
+ "security": [
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "span": {
+ "type": "string",
+ "enum": [
+ "day",
+ "hour"
+ ]
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 500,
+ "default": 30
+ },
+ "offset": {
+ "type": "integer",
+ "nullable": true,
+ "default": null
+ }
+ },
+ "required": [
+ "span"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "local.incCount": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "local.incSize": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "local.decCount": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "local.decSize": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "remote.incCount": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "remote.incSize": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "remote.decCount": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "remote.decSize": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ }
+ },
+ "required": [
+ "local.incCount",
+ "local.incSize",
+ "local.decCount",
+ "local.decSize",
+ "remote.incCount",
+ "remote.incSize",
+ "remote.decCount",
+ "remote.decSize"
+ ]
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/charts/federation": {
+ "post": {
+ "operationId": "charts/federation",
+ "summary": "charts/federation",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/charts/federation.ts"
+ },
+ "tags": [
+ "charts"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "span": {
+ "type": "string",
+ "enum": [
+ "day",
+ "hour"
+ ]
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 500,
+ "default": 30
+ },
+ "offset": {
+ "type": "integer",
+ "nullable": true,
+ "default": null
+ }
+ },
+ "required": [
+ "span"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "deliveredInstances": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "inboxInstances": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "stalled": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "sub": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "pub": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "pubsub": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "subActive": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "pubActive": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ }
+ },
+ "required": [
+ "deliveredInstances",
+ "inboxInstances",
+ "stalled",
+ "sub",
+ "pub",
+ "pubsub",
+ "subActive",
+ "pubActive"
+ ]
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "get": {
+ "operationId": "charts/federation",
+ "summary": "charts/federation",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/charts/federation.ts"
+ },
+ "tags": [
+ "charts"
+ ],
+ "security": [
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "span": {
+ "type": "string",
+ "enum": [
+ "day",
+ "hour"
+ ]
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 500,
+ "default": 30
+ },
+ "offset": {
+ "type": "integer",
+ "nullable": true,
+ "default": null
+ }
+ },
+ "required": [
+ "span"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "deliveredInstances": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "inboxInstances": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "stalled": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "sub": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "pub": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "pubsub": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "subActive": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "pubActive": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ }
+ },
+ "required": [
+ "deliveredInstances",
+ "inboxInstances",
+ "stalled",
+ "sub",
+ "pub",
+ "pubsub",
+ "subActive",
+ "pubActive"
+ ]
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/charts/hashtag": {
+ "post": {
+ "operationId": "charts/hashtag",
+ "summary": "charts/hashtag",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/charts/hashtag.ts"
+ },
+ "tags": [
+ "charts",
+ "hashtags"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "span": {
+ "type": "string",
+ "enum": [
+ "day",
+ "hour"
+ ]
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 500,
+ "default": 30
+ },
+ "offset": {
+ "type": "integer",
+ "nullable": true,
+ "default": null
+ },
+ "tag": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "span",
+ "tag"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "local.users": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "remote.users": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ }
+ },
+ "required": [
+ "local.users",
+ "remote.users"
+ ]
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "get": {
+ "operationId": "charts/hashtag",
+ "summary": "charts/hashtag",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/charts/hashtag.ts"
+ },
+ "tags": [
+ "charts",
+ "hashtags"
+ ],
+ "security": [
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "span": {
+ "type": "string",
+ "enum": [
+ "day",
+ "hour"
+ ]
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 500,
+ "default": 30
+ },
+ "offset": {
+ "type": "integer",
+ "nullable": true,
+ "default": null
+ },
+ "tag": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "span",
+ "tag"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "local.users": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "remote.users": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ }
+ },
+ "required": [
+ "local.users",
+ "remote.users"
+ ]
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/charts/instance": {
+ "post": {
+ "operationId": "charts/instance",
+ "summary": "charts/instance",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/charts/instance.ts"
+ },
+ "tags": [
+ "charts"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "span": {
+ "type": "string",
+ "enum": [
+ "day",
+ "hour"
+ ]
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 500,
+ "default": 30
+ },
+ "offset": {
+ "type": "integer",
+ "nullable": true,
+ "default": null
+ },
+ "host": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "span",
+ "host"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "requests.failed": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "requests.succeeded": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "requests.received": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "notes.total": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "notes.inc": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "notes.dec": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "notes.diffs.normal": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "notes.diffs.reply": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "notes.diffs.renote": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "notes.diffs.withFile": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "users.total": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "users.inc": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "users.dec": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "following.total": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "following.inc": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "following.dec": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "followers.total": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "followers.inc": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "followers.dec": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "drive.totalFiles": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "drive.incFiles": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "drive.decFiles": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "drive.incUsage": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "drive.decUsage": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ }
+ },
+ "required": [
+ "requests.failed",
+ "requests.succeeded",
+ "requests.received",
+ "notes.total",
+ "notes.inc",
+ "notes.dec",
+ "notes.diffs.normal",
+ "notes.diffs.reply",
+ "notes.diffs.renote",
+ "notes.diffs.withFile",
+ "users.total",
+ "users.inc",
+ "users.dec",
+ "following.total",
+ "following.inc",
+ "following.dec",
+ "followers.total",
+ "followers.inc",
+ "followers.dec",
+ "drive.totalFiles",
+ "drive.incFiles",
+ "drive.decFiles",
+ "drive.incUsage",
+ "drive.decUsage"
+ ]
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "get": {
+ "operationId": "charts/instance",
+ "summary": "charts/instance",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/charts/instance.ts"
+ },
+ "tags": [
+ "charts"
+ ],
+ "security": [
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "span": {
+ "type": "string",
+ "enum": [
+ "day",
+ "hour"
+ ]
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 500,
+ "default": 30
+ },
+ "offset": {
+ "type": "integer",
+ "nullable": true,
+ "default": null
+ },
+ "host": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "span",
+ "host"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "requests.failed": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "requests.succeeded": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "requests.received": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "notes.total": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "notes.inc": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "notes.dec": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "notes.diffs.normal": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "notes.diffs.reply": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "notes.diffs.renote": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "notes.diffs.withFile": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "users.total": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "users.inc": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "users.dec": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "following.total": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "following.inc": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "following.dec": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "followers.total": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "followers.inc": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "followers.dec": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "drive.totalFiles": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "drive.incFiles": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "drive.decFiles": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "drive.incUsage": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "drive.decUsage": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ }
+ },
+ "required": [
+ "requests.failed",
+ "requests.succeeded",
+ "requests.received",
+ "notes.total",
+ "notes.inc",
+ "notes.dec",
+ "notes.diffs.normal",
+ "notes.diffs.reply",
+ "notes.diffs.renote",
+ "notes.diffs.withFile",
+ "users.total",
+ "users.inc",
+ "users.dec",
+ "following.total",
+ "following.inc",
+ "following.dec",
+ "followers.total",
+ "followers.inc",
+ "followers.dec",
+ "drive.totalFiles",
+ "drive.incFiles",
+ "drive.decFiles",
+ "drive.incUsage",
+ "drive.decUsage"
+ ]
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/charts/notes": {
+ "post": {
+ "operationId": "charts/notes",
+ "summary": "charts/notes",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/charts/notes.ts"
+ },
+ "tags": [
+ "charts",
+ "notes"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "span": {
+ "type": "string",
+ "enum": [
+ "day",
+ "hour"
+ ]
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 500,
+ "default": 30
+ },
+ "offset": {
+ "type": "integer",
+ "nullable": true,
+ "default": null
+ }
+ },
+ "required": [
+ "span"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "local.total": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "local.inc": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "local.dec": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "local.diffs.normal": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "local.diffs.reply": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "local.diffs.renote": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "local.diffs.withFile": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "remote.total": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "remote.inc": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "remote.dec": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "remote.diffs.normal": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "remote.diffs.reply": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "remote.diffs.renote": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "remote.diffs.withFile": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ }
+ },
+ "required": [
+ "local.total",
+ "local.inc",
+ "local.dec",
+ "local.diffs.normal",
+ "local.diffs.reply",
+ "local.diffs.renote",
+ "local.diffs.withFile",
+ "remote.total",
+ "remote.inc",
+ "remote.dec",
+ "remote.diffs.normal",
+ "remote.diffs.reply",
+ "remote.diffs.renote",
+ "remote.diffs.withFile"
+ ]
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "get": {
+ "operationId": "charts/notes",
+ "summary": "charts/notes",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/charts/notes.ts"
+ },
+ "tags": [
+ "charts",
+ "notes"
+ ],
+ "security": [
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "span": {
+ "type": "string",
+ "enum": [
+ "day",
+ "hour"
+ ]
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 500,
+ "default": 30
+ },
+ "offset": {
+ "type": "integer",
+ "nullable": true,
+ "default": null
+ }
+ },
+ "required": [
+ "span"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "local.total": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "local.inc": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "local.dec": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "local.diffs.normal": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "local.diffs.reply": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "local.diffs.renote": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "local.diffs.withFile": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "remote.total": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "remote.inc": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "remote.dec": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "remote.diffs.normal": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "remote.diffs.reply": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "remote.diffs.renote": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "remote.diffs.withFile": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ }
+ },
+ "required": [
+ "local.total",
+ "local.inc",
+ "local.dec",
+ "local.diffs.normal",
+ "local.diffs.reply",
+ "local.diffs.renote",
+ "local.diffs.withFile",
+ "remote.total",
+ "remote.inc",
+ "remote.dec",
+ "remote.diffs.normal",
+ "remote.diffs.reply",
+ "remote.diffs.renote",
+ "remote.diffs.withFile"
+ ]
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/charts/user/drive": {
+ "post": {
+ "operationId": "charts/user/drive",
+ "summary": "charts/user/drive",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/charts/user/drive.ts"
+ },
+ "tags": [
+ "charts",
+ "drive",
+ "users"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "span": {
+ "type": "string",
+ "enum": [
+ "day",
+ "hour"
+ ]
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 500,
+ "default": 30
+ },
+ "offset": {
+ "type": "integer",
+ "nullable": true,
+ "default": null
+ },
+ "userId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "span",
+ "userId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "totalCount": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "totalSize": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "incCount": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "incSize": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "decCount": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "decSize": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ }
+ },
+ "required": [
+ "totalCount",
+ "totalSize",
+ "incCount",
+ "incSize",
+ "decCount",
+ "decSize"
+ ]
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "get": {
+ "operationId": "charts/user/drive",
+ "summary": "charts/user/drive",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/charts/user/drive.ts"
+ },
+ "tags": [
+ "charts",
+ "drive",
+ "users"
+ ],
+ "security": [
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "span": {
+ "type": "string",
+ "enum": [
+ "day",
+ "hour"
+ ]
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 500,
+ "default": 30
+ },
+ "offset": {
+ "type": "integer",
+ "nullable": true,
+ "default": null
+ },
+ "userId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "span",
+ "userId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "totalCount": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "totalSize": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "incCount": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "incSize": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "decCount": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "decSize": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ }
+ },
+ "required": [
+ "totalCount",
+ "totalSize",
+ "incCount",
+ "incSize",
+ "decCount",
+ "decSize"
+ ]
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/charts/user/following": {
+ "post": {
+ "operationId": "charts/user/following",
+ "summary": "charts/user/following",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/charts/user/following.ts"
+ },
+ "tags": [
+ "charts",
+ "users",
+ "following"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "span": {
+ "type": "string",
+ "enum": [
+ "day",
+ "hour"
+ ]
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 500,
+ "default": 30
+ },
+ "offset": {
+ "type": "integer",
+ "nullable": true,
+ "default": null
+ },
+ "userId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "span",
+ "userId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "local.followings.total": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "local.followings.inc": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "local.followings.dec": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "local.followers.total": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "local.followers.inc": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "local.followers.dec": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "remote.followings.total": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "remote.followings.inc": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "remote.followings.dec": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "remote.followers.total": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "remote.followers.inc": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "remote.followers.dec": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ }
+ },
+ "required": [
+ "local.followings.total",
+ "local.followings.inc",
+ "local.followings.dec",
+ "local.followers.total",
+ "local.followers.inc",
+ "local.followers.dec",
+ "remote.followings.total",
+ "remote.followings.inc",
+ "remote.followings.dec",
+ "remote.followers.total",
+ "remote.followers.inc",
+ "remote.followers.dec"
+ ]
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "get": {
+ "operationId": "charts/user/following",
+ "summary": "charts/user/following",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/charts/user/following.ts"
+ },
+ "tags": [
+ "charts",
+ "users",
+ "following"
+ ],
+ "security": [
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "span": {
+ "type": "string",
+ "enum": [
+ "day",
+ "hour"
+ ]
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 500,
+ "default": 30
+ },
+ "offset": {
+ "type": "integer",
+ "nullable": true,
+ "default": null
+ },
+ "userId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "span",
+ "userId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "local.followings.total": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "local.followings.inc": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "local.followings.dec": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "local.followers.total": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "local.followers.inc": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "local.followers.dec": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "remote.followings.total": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "remote.followings.inc": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "remote.followings.dec": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "remote.followers.total": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "remote.followers.inc": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "remote.followers.dec": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ }
+ },
+ "required": [
+ "local.followings.total",
+ "local.followings.inc",
+ "local.followings.dec",
+ "local.followers.total",
+ "local.followers.inc",
+ "local.followers.dec",
+ "remote.followings.total",
+ "remote.followings.inc",
+ "remote.followings.dec",
+ "remote.followers.total",
+ "remote.followers.inc",
+ "remote.followers.dec"
+ ]
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/charts/user/notes": {
+ "post": {
+ "operationId": "charts/user/notes",
+ "summary": "charts/user/notes",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/charts/user/notes.ts"
+ },
+ "tags": [
+ "charts",
+ "users",
+ "notes"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "span": {
+ "type": "string",
+ "enum": [
+ "day",
+ "hour"
+ ]
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 500,
+ "default": 30
+ },
+ "offset": {
+ "type": "integer",
+ "nullable": true,
+ "default": null
+ },
+ "userId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "span",
+ "userId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "total": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "inc": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "dec": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "diffs.normal": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "diffs.reply": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "diffs.renote": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "diffs.withFile": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ }
+ },
+ "required": [
+ "total",
+ "inc",
+ "dec",
+ "diffs.normal",
+ "diffs.reply",
+ "diffs.renote",
+ "diffs.withFile"
+ ]
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "get": {
+ "operationId": "charts/user/notes",
+ "summary": "charts/user/notes",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/charts/user/notes.ts"
+ },
+ "tags": [
+ "charts",
+ "users",
+ "notes"
+ ],
+ "security": [
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "span": {
+ "type": "string",
+ "enum": [
+ "day",
+ "hour"
+ ]
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 500,
+ "default": 30
+ },
+ "offset": {
+ "type": "integer",
+ "nullable": true,
+ "default": null
+ },
+ "userId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "span",
+ "userId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "total": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "inc": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "dec": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "diffs.normal": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "diffs.reply": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "diffs.renote": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "diffs.withFile": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ }
+ },
+ "required": [
+ "total",
+ "inc",
+ "dec",
+ "diffs.normal",
+ "diffs.reply",
+ "diffs.renote",
+ "diffs.withFile"
+ ]
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/charts/user/reactions": {
+ "post": {
+ "operationId": "charts/user/reactions",
+ "summary": "charts/user/reactions",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/charts/user/reactions.ts"
+ },
+ "tags": [
+ "charts",
+ "users",
+ "reactions"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "span": {
+ "type": "string",
+ "enum": [
+ "day",
+ "hour"
+ ]
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 500,
+ "default": 30
+ },
+ "offset": {
+ "type": "integer",
+ "nullable": true,
+ "default": null
+ },
+ "userId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "span",
+ "userId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "local.count": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "remote.count": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ }
+ },
+ "required": [
+ "local.count",
+ "remote.count"
+ ]
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "get": {
+ "operationId": "charts/user/reactions",
+ "summary": "charts/user/reactions",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/charts/user/reactions.ts"
+ },
+ "tags": [
+ "charts",
+ "users",
+ "reactions"
+ ],
+ "security": [
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "span": {
+ "type": "string",
+ "enum": [
+ "day",
+ "hour"
+ ]
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 500,
+ "default": 30
+ },
+ "offset": {
+ "type": "integer",
+ "nullable": true,
+ "default": null
+ },
+ "userId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "span",
+ "userId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "local.count": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "remote.count": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ }
+ },
+ "required": [
+ "local.count",
+ "remote.count"
+ ]
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/charts/users": {
+ "post": {
+ "operationId": "charts/users",
+ "summary": "charts/users",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/charts/users.ts"
+ },
+ "tags": [
+ "charts",
+ "users"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "span": {
+ "type": "string",
+ "enum": [
+ "day",
+ "hour"
+ ]
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 500,
+ "default": 30
+ },
+ "offset": {
+ "type": "integer",
+ "nullable": true,
+ "default": null
+ }
+ },
+ "required": [
+ "span"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "local.total": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "local.inc": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "local.dec": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "remote.total": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "remote.inc": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "remote.dec": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ }
+ },
+ "required": [
+ "local.total",
+ "local.inc",
+ "local.dec",
+ "remote.total",
+ "remote.inc",
+ "remote.dec"
+ ]
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "get": {
+ "operationId": "charts/users",
+ "summary": "charts/users",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/charts/users.ts"
+ },
+ "tags": [
+ "charts",
+ "users"
+ ],
+ "security": [
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "span": {
+ "type": "string",
+ "enum": [
+ "day",
+ "hour"
+ ]
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 500,
+ "default": 30
+ },
+ "offset": {
+ "type": "integer",
+ "nullable": true,
+ "default": null
+ }
+ },
+ "required": [
+ "span"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "local.total": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "local.inc": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "local.dec": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "remote.total": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "remote.inc": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
+ "remote.dec": {
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ }
+ },
+ "required": [
+ "local.total",
+ "local.inc",
+ "local.dec",
+ "remote.total",
+ "remote.inc",
+ "remote.dec"
+ ]
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/clips/add-note": {
+ "post": {
+ "operationId": "clips/add-note",
+ "summary": "clips/add-note",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:account*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/clips/add-note.ts"
+ },
+ "tags": [
+ "account",
+ "notes",
+ "clips"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "clipId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "noteId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "clipId",
+ "noteId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_CLIP": {
+ "value": {
+ "error": {
+ "message": "No such clip.",
+ "code": "NO_SUCH_CLIP",
+ "id": "d6e76cc0-a1b5-4c7c-a287-73fa9c716dcf"
+ }
+ }
+ },
+ "NO_SUCH_NOTE": {
+ "value": {
+ "error": {
+ "message": "No such note.",
+ "code": "NO_SUCH_NOTE",
+ "id": "fc8c0b49-c7a3-4664-a0a6-b418d386bb8b"
+ }
+ }
+ },
+ "ALREADY_CLIPPED": {
+ "value": {
+ "error": {
+ "message": "The note has already been clipped.",
+ "code": "ALREADY_CLIPPED",
+ "id": "734806c4-542c-463a-9311-15c512803965"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/clips/remove-note": {
+ "post": {
+ "operationId": "clips/remove-note",
+ "summary": "clips/remove-note",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:account*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/clips/remove-note.ts"
+ },
+ "tags": [
+ "account",
+ "notes",
+ "clips"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "clipId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "noteId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "clipId",
+ "noteId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_CLIP": {
+ "value": {
+ "error": {
+ "message": "No such clip.",
+ "code": "NO_SUCH_CLIP",
+ "id": "b80525c6-97f7-49d7-a42d-ebccd49cfd52"
+ }
+ }
+ },
+ "NO_SUCH_NOTE": {
+ "value": {
+ "error": {
+ "message": "No such note.",
+ "code": "NO_SUCH_NOTE",
+ "id": "aff017de-190e-434b-893e-33a9ff5049d8"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/clips/create": {
+ "post": {
+ "operationId": "clips/create",
+ "summary": "clips/create",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:account*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/clips/create.ts"
+ },
+ "tags": [
+ "clips"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 100
+ },
+ "isPublic": {
+ "type": "boolean",
+ "default": false
+ },
+ "description": {
+ "type": "string",
+ "nullable": true,
+ "minLength": 1,
+ "maxLength": 2048
+ }
+ },
+ "required": [
+ "name"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "Clip",
+ "$ref": "#/components/schemas/Clip"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/clips/delete": {
+ "post": {
+ "operationId": "clips/delete",
+ "summary": "clips/delete",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:account*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/clips/delete.ts"
+ },
+ "tags": [
+ "clips"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "clipId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "clipId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_CLIP": {
+ "value": {
+ "error": {
+ "message": "No such clip.",
+ "code": "NO_SUCH_CLIP",
+ "id": "70ca08ba-6865-4630-b6fb-8494759aa754"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/clips/list": {
+ "post": {
+ "operationId": "clips/list",
+ "summary": "clips/list",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *read:account*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/clips/list.ts"
+ },
+ "tags": [
+ "clips",
+ "account"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {},
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "Clip",
+ "$ref": "#/components/schemas/Clip"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/clips/notes": {
+ "post": {
+ "operationId": "clips/notes",
+ "summary": "clips/notes",
+ "description": "No description provided.\n\n**Credential required**: *No* / **Permission**: *read:account*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/clips/notes.ts"
+ },
+ "tags": [
+ "account",
+ "notes",
+ "clips"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "clipId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ },
+ "sinceId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "untilId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "clipId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "Note",
+ "$ref": "#/components/schemas/Note"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_CLIP": {
+ "value": {
+ "error": {
+ "message": "No such clip.",
+ "code": "NO_SUCH_CLIP",
+ "id": "1d7645e6-2b6d-4635-b0fe-fe22b0e72e00"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/clips/show": {
+ "post": {
+ "operationId": "clips/show",
+ "summary": "clips/show",
+ "description": "No description provided.\n\n**Credential required**: *No* / **Permission**: *read:account*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/clips/show.ts"
+ },
+ "tags": [
+ "clips",
+ "account"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "clipId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "clipId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "Clip",
+ "$ref": "#/components/schemas/Clip"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_CLIP": {
+ "value": {
+ "error": {
+ "message": "No such clip.",
+ "code": "NO_SUCH_CLIP",
+ "id": "c3c5fe33-d62c-44d2-9ea5-d997703f5c20"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/clips/update": {
+ "post": {
+ "operationId": "clips/update",
+ "summary": "clips/update",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:account*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/clips/update.ts"
+ },
+ "tags": [
+ "clips"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "clipId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "name": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 100
+ },
+ "isPublic": {
+ "type": "boolean"
+ },
+ "description": {
+ "type": "string",
+ "nullable": true,
+ "minLength": 1,
+ "maxLength": 2048
+ }
+ },
+ "required": [
+ "clipId",
+ "name"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "Clip",
+ "$ref": "#/components/schemas/Clip"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_CLIP": {
+ "value": {
+ "error": {
+ "message": "No such clip.",
+ "code": "NO_SUCH_CLIP",
+ "id": "b4d92d70-b216-46fa-9a3f-a8c811699257"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/drive": {
+ "post": {
+ "operationId": "drive",
+ "summary": "drive",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *read:drive*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/drive.ts"
+ },
+ "tags": [
+ "drive",
+ "account"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {},
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "properties": {
+ "capacity": {
+ "type": "number",
+
+ "nullable": false
+ },
+ "usage": {
+ "type": "number",
+
+ "nullable": false
+ }
+ },
+ "required": [
+ "capacity",
+ "usage"
+ ]
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/drive/files": {
+ "post": {
+ "operationId": "drive/files",
+ "summary": "drive/files",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *read:drive*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/drive/files.ts"
+ },
+ "tags": [
+ "drive"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ },
+ "sinceId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "untilId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "folderId": {
+ "type": "string",
+ "format": "misskey:id",
+ "nullable": true,
+ "default": null
+ },
+ "type": {
+ "type": "string",
+ "nullable": true,
+ "pattern": "^[a-zA-Z\\/\\-*]+$"
+ }
+ },
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "DriveFile",
+ "$ref": "#/components/schemas/DriveFile"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/drive/files/attached-notes": {
+ "post": {
+ "operationId": "drive/files/attached-notes",
+ "summary": "drive/files/attached-notes",
+ "description": "Find the notes to which the given file is attached.\n\n**Credential required**: *Yes* / **Permission**: *read:drive*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/drive/files/attached-notes.ts"
+ },
+ "tags": [
+ "drive",
+ "notes"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "fileId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "fileId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "Note",
+ "$ref": "#/components/schemas/Note"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_FILE": {
+ "value": {
+ "error": {
+ "message": "No such file.",
+ "code": "NO_SUCH_FILE",
+ "id": "c118ece3-2e4b-4296-99d1-51756e32d232"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/drive/files/check-existence": {
+ "post": {
+ "operationId": "drive/files/check-existence",
+ "summary": "drive/files/check-existence",
+ "description": "Check if a given file exists.\n\n**Credential required**: *Yes* / **Permission**: *read:drive*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/drive/files/check-existence.ts"
+ },
+ "tags": [
+ "drive"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "md5": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "md5"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "boolean",
+
+ "nullable": false
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/drive/files/create": {
+ "post": {
+ "operationId": "drive/files/create",
+ "summary": "drive/files/create",
+ "description": "Upload a new drive file.\n\n**Credential required**: *Yes* / **Permission**: *write:drive*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/drive/files/create.ts"
+ },
+ "tags": [
+ "drive"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "multipart/form-data": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "folderId": {
+ "type": "string",
+ "format": "misskey:id",
+ "nullable": true,
+ "default": null
+ },
+ "name": {
+ "type": "string",
+ "nullable": true,
+ "default": null
+ },
+ "comment": {
+ "type": "string",
+ "nullable": true,
+ "maxLength": 512,
+ "default": null
+ },
+ "isSensitive": {
+ "type": "boolean",
+ "default": false
+ },
+ "force": {
+ "type": "boolean",
+ "default": false
+ },
+ "file": {
+ "type": "string",
+ "format": "binary",
+ "description": "The file contents."
+ }
+ },
+ "required": [
+ "file",
+ "file"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "DriveFile",
+ "$ref": "#/components/schemas/DriveFile"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_FILE_NAME": {
+ "value": {
+ "error": {
+ "message": "Invalid file name.",
+ "code": "INVALID_FILE_NAME",
+ "id": "f449b209-0c60-4e51-84d5-29486263bfd4"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "To many requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "RATE_LIMIT_EXCEEDED": {
+ "value": {
+ "error": {
+ "message": "Rate limit exceeded. Please try again later.",
+ "code": "RATE_LIMIT_EXCEEDED",
+ "id": "d5826d14-3982-4d2e-8011-b9e9f02499ef"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/drive/files/delete": {
+ "post": {
+ "operationId": "drive/files/delete",
+ "summary": "drive/files/delete",
+ "description": "Delete an existing drive file.\n\n**Credential required**: *Yes* / **Permission**: *write:drive*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/drive/files/delete.ts"
+ },
+ "tags": [
+ "drive"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "fileId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "fileId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_FILE": {
+ "value": {
+ "error": {
+ "message": "No such file.",
+ "code": "NO_SUCH_FILE",
+ "id": "908939ec-e52b-4458-b395-1025195cea58"
+ }
+ }
+ },
+ "ACCESS_DENIED": {
+ "value": {
+ "error": {
+ "message": "Access denied.",
+ "code": "ACCESS_DENIED",
+ "id": "5eb8d909-2540-4970-90b8-dd6f86088121"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/drive/files/find-by-hash": {
+ "post": {
+ "operationId": "drive/files/find-by-hash",
+ "summary": "drive/files/find-by-hash",
+ "description": "Search for a drive file by a hash of the contents.\n\n**Credential required**: *Yes* / **Permission**: *read:drive*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/drive/files/find-by-hash.ts"
+ },
+ "tags": [
+ "drive"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "md5": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "md5"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "DriveFile",
+ "$ref": "#/components/schemas/DriveFile"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/drive/files/find": {
+ "post": {
+ "operationId": "drive/files/find",
+ "summary": "drive/files/find",
+ "description": "Search for a drive file by the given parameters.\n\n**Credential required**: *Yes* / **Permission**: *read:drive*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/drive/files/find.ts"
+ },
+ "tags": [
+ "drive"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "folderId": {
+ "type": "string",
+ "format": "misskey:id",
+ "nullable": true,
+ "default": null
+ }
+ },
+ "required": [
+ "name"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "DriveFile",
+ "$ref": "#/components/schemas/DriveFile"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/drive/files/show": {
+ "post": {
+ "operationId": "drive/files/show",
+ "summary": "drive/files/show",
+ "description": "Show the properties of a drive file.\n\n**Credential required**: *Yes* / **Permission**: *read:drive*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/drive/files/show.ts"
+ },
+ "tags": [
+ "drive"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "anyOf": [
+ {
+ "properties": {
+ "fileId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "fileId"
+ ]
+ },
+ {
+ "properties": {
+ "url": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "url"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "DriveFile",
+ "$ref": "#/components/schemas/DriveFile"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_FILE": {
+ "value": {
+ "error": {
+ "message": "No such file.",
+ "code": "NO_SUCH_FILE",
+ "id": "067bc436-2718-4795-b0fb-ecbe43949e31"
+ }
+ }
+ },
+ "ACCESS_DENIED": {
+ "value": {
+ "error": {
+ "message": "Access denied.",
+ "code": "ACCESS_DENIED",
+ "id": "25b73c73-68b1-41d0-bad1-381cfdf6579f"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/drive/files/update": {
+ "post": {
+ "operationId": "drive/files/update",
+ "summary": "drive/files/update",
+ "description": "Update the properties of a drive file.\n\n**Credential required**: *Yes* / **Permission**: *write:drive*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/drive/files/update.ts"
+ },
+ "tags": [
+ "drive"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "fileId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "folderId": {
+ "type": "string",
+ "format": "misskey:id",
+ "nullable": true
+ },
+ "name": {
+ "type": "string"
+ },
+ "isSensitive": {
+ "type": "boolean"
+ },
+ "comment": {
+ "type": "string",
+ "nullable": true,
+ "maxLength": 512
+ }
+ },
+ "required": [
+ "fileId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "DriveFile",
+ "$ref": "#/components/schemas/DriveFile"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_FILE_NAME": {
+ "value": {
+ "error": {
+ "message": "Invalid file name.",
+ "code": "INVALID_FILE_NAME",
+ "id": "395e7156-f9f0-475e-af89-53c3c23080c2"
+ }
+ }
+ },
+ "NO_SUCH_FILE": {
+ "value": {
+ "error": {
+ "message": "No such file.",
+ "code": "NO_SUCH_FILE",
+ "id": "e7778c7e-3af9-49cd-9690-6dbc3e6c972d"
+ }
+ }
+ },
+ "ACCESS_DENIED": {
+ "value": {
+ "error": {
+ "message": "Access denied.",
+ "code": "ACCESS_DENIED",
+ "id": "01a53b27-82fc-445b-a0c1-b558465a8ed2"
+ }
+ }
+ },
+ "NO_SUCH_FOLDER": {
+ "value": {
+ "error": {
+ "message": "No such folder.",
+ "code": "NO_SUCH_FOLDER",
+ "id": "ea8fb7a5-af77-4a08-b608-c0218176cd73"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/drive/files/upload-from-url": {
+ "post": {
+ "operationId": "drive/files/upload-from-url",
+ "summary": "drive/files/upload-from-url",
+ "description": "Request the server to download a new drive file from the specified URL.\n\n**Credential required**: *Yes* / **Permission**: *write:drive*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/drive/files/upload-from-url.ts"
+ },
+ "tags": [
+ "drive"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "folderId": {
+ "type": "string",
+ "format": "misskey:id",
+ "nullable": true,
+ "default": null
+ },
+ "isSensitive": {
+ "type": "boolean",
+ "default": false
+ },
+ "comment": {
+ "type": "string",
+ "nullable": true,
+ "maxLength": 512,
+ "default": null
+ },
+ "marker": {
+ "type": "string",
+ "nullable": true,
+ "default": null
+ },
+ "force": {
+ "type": "boolean",
+ "default": false
+ }
+ },
+ "required": [
+ "url"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "To many requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "RATE_LIMIT_EXCEEDED": {
+ "value": {
+ "error": {
+ "message": "Rate limit exceeded. Please try again later.",
+ "code": "RATE_LIMIT_EXCEEDED",
+ "id": "d5826d14-3982-4d2e-8011-b9e9f02499ef"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/drive/folders": {
+ "post": {
+ "operationId": "drive/folders",
+ "summary": "drive/folders",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *read:drive*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/drive/folders.ts"
+ },
+ "tags": [
+ "drive"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ },
+ "sinceId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "untilId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "folderId": {
+ "type": "string",
+ "format": "misskey:id",
+ "nullable": true,
+ "default": null
+ }
+ },
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "DriveFolder",
+ "$ref": "#/components/schemas/DriveFolder"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/drive/folders/create": {
+ "post": {
+ "operationId": "drive/folders/create",
+ "summary": "drive/folders/create",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:drive*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/drive/folders/create.ts"
+ },
+ "tags": [
+ "drive"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "default": "Untitled",
+ "maxLength": 200
+ },
+ "parentId": {
+ "type": "string",
+ "format": "misskey:id",
+ "nullable": true
+ }
+ },
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "DriveFolder",
+ "$ref": "#/components/schemas/DriveFolder"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_FOLDER": {
+ "value": {
+ "error": {
+ "message": "No such folder.",
+ "code": "NO_SUCH_FOLDER",
+ "id": "53326628-a00d-40a6-a3cd-8975105c0f95"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/drive/folders/delete": {
+ "post": {
+ "operationId": "drive/folders/delete",
+ "summary": "drive/folders/delete",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:drive*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/drive/folders/delete.ts"
+ },
+ "tags": [
+ "drive"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "folderId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "folderId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_FOLDER": {
+ "value": {
+ "error": {
+ "message": "No such folder.",
+ "code": "NO_SUCH_FOLDER",
+ "id": "1069098f-c281-440f-b085-f9932edbe091"
+ }
+ }
+ },
+ "HAS_CHILD_FILES_OR_FOLDERS": {
+ "value": {
+ "error": {
+ "message": "This folder has child files or folders.",
+ "code": "HAS_CHILD_FILES_OR_FOLDERS",
+ "id": "b0fc8a17-963c-405d-bfbc-859a487295e1"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/drive/folders/find": {
+ "post": {
+ "operationId": "drive/folders/find",
+ "summary": "drive/folders/find",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *read:drive*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/drive/folders/find.ts"
+ },
+ "tags": [
+ "drive"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "parentId": {
+ "type": "string",
+ "format": "misskey:id",
+ "nullable": true,
+ "default": null
+ }
+ },
+ "required": [
+ "name"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "DriveFolder",
+ "$ref": "#/components/schemas/DriveFolder"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/drive/folders/show": {
+ "post": {
+ "operationId": "drive/folders/show",
+ "summary": "drive/folders/show",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *read:drive*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/drive/folders/show.ts"
+ },
+ "tags": [
+ "drive"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "folderId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "folderId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "DriveFolder",
+ "$ref": "#/components/schemas/DriveFolder"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_FOLDER": {
+ "value": {
+ "error": {
+ "message": "No such folder.",
+ "code": "NO_SUCH_FOLDER",
+ "id": "d74ab9eb-bb09-4bba-bf24-fb58f761e1e9"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/drive/folders/update": {
+ "post": {
+ "operationId": "drive/folders/update",
+ "summary": "drive/folders/update",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:drive*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/drive/folders/update.ts"
+ },
+ "tags": [
+ "drive"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "folderId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "name": {
+ "type": "string",
+ "maxLength": 200
+ },
+ "parentId": {
+ "type": "string",
+ "format": "misskey:id",
+ "nullable": true
+ }
+ },
+ "required": [
+ "folderId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "DriveFolder",
+ "$ref": "#/components/schemas/DriveFolder"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_FOLDER": {
+ "value": {
+ "error": {
+ "message": "No such folder.",
+ "code": "NO_SUCH_FOLDER",
+ "id": "f7974dac-2c0d-4a27-926e-23583b28e98e"
+ }
+ }
+ },
+ "NO_SUCH_PARENT_FOLDER": {
+ "value": {
+ "error": {
+ "message": "It can not be structured like nesting folders recursively.",
+ "code": "NO_SUCH_PARENT_FOLDER",
+ "id": "ce104e3a-faaf-49d5-b459-10ff0cbbcaa1"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/drive/stream": {
+ "post": {
+ "operationId": "drive/stream",
+ "summary": "drive/stream",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *read:drive*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/drive/stream.ts"
+ },
+ "tags": [
+ "drive"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ },
+ "sinceId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "untilId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "type": {
+ "type": "string",
+ "pattern": "^[a-zA-Z\\/\\-*]+$"
+ }
+ },
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "DriveFile",
+ "$ref": "#/components/schemas/DriveFile"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/email-address/available": {
+ "post": {
+ "operationId": "email-address/available",
+ "summary": "email-address/available",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/email-address/available.ts"
+ },
+ "tags": [
+ "users"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "emailAddress": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "emailAddress"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "properties": {
+ "available": {
+ "type": "boolean",
+
+ "nullable": false
+ },
+ "reason": {
+ "type": "string",
+
+ "nullable": true
+ }
+ },
+ "required": [
+ "available",
+ "reason"
+ ]
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/endpoint": {
+ "post": {
+ "operationId": "endpoint",
+ "summary": "endpoint",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/endpoint.ts"
+ },
+ "tags": [
+ "meta"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "endpoint": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "endpoint"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/endpoints": {
+ "post": {
+ "operationId": "endpoints",
+ "summary": "endpoints",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/endpoints.ts"
+ },
+ "tags": [
+ "meta"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {},
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "string",
+
+ "nullable": false
+ },
+ "example": [
+ "admin/abuse-user-reports",
+ "admin/accounts/create",
+ "admin/announcements/create",
+ "..."
+ ]
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/federation/followers": {
+ "post": {
+ "operationId": "federation/followers",
+ "summary": "federation/followers",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/federation/followers.ts"
+ },
+ "tags": [
+ "federation"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "host": {
+ "type": "string"
+ },
+ "sinceId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "untilId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ }
+ },
+ "required": [
+ "host"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "Following",
+ "$ref": "#/components/schemas/Following"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/federation/following": {
+ "post": {
+ "operationId": "federation/following",
+ "summary": "federation/following",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/federation/following.ts"
+ },
+ "tags": [
+ "federation"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "host": {
+ "type": "string"
+ },
+ "sinceId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "untilId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ }
+ },
+ "required": [
+ "host"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "Following",
+ "$ref": "#/components/schemas/Following"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/federation/instances": {
+ "post": {
+ "operationId": "federation/instances",
+ "summary": "federation/instances",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/federation/instances.ts"
+ },
+ "tags": [
+ "federation"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "host": {
+ "type": "string",
+ "nullable": true,
+ "description": "Omit or use `null` to not filter by host."
+ },
+ "blocked": {
+ "type": "boolean",
+ "nullable": true
+ },
+ "notResponding": {
+ "type": "boolean",
+ "nullable": true
+ },
+ "suspended": {
+ "type": "boolean",
+ "nullable": true
+ },
+ "federating": {
+ "type": "boolean",
+ "nullable": true
+ },
+ "subscribing": {
+ "type": "boolean",
+ "nullable": true
+ },
+ "publishing": {
+ "type": "boolean",
+ "nullable": true
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 30
+ },
+ "offset": {
+ "type": "integer",
+ "default": 0
+ },
+ "sort": {
+ "type": "string"
+ }
+ },
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "FederationInstance",
+ "$ref": "#/components/schemas/FederationInstance"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/federation/show-instance": {
+ "post": {
+ "operationId": "federation/show-instance",
+ "summary": "federation/show-instance",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/federation/show-instance.ts"
+ },
+ "tags": [
+ "federation"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "host": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "host"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "type": "object",
+ "ref": "FederationInstance",
+ "$ref": "#/components/schemas/FederationInstance"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/federation/update-remote-user": {
+ "post": {
+ "operationId": "federation/update-remote-user",
+ "summary": "federation/update-remote-user",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/federation/update-remote-user.ts"
+ },
+ "tags": [
+ "federation"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "userId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "userId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/federation/users": {
+ "post": {
+ "operationId": "federation/users",
+ "summary": "federation/users",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/federation/users.ts"
+ },
+ "tags": [
+ "federation"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "host": {
+ "type": "string"
+ },
+ "sinceId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "untilId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ }
+ },
+ "required": [
+ "host"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "UserDetailedNotMe",
+ "$ref": "#/components/schemas/UserDetailedNotMe"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/federation/stats": {
+ "post": {
+ "operationId": "federation/stats",
+ "summary": "federation/stats",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/federation/stats.ts"
+ },
+ "tags": [
+ "federation"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ }
+ },
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "get": {
+ "operationId": "federation/stats",
+ "summary": "federation/stats",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/federation/stats.ts"
+ },
+ "tags": [
+ "federation"
+ ],
+ "security": [
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ }
+ },
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/following/create": {
+ "post": {
+ "operationId": "following/create",
+ "summary": "following/create",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:following*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/following/create.ts"
+ },
+ "tags": [
+ "following",
+ "users"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "userId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "userId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "UserLite",
+ "$ref": "#/components/schemas/UserLite"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_USER": {
+ "value": {
+ "error": {
+ "message": "No such user.",
+ "code": "NO_SUCH_USER",
+ "id": "fcd2eef9-a9b2-4c4f-8624-038099e90aa5"
+ }
+ }
+ },
+ "FOLLOWEE_IS_YOURSELF": {
+ "value": {
+ "error": {
+ "message": "Followee is yourself.",
+ "code": "FOLLOWEE_IS_YOURSELF",
+ "id": "26fbe7bb-a331-4857-af17-205b426669a9"
+ }
+ }
+ },
+ "ALREADY_FOLLOWING": {
+ "value": {
+ "error": {
+ "message": "You are already following that user.",
+ "code": "ALREADY_FOLLOWING",
+ "id": "35387507-38c7-4cb9-9197-300b93783fa0"
+ }
+ }
+ },
+ "BLOCKING": {
+ "value": {
+ "error": {
+ "message": "You are blocking that user.",
+ "code": "BLOCKING",
+ "id": "4e2206ec-aa4f-4960-b865-6c23ac38e2d9"
+ }
+ }
+ },
+ "BLOCKED": {
+ "value": {
+ "error": {
+ "message": "You are blocked by that user.",
+ "code": "BLOCKED",
+ "id": "c4ab57cc-4e41-45e9-bfd9-584f61e35ce0"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "To many requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "RATE_LIMIT_EXCEEDED": {
+ "value": {
+ "error": {
+ "message": "Rate limit exceeded. Please try again later.",
+ "code": "RATE_LIMIT_EXCEEDED",
+ "id": "d5826d14-3982-4d2e-8011-b9e9f02499ef"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/following/delete": {
+ "post": {
+ "operationId": "following/delete",
+ "summary": "following/delete",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:following*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/following/delete.ts"
+ },
+ "tags": [
+ "following",
+ "users"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "userId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "userId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "UserLite",
+ "$ref": "#/components/schemas/UserLite"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_USER": {
+ "value": {
+ "error": {
+ "message": "No such user.",
+ "code": "NO_SUCH_USER",
+ "id": "5b12c78d-2b28-4dca-99d2-f56139b42ff8"
+ }
+ }
+ },
+ "FOLLOWEE_IS_YOURSELF": {
+ "value": {
+ "error": {
+ "message": "Followee is yourself.",
+ "code": "FOLLOWEE_IS_YOURSELF",
+ "id": "d9e400b9-36b0-4808-b1d8-79e707f1296c"
+ }
+ }
+ },
+ "NOT_FOLLOWING": {
+ "value": {
+ "error": {
+ "message": "You are not following that user.",
+ "code": "NOT_FOLLOWING",
+ "id": "5dbf82f5-c92b-40b1-87d1-6c8c0741fd09"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "To many requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "RATE_LIMIT_EXCEEDED": {
+ "value": {
+ "error": {
+ "message": "Rate limit exceeded. Please try again later.",
+ "code": "RATE_LIMIT_EXCEEDED",
+ "id": "d5826d14-3982-4d2e-8011-b9e9f02499ef"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/following/invalidate": {
+ "post": {
+ "operationId": "following/invalidate",
+ "summary": "following/invalidate",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:following*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/following/invalidate.ts"
+ },
+ "tags": [
+ "following",
+ "users"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "userId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "userId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "UserLite",
+ "$ref": "#/components/schemas/UserLite"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_USER": {
+ "value": {
+ "error": {
+ "message": "No such user.",
+ "code": "NO_SUCH_USER",
+ "id": "5b12c78d-2b28-4dca-99d2-f56139b42ff8"
+ }
+ }
+ },
+ "FOLLOWER_IS_YOURSELF": {
+ "value": {
+ "error": {
+ "message": "Follower is yourself.",
+ "code": "FOLLOWER_IS_YOURSELF",
+ "id": "07dc03b9-03da-422d-885b-438313707662"
+ }
+ }
+ },
+ "NOT_FOLLOWING": {
+ "value": {
+ "error": {
+ "message": "The other use is not following you.",
+ "code": "NOT_FOLLOWING",
+ "id": "5dbf82f5-c92b-40b1-87d1-6c8c0741fd09"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "To many requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "RATE_LIMIT_EXCEEDED": {
+ "value": {
+ "error": {
+ "message": "Rate limit exceeded. Please try again later.",
+ "code": "RATE_LIMIT_EXCEEDED",
+ "id": "d5826d14-3982-4d2e-8011-b9e9f02499ef"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/following/requests/accept": {
+ "post": {
+ "operationId": "following/requests/accept",
+ "summary": "following/requests/accept",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:following*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/following/requests/accept.ts"
+ },
+ "tags": [
+ "following",
+ "account"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "userId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "userId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_USER": {
+ "value": {
+ "error": {
+ "message": "No such user.",
+ "code": "NO_SUCH_USER",
+ "id": "66ce1645-d66c-46bb-8b79-96739af885bd"
+ }
+ }
+ },
+ "NO_FOLLOW_REQUEST": {
+ "value": {
+ "error": {
+ "message": "No follow request.",
+ "code": "NO_FOLLOW_REQUEST",
+ "id": "bcde4f8b-0913-4614-8881-614e522fb041"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/following/requests/cancel": {
+ "post": {
+ "operationId": "following/requests/cancel",
+ "summary": "following/requests/cancel",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:following*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/following/requests/cancel.ts"
+ },
+ "tags": [
+ "following",
+ "account"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "userId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "userId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "UserLite",
+ "$ref": "#/components/schemas/UserLite"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_USER": {
+ "value": {
+ "error": {
+ "message": "No such user.",
+ "code": "NO_SUCH_USER",
+ "id": "4e68c551-fc4c-4e46-bb41-7d4a37bf9dab"
+ }
+ }
+ },
+ "FOLLOW_REQUEST_NOT_FOUND": {
+ "value": {
+ "error": {
+ "message": "Follow request not found.",
+ "code": "FOLLOW_REQUEST_NOT_FOUND",
+ "id": "089b125b-d338-482a-9a09-e2622ac9f8d4"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/following/requests/list": {
+ "post": {
+ "operationId": "following/requests/list",
+ "summary": "following/requests/list",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *read:following*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/following/requests/list.ts"
+ },
+ "tags": [
+ "following",
+ "account"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {},
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "properties": {
+ "id": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "id"
+ },
+ "follower": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "UserLite",
+ "$ref": "#/components/schemas/UserLite"
+ },
+ "followee": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "UserLite",
+ "$ref": "#/components/schemas/UserLite"
+ }
+ },
+ "required": [
+ "id",
+ "follower",
+ "followee"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/following/requests/reject": {
+ "post": {
+ "operationId": "following/requests/reject",
+ "summary": "following/requests/reject",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:following*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/following/requests/reject.ts"
+ },
+ "tags": [
+ "following",
+ "account"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "userId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "userId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_USER": {
+ "value": {
+ "error": {
+ "message": "No such user.",
+ "code": "NO_SUCH_USER",
+ "id": "abc2ffa6-25b2-4380-ba99-321ff3a94555"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/gallery/featured": {
+ "post": {
+ "operationId": "gallery/featured",
+ "summary": "gallery/featured",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/gallery/featured.ts"
+ },
+ "tags": [
+ "gallery"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {},
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "GalleryPost",
+ "$ref": "#/components/schemas/GalleryPost"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/gallery/popular": {
+ "post": {
+ "operationId": "gallery/popular",
+ "summary": "gallery/popular",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/gallery/popular.ts"
+ },
+ "tags": [
+ "gallery"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {},
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "GalleryPost",
+ "$ref": "#/components/schemas/GalleryPost"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/gallery/posts": {
+ "post": {
+ "operationId": "gallery/posts",
+ "summary": "gallery/posts",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/gallery/posts.ts"
+ },
+ "tags": [
+ "gallery"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ },
+ "sinceId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "untilId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "GalleryPost",
+ "$ref": "#/components/schemas/GalleryPost"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/gallery/posts/create": {
+ "post": {
+ "operationId": "gallery/posts/create",
+ "summary": "gallery/posts/create",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:gallery*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/gallery/posts/create.ts"
+ },
+ "tags": [
+ "gallery"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string",
+ "minLength": 1
+ },
+ "description": {
+ "type": "string",
+ "nullable": true
+ },
+ "fileIds": {
+ "type": "array",
+ "uniqueItems": true,
+ "minItems": 1,
+ "maxItems": 32,
+ "items": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "isSensitive": {
+ "type": "boolean",
+ "default": false
+ }
+ },
+ "required": [
+ "title",
+ "fileIds"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "GalleryPost",
+ "$ref": "#/components/schemas/GalleryPost"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "To many requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "RATE_LIMIT_EXCEEDED": {
+ "value": {
+ "error": {
+ "message": "Rate limit exceeded. Please try again later.",
+ "code": "RATE_LIMIT_EXCEEDED",
+ "id": "d5826d14-3982-4d2e-8011-b9e9f02499ef"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/gallery/posts/delete": {
+ "post": {
+ "operationId": "gallery/posts/delete",
+ "summary": "gallery/posts/delete",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:gallery*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/gallery/posts/delete.ts"
+ },
+ "tags": [
+ "gallery"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "postId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "postId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_POST": {
+ "value": {
+ "error": {
+ "message": "No such post.",
+ "code": "NO_SUCH_POST",
+ "id": "ae52f367-4bd7-4ecd-afc6-5672fff427f5"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/gallery/posts/like": {
+ "post": {
+ "operationId": "gallery/posts/like",
+ "summary": "gallery/posts/like",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:gallery-likes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/gallery/posts/like.ts"
+ },
+ "tags": [
+ "gallery"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "postId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "postId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_POST": {
+ "value": {
+ "error": {
+ "message": "No such post.",
+ "code": "NO_SUCH_POST",
+ "id": "56c06af3-1287-442f-9701-c93f7c4a62ff"
+ }
+ }
+ },
+ "YOUR_POST": {
+ "value": {
+ "error": {
+ "message": "You cannot like your post.",
+ "code": "YOUR_POST",
+ "id": "f78f1511-5ebc-4478-a888-1198d752da68"
+ }
+ }
+ },
+ "ALREADY_LIKED": {
+ "value": {
+ "error": {
+ "message": "The post has already been liked.",
+ "code": "ALREADY_LIKED",
+ "id": "40e9ed56-a59c-473a-bf3f-f289c54fb5a7"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/gallery/posts/show": {
+ "post": {
+ "operationId": "gallery/posts/show",
+ "summary": "gallery/posts/show",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/gallery/posts/show.ts"
+ },
+ "tags": [
+ "gallery"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "postId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "postId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "GalleryPost",
+ "$ref": "#/components/schemas/GalleryPost"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_POST": {
+ "value": {
+ "error": {
+ "message": "No such post.",
+ "code": "NO_SUCH_POST",
+ "id": "1137bf14-c5b0-4604-85bb-5b5371b1cd45"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/gallery/posts/unlike": {
+ "post": {
+ "operationId": "gallery/posts/unlike",
+ "summary": "gallery/posts/unlike",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:gallery-likes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/gallery/posts/unlike.ts"
+ },
+ "tags": [
+ "gallery"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "postId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "postId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_POST": {
+ "value": {
+ "error": {
+ "message": "No such post.",
+ "code": "NO_SUCH_POST",
+ "id": "c32e6dd0-b555-4413-925e-b3757d19ed84"
+ }
+ }
+ },
+ "NOT_LIKED": {
+ "value": {
+ "error": {
+ "message": "You have not liked that post.",
+ "code": "NOT_LIKED",
+ "id": "e3e8e06e-be37-41f7-a5b4-87a8250288f0"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/gallery/posts/update": {
+ "post": {
+ "operationId": "gallery/posts/update",
+ "summary": "gallery/posts/update",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:gallery*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/gallery/posts/update.ts"
+ },
+ "tags": [
+ "gallery"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "postId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "title": {
+ "type": "string",
+ "minLength": 1
+ },
+ "description": {
+ "type": "string",
+ "nullable": true
+ },
+ "fileIds": {
+ "type": "array",
+ "uniqueItems": true,
+ "minItems": 1,
+ "maxItems": 32,
+ "items": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "isSensitive": {
+ "type": "boolean",
+ "default": false
+ }
+ },
+ "required": [
+ "postId",
+ "title",
+ "fileIds"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "GalleryPost",
+ "$ref": "#/components/schemas/GalleryPost"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "To many requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "RATE_LIMIT_EXCEEDED": {
+ "value": {
+ "error": {
+ "message": "Rate limit exceeded. Please try again later.",
+ "code": "RATE_LIMIT_EXCEEDED",
+ "id": "d5826d14-3982-4d2e-8011-b9e9f02499ef"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/get-online-users-count": {
+ "post": {
+ "operationId": "get-online-users-count",
+ "summary": "get-online-users-count",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/get-online-users-count.ts"
+ },
+ "tags": [
+ "meta"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {},
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/hashtags/list": {
+ "post": {
+ "operationId": "hashtags/list",
+ "summary": "hashtags/list",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/hashtags/list.ts"
+ },
+ "tags": [
+ "hashtags"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ },
+ "attachedToUserOnly": {
+ "type": "boolean",
+ "default": false
+ },
+ "attachedToLocalUserOnly": {
+ "type": "boolean",
+ "default": false
+ },
+ "attachedToRemoteUserOnly": {
+ "type": "boolean",
+ "default": false
+ },
+ "sort": {
+ "type": "string",
+ "enum": [
+ "+mentionedUsers",
+ "-mentionedUsers",
+ "+mentionedLocalUsers",
+ "-mentionedLocalUsers",
+ "+mentionedRemoteUsers",
+ "-mentionedRemoteUsers",
+ "+attachedUsers",
+ "-attachedUsers",
+ "+attachedLocalUsers",
+ "-attachedLocalUsers",
+ "+attachedRemoteUsers",
+ "-attachedRemoteUsers"
+ ]
+ }
+ },
+ "required": [
+ "sort"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "Hashtag",
+ "$ref": "#/components/schemas/Hashtag"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/hashtags/search": {
+ "post": {
+ "operationId": "hashtags/search",
+ "summary": "hashtags/search",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/hashtags/search.ts"
+ },
+ "tags": [
+ "hashtags"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ },
+ "query": {
+ "type": "string"
+ },
+ "offset": {
+ "type": "integer",
+ "default": 0
+ }
+ },
+ "required": [
+ "query"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "string",
+
+ "nullable": false
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/hashtags/show": {
+ "post": {
+ "operationId": "hashtags/show",
+ "summary": "hashtags/show",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/hashtags/show.ts"
+ },
+ "tags": [
+ "hashtags"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "tag": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "tag"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "Hashtag",
+ "$ref": "#/components/schemas/Hashtag"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_HASHTAG": {
+ "value": {
+ "error": {
+ "message": "No such hashtag.",
+ "code": "NO_SUCH_HASHTAG",
+ "id": "110ee688-193e-4a3a-9ecf-c167b2e6981e"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/hashtags/trend": {
+ "post": {
+ "operationId": "hashtags/trend",
+ "summary": "hashtags/trend",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/hashtags/trend.ts"
+ },
+ "tags": [
+ "hashtags"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {},
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "properties": {
+ "tag": {
+ "type": "string",
+
+ "nullable": false
+ },
+ "chart": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "number",
+
+ "nullable": false
+ }
+ },
+ "usersCount": {
+ "type": "number",
+
+ "nullable": false
+ }
+ },
+ "required": [
+ "tag",
+ "chart",
+ "usersCount"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/hashtags/users": {
+ "post": {
+ "operationId": "hashtags/users",
+ "summary": "hashtags/users",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/hashtags/users.ts"
+ },
+ "tags": [
+ "hashtags",
+ "users"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "tag": {
+ "type": "string"
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ },
+ "sort": {
+ "type": "string",
+ "enum": [
+ "+follower",
+ "-follower",
+ "+createdAt",
+ "-createdAt",
+ "+updatedAt",
+ "-updatedAt"
+ ]
+ },
+ "state": {
+ "type": "string",
+ "enum": [
+ "all",
+ "alive"
+ ],
+ "default": "all"
+ },
+ "origin": {
+ "type": "string",
+ "enum": [
+ "combined",
+ "local",
+ "remote"
+ ],
+ "default": "local"
+ }
+ },
+ "required": [
+ "tag",
+ "sort"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "UserDetailed",
+ "$ref": "#/components/schemas/UserDetailed"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/i": {
+ "post": {
+ "operationId": "i",
+ "summary": "i",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/i.ts"
+ },
+ "tags": [
+ "account"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {},
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "MeDetailed",
+ "$ref": "#/components/schemas/MeDetailed"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/i/favorites": {
+ "post": {
+ "operationId": "i/favorites",
+ "summary": "i/favorites",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *read:favorites*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/i/favorites.ts"
+ },
+ "tags": [
+ "account",
+ "notes",
+ "favorites"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ },
+ "sinceId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "untilId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "NoteFavorite",
+ "$ref": "#/components/schemas/NoteFavorite"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/i/gallery/likes": {
+ "post": {
+ "operationId": "i/gallery/likes",
+ "summary": "i/gallery/likes",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *read:gallery-likes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/i/gallery/likes.ts"
+ },
+ "tags": [
+ "account",
+ "gallery"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ },
+ "sinceId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "untilId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "properties": {
+ "id": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "id"
+ },
+ "post": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "GalleryPost",
+ "$ref": "#/components/schemas/GalleryPost"
+ }
+ },
+ "required": [
+ "id",
+ "post"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/i/gallery/posts": {
+ "post": {
+ "operationId": "i/gallery/posts",
+ "summary": "i/gallery/posts",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *read:gallery*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/i/gallery/posts.ts"
+ },
+ "tags": [
+ "account",
+ "gallery"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ },
+ "sinceId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "untilId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "GalleryPost",
+ "$ref": "#/components/schemas/GalleryPost"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/i/get-word-muted-notes-count": {
+ "post": {
+ "operationId": "i/get-word-muted-notes-count",
+ "summary": "i/get-word-muted-notes-count",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *read:account*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/i/get-word-muted-notes-count.ts"
+ },
+ "tags": [
+ "account"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {},
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "properties": {
+ "count": {
+ "type": "number",
+
+ "nullable": false
+ }
+ },
+ "required": [
+ "count"
+ ]
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/i/notifications": {
+ "post": {
+ "operationId": "i/notifications",
+ "summary": "i/notifications",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *read:notifications*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/i/notifications.ts"
+ },
+ "tags": [
+ "account",
+ "notifications"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ },
+ "sinceId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "untilId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "following": {
+ "type": "boolean",
+ "default": false
+ },
+ "unreadOnly": {
+ "type": "boolean",
+ "default": false
+ },
+ "markAsRead": {
+ "type": "boolean",
+ "default": true
+ },
+ "includeTypes": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "follow",
+ "mention",
+ "reply",
+ "renote",
+ "quote",
+ "reaction",
+ "pollVote",
+ "pollEnded",
+ "receiveFollowRequest",
+ "followRequestAccepted",
+ "groupInvited",
+ "app"
+ ]
+ }
+ },
+ "excludeTypes": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "follow",
+ "mention",
+ "reply",
+ "renote",
+ "quote",
+ "reaction",
+ "pollVote",
+ "pollEnded",
+ "receiveFollowRequest",
+ "followRequestAccepted",
+ "groupInvited",
+ "app"
+ ]
+ }
+ }
+ },
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "Notification",
+ "$ref": "#/components/schemas/Notification"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "To many requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "RATE_LIMIT_EXCEEDED": {
+ "value": {
+ "error": {
+ "message": "Rate limit exceeded. Please try again later.",
+ "code": "RATE_LIMIT_EXCEEDED",
+ "id": "d5826d14-3982-4d2e-8011-b9e9f02499ef"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/i/page-likes": {
+ "post": {
+ "operationId": "i/page-likes",
+ "summary": "i/page-likes",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *read:page-likes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/i/page-likes.ts"
+ },
+ "tags": [
+ "account",
+ "pages"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ },
+ "sinceId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "untilId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "id"
+ },
+ "page": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "Page",
+ "$ref": "#/components/schemas/Page"
+ }
+ },
+ "required": [
+ "id",
+ "page"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/i/pages": {
+ "post": {
+ "operationId": "i/pages",
+ "summary": "i/pages",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *read:pages*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/i/pages.ts"
+ },
+ "tags": [
+ "account",
+ "pages"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ },
+ "sinceId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "untilId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "Page",
+ "$ref": "#/components/schemas/Page"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/i/pin": {
+ "post": {
+ "operationId": "i/pin",
+ "summary": "i/pin",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:account*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/i/pin.ts"
+ },
+ "tags": [
+ "account",
+ "notes"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "noteId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "noteId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "MeDetailed",
+ "$ref": "#/components/schemas/MeDetailed"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_NOTE": {
+ "value": {
+ "error": {
+ "message": "No such note.",
+ "code": "NO_SUCH_NOTE",
+ "id": "56734f8b-3928-431e-bf80-6ff87df40cb3"
+ }
+ }
+ },
+ "PIN_LIMIT_EXCEEDED": {
+ "value": {
+ "error": {
+ "message": "You can not pin notes any more.",
+ "code": "PIN_LIMIT_EXCEEDED",
+ "id": "72dab508-c64d-498f-8740-a8eec1ba385a"
+ }
+ }
+ },
+ "ALREADY_PINNED": {
+ "value": {
+ "error": {
+ "message": "That note has already been pinned.",
+ "code": "ALREADY_PINNED",
+ "id": "8b18c2b7-68fe-4edb-9892-c0cbaeb6c913"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/i/read-all-messaging-messages": {
+ "post": {
+ "operationId": "i/read-all-messaging-messages",
+ "summary": "i/read-all-messaging-messages",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:account*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/i/read-all-messaging-messages.ts"
+ },
+ "tags": [
+ "account",
+ "messaging"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {},
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/i/read-all-unread-notes": {
+ "post": {
+ "operationId": "i/read-all-unread-notes",
+ "summary": "i/read-all-unread-notes",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:account*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/i/read-all-unread-notes.ts"
+ },
+ "tags": [
+ "account"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {},
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/i/read-announcement": {
+ "post": {
+ "operationId": "i/read-announcement",
+ "summary": "i/read-announcement",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:account*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/i/read-announcement.ts"
+ },
+ "tags": [
+ "account"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "announcementId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "announcementId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_ANNOUNCEMENT": {
+ "value": {
+ "error": {
+ "message": "No such announcement.",
+ "code": "NO_SUCH_ANNOUNCEMENT",
+ "id": "184663db-df88-4bc2-8b52-fb85f0681939"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/i/unpin": {
+ "post": {
+ "operationId": "i/unpin",
+ "summary": "i/unpin",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:account*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/i/unpin.ts"
+ },
+ "tags": [
+ "account",
+ "notes"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "noteId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "noteId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "MeDetailed",
+ "$ref": "#/components/schemas/MeDetailed"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_NOTE": {
+ "value": {
+ "error": {
+ "message": "No such note.",
+ "code": "NO_SUCH_NOTE",
+ "id": "454170ce-9d63-4a43-9da1-ea10afe81e21"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/i/update": {
+ "post": {
+ "operationId": "i/update",
+ "summary": "i/update",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:account*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/i/update.ts"
+ },
+ "tags": [
+ "account"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 50,
+ "nullable": true
+ },
+ "description": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 500,
+ "nullable": true
+ },
+ "location": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 50,
+ "nullable": true
+ },
+ "birthday": {
+ "type": "string",
+ "pattern": "^([0-9]{4})-([0-9]{2})-([0-9]{2})$",
+ "nullable": true
+ },
+ "lang": {
+ "type": "string",
+ "enum": [
+ null,
+ "ach",
+ "ady",
+ "af",
+ "af-NA",
+ "af-ZA",
+ "ak",
+ "ar",
+ "ar-AR",
+ "ar-MA",
+ "ar-SA",
+ "ay-BO",
+ "az",
+ "az-AZ",
+ "be-BY",
+ "bg",
+ "bg-BG",
+ "bn",
+ "bn-IN",
+ "bn-BD",
+ "br",
+ "bs-BA",
+ "ca",
+ "ca-ES",
+ "cak",
+ "ck-US",
+ "cs",
+ "cs-CZ",
+ "cy",
+ "cy-GB",
+ "da",
+ "da-DK",
+ "de",
+ "de-AT",
+ "de-DE",
+ "de-CH",
+ "dsb",
+ "el",
+ "el-GR",
+ "en",
+ "en-GB",
+ "en-AU",
+ "en-CA",
+ "en-IE",
+ "en-IN",
+ "en-PI",
+ "en-SG",
+ "en-UD",
+ "en-US",
+ "en-ZA",
+ "en@pirate",
+ "eo",
+ "eo-EO",
+ "es",
+ "es-AR",
+ "es-419",
+ "es-CL",
+ "es-CO",
+ "es-EC",
+ "es-ES",
+ "es-LA",
+ "es-NI",
+ "es-MX",
+ "es-US",
+ "es-VE",
+ "et",
+ "et-EE",
+ "eu",
+ "eu-ES",
+ "fa",
+ "fa-IR",
+ "fb-LT",
+ "ff",
+ "fi",
+ "fi-FI",
+ "fo",
+ "fo-FO",
+ "fr",
+ "fr-CA",
+ "fr-FR",
+ "fr-BE",
+ "fr-CH",
+ "fy-NL",
+ "ga",
+ "ga-IE",
+ "gd",
+ "gl",
+ "gl-ES",
+ "gn-PY",
+ "gu-IN",
+ "gv",
+ "gx-GR",
+ "he",
+ "he-IL",
+ "hi",
+ "hi-IN",
+ "hr",
+ "hr-HR",
+ "hsb",
+ "ht",
+ "hu",
+ "hu-HU",
+ "hy",
+ "hy-AM",
+ "id",
+ "id-ID",
+ "is",
+ "is-IS",
+ "it",
+ "it-IT",
+ "ja",
+ "ja-JP",
+ "jv-ID",
+ "ka-GE",
+ "kk-KZ",
+ "km",
+ "kl",
+ "km-KH",
+ "kab",
+ "kn",
+ "kn-IN",
+ "ko",
+ "ko-KR",
+ "ku-TR",
+ "kw",
+ "la",
+ "la-VA",
+ "lb",
+ "li-NL",
+ "lt",
+ "lt-LT",
+ "lv",
+ "lv-LV",
+ "mai",
+ "mg-MG",
+ "mk",
+ "mk-MK",
+ "ml",
+ "ml-IN",
+ "mn-MN",
+ "mr",
+ "mr-IN",
+ "ms",
+ "ms-MY",
+ "mt",
+ "mt-MT",
+ "my",
+ "no",
+ "nb",
+ "nb-NO",
+ "ne",
+ "ne-NP",
+ "nl",
+ "nl-BE",
+ "nl-NL",
+ "nn-NO",
+ "oc",
+ "or-IN",
+ "pa",
+ "pa-IN",
+ "pl",
+ "pl-PL",
+ "ps-AF",
+ "pt",
+ "pt-BR",
+ "pt-PT",
+ "qu-PE",
+ "rm-CH",
+ "ro",
+ "ro-RO",
+ "ru",
+ "ru-RU",
+ "sa-IN",
+ "se-NO",
+ "sh",
+ "si-LK",
+ "sk",
+ "sk-SK",
+ "sl",
+ "sl-SI",
+ "so-SO",
+ "sq",
+ "sq-AL",
+ "sr",
+ "sr-RS",
+ "su",
+ "sv",
+ "sv-SE",
+ "sw",
+ "sw-KE",
+ "ta",
+ "ta-IN",
+ "te",
+ "te-IN",
+ "tg",
+ "tg-TJ",
+ "th",
+ "th-TH",
+ "fil",
+ "tlh",
+ "tr",
+ "tr-TR",
+ "tt-RU",
+ "uk",
+ "uk-UA",
+ "ur",
+ "ur-PK",
+ "uz",
+ "uz-UZ",
+ "vi",
+ "vi-VN",
+ "xh-ZA",
+ "yi",
+ "yi-DE",
+ "zh",
+ "zh-Hans",
+ "zh-Hant",
+ "zh-CN",
+ "zh-HK",
+ "zh-SG",
+ "zh-TW",
+ "zu-ZA"
+ ],
+ "nullable": true
+ },
+ "avatarId": {
+ "type": "string",
+ "format": "misskey:id",
+ "nullable": true
+ },
+ "bannerId": {
+ "type": "string",
+ "format": "misskey:id",
+ "nullable": true
+ },
+ "fields": {
+ "type": "array",
+ "minItems": 0,
+ "maxItems": 16,
+ "items": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "value"
+ ]
+ }
+ },
+ "isLocked": {
+ "type": "boolean"
+ },
+ "isExplorable": {
+ "type": "boolean"
+ },
+ "hideOnlineStatus": {
+ "type": "boolean"
+ },
+ "publicReactions": {
+ "type": "boolean"
+ },
+ "carefulBot": {
+ "type": "boolean"
+ },
+ "autoAcceptFollowed": {
+ "type": "boolean"
+ },
+ "noCrawle": {
+ "type": "boolean"
+ },
+ "isBot": {
+ "type": "boolean"
+ },
+ "isCat": {
+ "type": "boolean"
+ },
+ "showTimelineReplies": {
+ "type": "boolean"
+ },
+ "injectFeaturedNote": {
+ "type": "boolean"
+ },
+ "receiveAnnouncementEmail": {
+ "type": "boolean"
+ },
+ "alwaysMarkNsfw": {
+ "type": "boolean"
+ },
+ "ffVisibility": {
+ "type": "string",
+ "enum": [
+ "public",
+ "followers",
+ "private"
+ ]
+ },
+ "pinnedPageId": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "mutedWords": {
+ "type": "array"
+ },
+ "mutedInstances": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "mutingNotificationTypes": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "follow",
+ "mention",
+ "reply",
+ "renote",
+ "quote",
+ "reaction",
+ "pollVote",
+ "pollEnded",
+ "receiveFollowRequest",
+ "followRequestAccepted",
+ "groupInvited",
+ "app"
+ ]
+ }
+ },
+ "emailNotificationTypes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "MeDetailed",
+ "$ref": "#/components/schemas/MeDetailed"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_AVATAR": {
+ "value": {
+ "error": {
+ "message": "No such avatar file.",
+ "code": "NO_SUCH_AVATAR",
+ "id": "539f3a45-f215-4f81-a9a8-31293640207f"
+ }
+ }
+ },
+ "NO_SUCH_BANNER": {
+ "value": {
+ "error": {
+ "message": "No such banner file.",
+ "code": "NO_SUCH_BANNER",
+ "id": "0d8f5629-f210-41c2-9433-735831a58595"
+ }
+ }
+ },
+ "AVATAR_NOT_AN_IMAGE": {
+ "value": {
+ "error": {
+ "message": "The file specified as an avatar is not an image.",
+ "code": "AVATAR_NOT_AN_IMAGE",
+ "id": "f419f9f8-2f4d-46b1-9fb4-49d3a2fd7191"
+ }
+ }
+ },
+ "BANNER_NOT_AN_IMAGE": {
+ "value": {
+ "error": {
+ "message": "The file specified as a banner is not an image.",
+ "code": "BANNER_NOT_AN_IMAGE",
+ "id": "75aedb19-2afd-4e6d-87fc-67941256fa60"
+ }
+ }
+ },
+ "NO_SUCH_PAGE": {
+ "value": {
+ "error": {
+ "message": "No such page.",
+ "code": "NO_SUCH_PAGE",
+ "id": "8e01b590-7eb9-431b-a239-860e086c408e"
+ }
+ }
+ },
+ "INVALID_REGEXP": {
+ "value": {
+ "error": {
+ "message": "Invalid Regular Expression.",
+ "code": "INVALID_REGEXP",
+ "id": "0d786918-10df-41cd-8f33-8dec7d9a89a5"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/i/user-group-invites": {
+ "post": {
+ "operationId": "i/user-group-invites",
+ "summary": "i/user-group-invites",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *read:user-groups*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/i/user-group-invites.ts"
+ },
+ "tags": [
+ "account",
+ "groups"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ },
+ "sinceId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "untilId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "properties": {
+ "id": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "id"
+ },
+ "group": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "UserGroup",
+ "$ref": "#/components/schemas/UserGroup"
+ }
+ },
+ "required": [
+ "id",
+ "group"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/i/webhooks/create": {
+ "post": {
+ "operationId": "i/webhooks/create",
+ "summary": "i/webhooks/create",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:account*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/i/webhooks/create.ts"
+ },
+ "tags": [
+ "webhooks"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 100
+ },
+ "url": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 1024
+ },
+ "secret": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 1024
+ },
+ "on": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "mention",
+ "unfollow",
+ "follow",
+ "followed",
+ "note",
+ "reply",
+ "renote",
+ "reaction"
+ ]
+ }
+ }
+ },
+ "required": [
+ "name",
+ "url",
+ "secret",
+ "on"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/i/webhooks/list": {
+ "post": {
+ "operationId": "i/webhooks/list",
+ "summary": "i/webhooks/list",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *read:account*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/i/webhooks/list.ts"
+ },
+ "tags": [
+ "webhooks",
+ "account"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {},
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/i/webhooks/show": {
+ "post": {
+ "operationId": "i/webhooks/show",
+ "summary": "i/webhooks/show",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *read:account*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/i/webhooks/show.ts"
+ },
+ "tags": [
+ "webhooks"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "webhookId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "webhookId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_WEBHOOK": {
+ "value": {
+ "error": {
+ "message": "No such webhook.",
+ "code": "NO_SUCH_WEBHOOK",
+ "id": "50f614d9-3047-4f7e-90d8-ad6b2d5fb098"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/i/webhooks/update": {
+ "post": {
+ "operationId": "i/webhooks/update",
+ "summary": "i/webhooks/update",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:account*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/i/webhooks/update.ts"
+ },
+ "tags": [
+ "webhooks"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "webhookId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "name": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 100
+ },
+ "url": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 1024
+ },
+ "secret": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 1024
+ },
+ "on": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "mention",
+ "unfollow",
+ "follow",
+ "followed",
+ "note",
+ "reply",
+ "renote",
+ "reaction"
+ ]
+ }
+ },
+ "active": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "webhookId",
+ "name",
+ "url",
+ "secret",
+ "on",
+ "active"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_WEBHOOK": {
+ "value": {
+ "error": {
+ "message": "No such webhook.",
+ "code": "NO_SUCH_WEBHOOK",
+ "id": "fb0fea69-da18-45b1-828d-bd4fd1612518"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/i/webhooks/delete": {
+ "post": {
+ "operationId": "i/webhooks/delete",
+ "summary": "i/webhooks/delete",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:account*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/i/webhooks/delete.ts"
+ },
+ "tags": [
+ "webhooks"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "webhookId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "webhookId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_WEBHOOK": {
+ "value": {
+ "error": {
+ "message": "No such webhook.",
+ "code": "NO_SUCH_WEBHOOK",
+ "id": "bae73e5a-5522-4965-ae19-3a8688e71d82"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/messaging/history": {
+ "post": {
+ "operationId": "messaging/history",
+ "summary": "messaging/history",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *read:messaging*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/messaging/history.ts"
+ },
+ "tags": [
+ "messaging"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ },
+ "group": {
+ "type": "boolean",
+ "default": false
+ }
+ },
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "MessagingMessage",
+ "$ref": "#/components/schemas/MessagingMessage"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/messaging/messages": {
+ "post": {
+ "operationId": "messaging/messages",
+ "summary": "messaging/messages",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *read:messaging*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/messaging/messages.ts"
+ },
+ "tags": [
+ "messaging"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ },
+ "sinceId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "untilId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "markAsRead": {
+ "type": "boolean",
+ "default": true
+ }
+ },
+ "anyOf": [
+ {
+ "properties": {
+ "userId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "userId"
+ ]
+ },
+ {
+ "properties": {
+ "groupId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "groupId"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "MessagingMessage",
+ "$ref": "#/components/schemas/MessagingMessage"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_USER": {
+ "value": {
+ "error": {
+ "message": "No such user.",
+ "code": "NO_SUCH_USER",
+ "id": "11795c64-40ea-4198-b06e-3c873ed9039d"
+ }
+ }
+ },
+ "NO_SUCH_GROUP": {
+ "value": {
+ "error": {
+ "message": "No such group.",
+ "code": "NO_SUCH_GROUP",
+ "id": "c4d9f88c-9270-4632-b032-6ed8cee36f7f"
+ }
+ }
+ },
+ "GROUP_ACCESS_DENIED": {
+ "value": {
+ "error": {
+ "message": "You can not read messages of groups that you have not joined.",
+ "code": "GROUP_ACCESS_DENIED",
+ "id": "a053a8dd-a491-4718-8f87-50775aad9284"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/messaging/messages/create": {
+ "post": {
+ "operationId": "messaging/messages/create",
+ "summary": "messaging/messages/create",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:messaging*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/messaging/messages/create.ts"
+ },
+ "tags": [
+ "messaging"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "text": {
+ "type": "string",
+ "nullable": true,
+ "maxLength": 3000
+ },
+ "fileId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "anyOf": [
+ {
+ "properties": {
+ "userId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "userId"
+ ]
+ },
+ {
+ "properties": {
+ "groupId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "groupId"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "MessagingMessage",
+ "$ref": "#/components/schemas/MessagingMessage"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "RECIPIENT_IS_YOURSELF": {
+ "value": {
+ "error": {
+ "message": "You can not send a message to yourself.",
+ "code": "RECIPIENT_IS_YOURSELF",
+ "id": "17e2ba79-e22a-4cbc-bf91-d327643f4a7e"
+ }
+ }
+ },
+ "NO_SUCH_USER": {
+ "value": {
+ "error": {
+ "message": "No such user.",
+ "code": "NO_SUCH_USER",
+ "id": "11795c64-40ea-4198-b06e-3c873ed9039d"
+ }
+ }
+ },
+ "NO_SUCH_GROUP": {
+ "value": {
+ "error": {
+ "message": "No such group.",
+ "code": "NO_SUCH_GROUP",
+ "id": "c94e2a5d-06aa-4914-8fa6-6a42e73d6537"
+ }
+ }
+ },
+ "GROUP_ACCESS_DENIED": {
+ "value": {
+ "error": {
+ "message": "You can not send messages to groups that you have not joined.",
+ "code": "GROUP_ACCESS_DENIED",
+ "id": "d96b3cca-5ad1-438b-ad8b-02f931308fbd"
+ }
+ }
+ },
+ "NO_SUCH_FILE": {
+ "value": {
+ "error": {
+ "message": "No such file.",
+ "code": "NO_SUCH_FILE",
+ "id": "4372b8e2-185d-4146-8749-2f68864a3e5f"
+ }
+ }
+ },
+ "CONTENT_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Content required. You need to set text or fileId.",
+ "code": "CONTENT_REQUIRED",
+ "id": "25587321-b0e6-449c-9239-f8925092942c"
+ }
+ }
+ },
+ "YOU_HAVE_BEEN_BLOCKED": {
+ "value": {
+ "error": {
+ "message": "You cannot send a message because you have been blocked by this user.",
+ "code": "YOU_HAVE_BEEN_BLOCKED",
+ "id": "c15a5199-7422-4968-941a-2a462c478f7d"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/messaging/messages/delete": {
+ "post": {
+ "operationId": "messaging/messages/delete",
+ "summary": "messaging/messages/delete",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:messaging*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/messaging/messages/delete.ts"
+ },
+ "tags": [
+ "messaging"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "messageId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "messageId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_MESSAGE": {
+ "value": {
+ "error": {
+ "message": "No such message.",
+ "code": "NO_SUCH_MESSAGE",
+ "id": "54b5b326-7925-42cf-8019-130fda8b56af"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "To many requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "RATE_LIMIT_EXCEEDED": {
+ "value": {
+ "error": {
+ "message": "Rate limit exceeded. Please try again later.",
+ "code": "RATE_LIMIT_EXCEEDED",
+ "id": "d5826d14-3982-4d2e-8011-b9e9f02499ef"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/messaging/messages/read": {
+ "post": {
+ "operationId": "messaging/messages/read",
+ "summary": "messaging/messages/read",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:messaging*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/messaging/messages/read.ts"
+ },
+ "tags": [
+ "messaging"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "messageId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "messageId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_MESSAGE": {
+ "value": {
+ "error": {
+ "message": "No such message.",
+ "code": "NO_SUCH_MESSAGE",
+ "id": "86d56a2f-a9c3-4afb-b13c-3e9bfef9aa14"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/meta": {
+ "post": {
+ "operationId": "meta",
+ "summary": "meta",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/meta.ts"
+ },
+ "tags": [
+ "meta"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "detail": {
+ "type": "boolean",
+ "default": true
+ }
+ },
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "properties": {
+ "maintainerName": {
+ "type": "string",
+
+ "nullable": true
+ },
+ "maintainerEmail": {
+ "type": "string",
+
+ "nullable": true
+ },
+ "version": {
+ "type": "string",
+
+ "nullable": false,
+ "example": "13.0.0-preview.1"
+ },
+ "name": {
+ "type": "string",
+
+ "nullable": false
+ },
+ "uri": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "url",
+ "example": "https://misskey.example.com"
+ },
+ "description": {
+ "type": "string",
+
+ "nullable": true
+ },
+ "langs": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "string",
+
+ "nullable": false
+ }
+ },
+ "tosUrl": {
+ "type": "string",
+
+ "nullable": true
+ },
+ "defaultDarkTheme": {
+ "type": "string",
+
+ "nullable": true
+ },
+ "defaultLightTheme": {
+ "type": "string",
+
+ "nullable": true
+ },
+ "disableRegistration": {
+ "type": "boolean",
+
+ "nullable": false
+ },
+ "disableLocalTimeline": {
+ "type": "boolean",
+
+ "nullable": false
+ },
+ "disableGlobalTimeline": {
+ "type": "boolean",
+
+ "nullable": false
+ },
+ "driveCapacityPerLocalUserMb": {
+ "type": "number",
+
+ "nullable": false
+ },
+ "driveCapacityPerRemoteUserMb": {
+ "type": "number",
+
+ "nullable": false
+ },
+ "cacheRemoteFiles": {
+ "type": "boolean",
+
+ "nullable": false
+ },
+ "emailRequiredForSignup": {
+ "type": "boolean",
+
+ "nullable": false
+ },
+ "enableHcaptcha": {
+ "type": "boolean",
+
+ "nullable": false
+ },
+ "hcaptchaSiteKey": {
+ "type": "string",
+
+ "nullable": true
+ },
+ "enableRecaptcha": {
+ "type": "boolean",
+
+ "nullable": false
+ },
+ "recaptchaSiteKey": {
+ "type": "string",
+
+ "nullable": true
+ },
+ "swPublickey": {
+ "type": "string",
+
+ "nullable": true
+ },
+ "bannerUrl": {
+ "type": "string",
+
+ "nullable": false
+ },
+ "iconUrl": {
+ "type": "string",
+
+ "nullable": true
+ },
+ "maxNoteTextLength": {
+ "type": "number",
+
+ "nullable": false
+ },
+ "emojis": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "properties": {
+ "id": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "id"
+ },
+ "aliases": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "string",
+
+ "nullable": false
+ }
+ },
+ "category": {
+ "type": "string",
+
+ "nullable": true
+ },
+ "host": {
+ "type": "string",
+
+ "nullable": true,
+ "description": "The local host is represented with `null`."
+ },
+ "url": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "url"
+ }
+ },
+ "required": [
+ "id",
+ "aliases",
+ "category",
+ "host",
+ "url"
+ ]
+ }
+ },
+ "requireSetup": {
+ "type": "boolean",
+
+ "nullable": false,
+ "example": false
+ },
+ "enableEmail": {
+ "type": "boolean",
+
+ "nullable": false
+ },
+ "enableTwitterIntegration": {
+ "type": "boolean",
+
+ "nullable": false
+ },
+ "enableGithubIntegration": {
+ "type": "boolean",
+
+ "nullable": false
+ },
+ "enableDiscordIntegration": {
+ "type": "boolean",
+
+ "nullable": false
+ },
+ "enableServiceWorker": {
+ "type": "boolean",
+
+ "nullable": false
+ },
+ "translatorAvailable": {
+ "type": "boolean",
+
+ "nullable": false
+ },
+ "proxyAccountName": {
+ "type": "string",
+
+ "nullable": true
+ },
+ "features": {
+ "type": "object",
+ "optional": true,
+ "nullable": false,
+ "properties": {
+ "registration": {
+ "type": "boolean",
+
+ "nullable": false
+ },
+ "localTimeLine": {
+ "type": "boolean",
+
+ "nullable": false
+ },
+ "globalTimeLine": {
+ "type": "boolean",
+
+ "nullable": false
+ },
+ "elasticsearch": {
+ "type": "boolean",
+
+ "nullable": false
+ },
+ "hcaptcha": {
+ "type": "boolean",
+
+ "nullable": false
+ },
+ "recaptcha": {
+ "type": "boolean",
+
+ "nullable": false
+ },
+ "objectStorage": {
+ "type": "boolean",
+
+ "nullable": false
+ },
+ "twitter": {
+ "type": "boolean",
+
+ "nullable": false
+ },
+ "github": {
+ "type": "boolean",
+
+ "nullable": false
+ },
+ "discord": {
+ "type": "boolean",
+
+ "nullable": false
+ },
+ "serviceWorker": {
+ "type": "boolean",
+
+ "nullable": false
+ },
+ "miauth": {
+ "type": "boolean",
+ "optional": true,
+ "nullable": false,
+ "default": true
+ }
+ },
+ "required": [
+ "registration",
+ "localTimeLine",
+ "globalTimeLine",
+ "elasticsearch",
+ "hcaptcha",
+ "recaptcha",
+ "objectStorage",
+ "twitter",
+ "github",
+ "discord",
+ "serviceWorker"
+ ]
+ }
+ },
+ "required": [
+ "maintainerName",
+ "maintainerEmail",
+ "version",
+ "name",
+ "uri",
+ "description",
+ "langs",
+ "tosUrl",
+ "defaultDarkTheme",
+ "defaultLightTheme",
+ "disableRegistration",
+ "disableLocalTimeline",
+ "disableGlobalTimeline",
+ "driveCapacityPerLocalUserMb",
+ "driveCapacityPerRemoteUserMb",
+ "cacheRemoteFiles",
+ "emailRequiredForSignup",
+ "enableHcaptcha",
+ "hcaptchaSiteKey",
+ "enableRecaptcha",
+ "recaptchaSiteKey",
+ "swPublickey",
+ "bannerUrl",
+ "iconUrl",
+ "maxNoteTextLength",
+ "emojis",
+ "requireSetup",
+ "enableEmail",
+ "enableTwitterIntegration",
+ "enableGithubIntegration",
+ "enableDiscordIntegration",
+ "enableServiceWorker",
+ "translatorAvailable",
+ "proxyAccountName"
+ ]
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/mute/create": {
+ "post": {
+ "operationId": "mute/create",
+ "summary": "mute/create",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:mutes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/mute/create.ts"
+ },
+ "tags": [
+ "account"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "userId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "expiresAt": {
+ "type": "integer",
+ "nullable": true,
+ "description": "A Unix Epoch timestamp that must lie in the future. `null` means an indefinite mute."
+ }
+ },
+ "required": [
+ "userId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_USER": {
+ "value": {
+ "error": {
+ "message": "No such user.",
+ "code": "NO_SUCH_USER",
+ "id": "6fef56f3-e765-4957-88e5-c6f65329b8a5"
+ }
+ }
+ },
+ "MUTEE_IS_YOURSELF": {
+ "value": {
+ "error": {
+ "message": "Mutee is yourself.",
+ "code": "MUTEE_IS_YOURSELF",
+ "id": "a4619cb2-5f23-484b-9301-94c903074e10"
+ }
+ }
+ },
+ "ALREADY_MUTING": {
+ "value": {
+ "error": {
+ "message": "You are already muting that user.",
+ "code": "ALREADY_MUTING",
+ "id": "7e7359cb-160c-4956-b08f-4d1c653cd007"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/mute/delete": {
+ "post": {
+ "operationId": "mute/delete",
+ "summary": "mute/delete",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:mutes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/mute/delete.ts"
+ },
+ "tags": [
+ "account"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "userId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "userId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_USER": {
+ "value": {
+ "error": {
+ "message": "No such user.",
+ "code": "NO_SUCH_USER",
+ "id": "b851d00b-8ab1-4a56-8b1b-e24187cb48ef"
+ }
+ }
+ },
+ "MUTEE_IS_YOURSELF": {
+ "value": {
+ "error": {
+ "message": "Mutee is yourself.",
+ "code": "MUTEE_IS_YOURSELF",
+ "id": "f428b029-6b39-4d48-a1d2-cc1ae6dd5cf9"
+ }
+ }
+ },
+ "NOT_MUTING": {
+ "value": {
+ "error": {
+ "message": "You are not muting that user.",
+ "code": "NOT_MUTING",
+ "id": "5467d020-daa9-4553-81e1-135c0c35a96d"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/mute/list": {
+ "post": {
+ "operationId": "mute/list",
+ "summary": "mute/list",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *read:mutes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/mute/list.ts"
+ },
+ "tags": [
+ "account"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 30
+ },
+ "sinceId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "untilId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "Muting",
+ "$ref": "#/components/schemas/Muting"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/my/apps": {
+ "post": {
+ "operationId": "my/apps",
+ "summary": "my/apps",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/my/apps.ts"
+ },
+ "tags": [
+ "account",
+ "app"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ },
+ "offset": {
+ "type": "integer",
+ "default": 0
+ }
+ },
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "App",
+ "$ref": "#/components/schemas/App"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/notes": {
+ "post": {
+ "operationId": "notes",
+ "summary": "notes",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/notes.ts"
+ },
+ "tags": [
+ "notes"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "local": {
+ "type": "boolean",
+ "default": false
+ },
+ "reply": {
+ "type": "boolean"
+ },
+ "renote": {
+ "type": "boolean"
+ },
+ "withFiles": {
+ "type": "boolean"
+ },
+ "poll": {
+ "type": "boolean"
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ },
+ "sinceId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "untilId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "Note",
+ "$ref": "#/components/schemas/Note"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/notes/children": {
+ "post": {
+ "operationId": "notes/children",
+ "summary": "notes/children",
+ "description": "Get a list of children of a notes. Children includes replies as well as quote renotes that quote the respective post. A post will not be duplicated if it is a reply and a quote of a note in this thread. For depths larger than 1 the threading has to be computed by the client.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/notes/children.ts"
+ },
+ "tags": [
+ "notes"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "noteId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "limit": {
+ "description": "The maximum number of replies/quotes to show per parent note, i.e. the maximum number of children each note may have.",
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ },
+ "depth": {
+ "description": "The number of layers of replies to fetch at once. Defaults to 1 for backward compatibility.",
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 1
+ },
+ "sinceId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "untilId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "noteId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "Note",
+ "$ref": "#/components/schemas/Note"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/notes/clips": {
+ "post": {
+ "operationId": "notes/clips",
+ "summary": "notes/clips",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/notes/clips.ts"
+ },
+ "tags": [
+ "clips",
+ "notes"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "noteId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "noteId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "Clip",
+ "$ref": "#/components/schemas/Clip"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_NOTE": {
+ "value": {
+ "error": {
+ "message": "No such note.",
+ "code": "NO_SUCH_NOTE",
+ "id": "47db1a1c-b0af-458d-8fb4-986e4efafe1e"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/notes/conversation": {
+ "post": {
+ "operationId": "notes/conversation",
+ "summary": "notes/conversation",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/notes/conversation.ts"
+ },
+ "tags": [
+ "notes"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "noteId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ },
+ "offset": {
+ "type": "integer",
+ "default": 0
+ }
+ },
+ "required": [
+ "noteId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "Note",
+ "$ref": "#/components/schemas/Note"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_NOTE": {
+ "value": {
+ "error": {
+ "message": "No such note.",
+ "code": "NO_SUCH_NOTE",
+ "id": "e1035875-9551-45ec-afa8-1ded1fcb53c8"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/notes/create": {
+ "post": {
+ "operationId": "notes/create",
+ "summary": "notes/create",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:notes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/notes/create.ts"
+ },
+ "tags": [
+ "notes"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "visibility": {
+ "description": "The visibility of the new note. Must be the same or more restrictive than a replied to or quoted note.",
+ "type": "string",
+ "enum": [
+ "public",
+ "home",
+ "followers",
+ "specified"
+ ],
+ "default": "public"
+ },
+ "visibleUserIds": {
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "text": {
+ "type": "string",
+ "maxLength": 3000,
+ "nullable": true
+ },
+ "cw": {
+ "type": "string",
+ "nullable": true,
+ "maxLength": 100
+ },
+ "localOnly": {
+ "type": "boolean",
+ "default": false
+ },
+ "noExtractMentions": {
+ "type": "boolean",
+ "default": false
+ },
+ "noExtractHashtags": {
+ "type": "boolean",
+ "default": false
+ },
+ "noExtractEmojis": {
+ "type": "boolean",
+ "default": false
+ },
+ "fileIds": {
+ "type": "array",
+ "uniqueItems": true,
+ "minItems": 1,
+ "maxItems": 16,
+ "items": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "mediaIds": {
+ "deprecated": true,
+ "description": "Use `fileIds` instead. If both are specified, this property is discarded.",
+ "type": "array",
+ "uniqueItems": true,
+ "minItems": 1,
+ "maxItems": 16,
+ "items": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "replyId": {
+ "type": "string",
+ "format": "misskey:id",
+ "nullable": true
+ },
+ "renoteId": {
+ "type": "string",
+ "format": "misskey:id",
+ "nullable": true
+ },
+ "channelId": {
+ "type": "string",
+ "format": "misskey:id",
+ "nullable": true
+ },
+ "poll": {
+ "type": "object",
+ "nullable": true,
+ "properties": {
+ "choices": {
+ "type": "array",
+ "uniqueItems": true,
+ "minItems": 2,
+ "maxItems": 10,
+ "items": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 50
+ }
+ },
+ "multiple": {
+ "type": "boolean",
+ "default": false
+ },
+ "expiresAt": {
+ "type": "integer",
+ "nullable": true
+ },
+ "expiredAfter": {
+ "type": "integer",
+ "nullable": true,
+ "minimum": 1
+ }
+ },
+ "required": [
+ "choices"
+ ]
+ }
+ },
+ "anyOf": [
+ {
+ "properties": {
+ "text": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 3000,
+ "nullable": false
+ }
+ },
+ "required": [
+ "text"
+ ]
+ },
+ {
+ "required": [
+ "fileIds"
+ ]
+ },
+ {
+ "required": [
+ "mediaIds"
+ ]
+ },
+ {
+ "properties": {
+ "poll": {
+ "type": "object",
+ "nullable": false
+ }
+ },
+ "required": [
+ "poll"
+ ]
+ },
+ {
+ "required": [
+ "renoteId"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "properties": {
+ "createdNote": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "Note",
+ "$ref": "#/components/schemas/Note"
+ }
+ },
+ "required": [
+ "createdNote"
+ ]
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_RENOTE_TARGET": {
+ "value": {
+ "error": {
+ "message": "No such renote target.",
+ "code": "NO_SUCH_RENOTE_TARGET",
+ "id": "b5c90186-4ab0-49c8-9bba-a1f76c282ba4"
+ }
+ }
+ },
+ "CANNOT_RENOTE_TO_A_PURE_RENOTE": {
+ "value": {
+ "error": {
+ "message": "You can not Renote a pure Renote.",
+ "code": "CANNOT_RENOTE_TO_A_PURE_RENOTE",
+ "id": "fd4cc33e-2a37-48dd-99cc-9b806eb2031a"
+ }
+ }
+ },
+ "NO_SUCH_REPLY_TARGET": {
+ "value": {
+ "error": {
+ "message": "No such reply target.",
+ "code": "NO_SUCH_REPLY_TARGET",
+ "id": "749ee0f6-d3da-459a-bf02-282e2da4292c"
+ }
+ }
+ },
+ "CANNOT_REPLY_TO_A_PURE_RENOTE": {
+ "value": {
+ "error": {
+ "message": "You can not reply to a pure Renote.",
+ "code": "CANNOT_REPLY_TO_A_PURE_RENOTE",
+ "id": "3ac74a84-8fd5-4bb0-870f-01804f82ce15"
+ }
+ }
+ },
+ "CANNOT_CREATE_ALREADY_EXPIRED_POLL": {
+ "value": {
+ "error": {
+ "message": "Poll is already expired.",
+ "code": "CANNOT_CREATE_ALREADY_EXPIRED_POLL",
+ "id": "04da457d-b083-4055-9082-955525eda5a5"
+ }
+ }
+ },
+ "NO_SUCH_CHANNEL": {
+ "value": {
+ "error": {
+ "message": "No such channel.",
+ "code": "NO_SUCH_CHANNEL",
+ "id": "b1653923-5453-4edc-b786-7c4f39bb0bbb"
+ }
+ }
+ },
+ "YOU_HAVE_BEEN_BLOCKED": {
+ "value": {
+ "error": {
+ "message": "You have been blocked by this user.",
+ "code": "YOU_HAVE_BEEN_BLOCKED",
+ "id": "b390d7e1-8a5e-46ed-b625-06271cafd3d3"
+ }
+ }
+ },
+ "LESS_RESTRICTIVE_VISIBILITY": {
+ "value": {
+ "error": {
+ "message": "The visibility cannot be less restrictive than the parent note.",
+ "code": "LESS_RESTRICTIVE_VISIBILITY",
+ "id": "c8ab7a7a-8852-41e2-8b24-079bbaceb585"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "To many requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "RATE_LIMIT_EXCEEDED": {
+ "value": {
+ "error": {
+ "message": "Rate limit exceeded. Please try again later.",
+ "code": "RATE_LIMIT_EXCEEDED",
+ "id": "d5826d14-3982-4d2e-8011-b9e9f02499ef"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/notes/delete": {
+ "post": {
+ "operationId": "notes/delete",
+ "summary": "notes/delete",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:notes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/notes/delete.ts"
+ },
+ "tags": [
+ "notes"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "noteId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "noteId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_NOTE": {
+ "value": {
+ "error": {
+ "message": "No such note.",
+ "code": "NO_SUCH_NOTE",
+ "id": "490be23f-8c1f-4796-819f-94cb4f9d1630"
+ }
+ }
+ },
+ "ACCESS_DENIED": {
+ "value": {
+ "error": {
+ "message": "Access denied.",
+ "code": "ACCESS_DENIED",
+ "id": "fe8d7103-0ea8-4ec3-814d-f8b401dc69e9"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "To many requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "RATE_LIMIT_EXCEEDED": {
+ "value": {
+ "error": {
+ "message": "Rate limit exceeded. Please try again later.",
+ "code": "RATE_LIMIT_EXCEEDED",
+ "id": "d5826d14-3982-4d2e-8011-b9e9f02499ef"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/notes/favorites/create": {
+ "post": {
+ "operationId": "notes/favorites/create",
+ "summary": "notes/favorites/create",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:favorites*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/notes/favorites/create.ts"
+ },
+ "tags": [
+ "notes",
+ "favorites"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "noteId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "noteId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_NOTE": {
+ "value": {
+ "error": {
+ "message": "No such note.",
+ "code": "NO_SUCH_NOTE",
+ "id": "6dd26674-e060-4816-909a-45ba3f4da458"
+ }
+ }
+ },
+ "ALREADY_FAVORITED": {
+ "value": {
+ "error": {
+ "message": "The note has already been marked as a favorite.",
+ "code": "ALREADY_FAVORITED",
+ "id": "a402c12b-34dd-41d2-97d8-4d2ffd96a1a6"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/notes/favorites/delete": {
+ "post": {
+ "operationId": "notes/favorites/delete",
+ "summary": "notes/favorites/delete",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:favorites*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/notes/favorites/delete.ts"
+ },
+ "tags": [
+ "notes",
+ "favorites"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "noteId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "noteId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_NOTE": {
+ "value": {
+ "error": {
+ "message": "No such note.",
+ "code": "NO_SUCH_NOTE",
+ "id": "80848a2c-398f-4343-baa9-df1d57696c56"
+ }
+ }
+ },
+ "NOT_FAVORITED": {
+ "value": {
+ "error": {
+ "message": "You have not marked that note a favorite.",
+ "code": "NOT_FAVORITED",
+ "id": "b625fc69-635e-45e9-86f4-dbefbef35af5"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/notes/featured": {
+ "post": {
+ "operationId": "notes/featured",
+ "summary": "notes/featured",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/notes/featured.ts"
+ },
+ "tags": [
+ "notes"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ },
+ "offset": {
+ "type": "integer",
+ "default": 0
+ }
+ },
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "Note",
+ "$ref": "#/components/schemas/Note"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/notes/global-timeline": {
+ "post": {
+ "operationId": "notes/global-timeline",
+ "summary": "notes/global-timeline",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/notes/global-timeline.ts"
+ },
+ "tags": [
+ "notes"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "withFiles": {
+ "type": "boolean",
+ "default": false,
+ "description": "Only show notes that have attached files."
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ },
+ "sinceId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "untilId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "sinceDate": {
+ "type": "integer"
+ },
+ "untilDate": {
+ "type": "integer"
+ }
+ },
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "Note",
+ "$ref": "#/components/schemas/Note"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "GTL_DISABLED": {
+ "value": {
+ "error": {
+ "message": "Global timeline has been disabled.",
+ "code": "GTL_DISABLED",
+ "id": "0332fc13-6ab2-4427-ae80-a9fadffd1a6b"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/notes/hybrid-timeline": {
+ "post": {
+ "operationId": "notes/hybrid-timeline",
+ "summary": "notes/hybrid-timeline",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/notes/hybrid-timeline.ts"
+ },
+ "tags": [
+ "notes"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ },
+ "sinceId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "untilId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "sinceDate": {
+ "type": "integer"
+ },
+ "untilDate": {
+ "type": "integer"
+ },
+ "includeMyRenotes": {
+ "type": "boolean",
+ "default": true
+ },
+ "includeRenotedMyNotes": {
+ "type": "boolean",
+ "default": true
+ },
+ "includeLocalRenotes": {
+ "type": "boolean",
+ "default": true
+ },
+ "withFiles": {
+ "type": "boolean",
+ "default": false,
+ "description": "Only show notes that have attached files."
+ }
+ },
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "Note",
+ "$ref": "#/components/schemas/Note"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "STL_DISABLED": {
+ "value": {
+ "error": {
+ "message": "Hybrid timeline has been disabled.",
+ "code": "STL_DISABLED",
+ "id": "620763f4-f621-4533-ab33-0577a1a3c342"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/notes/local-timeline": {
+ "post": {
+ "operationId": "notes/local-timeline",
+ "summary": "notes/local-timeline",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/notes/local-timeline.ts"
+ },
+ "tags": [
+ "notes"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "withFiles": {
+ "type": "boolean",
+ "default": false,
+ "description": "Only show notes that have attached files."
+ },
+ "fileType": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "excludeNsfw": {
+ "type": "boolean",
+ "default": false
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ },
+ "sinceId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "untilId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "sinceDate": {
+ "type": "integer"
+ },
+ "untilDate": {
+ "type": "integer"
+ }
+ },
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "Note",
+ "$ref": "#/components/schemas/Note"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "LTL_DISABLED": {
+ "value": {
+ "error": {
+ "message": "Local timeline has been disabled.",
+ "code": "LTL_DISABLED",
+ "id": "45a6eb02-7695-4393-b023-dd3be9aaaefd"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/notes/mentions": {
+ "post": {
+ "operationId": "notes/mentions",
+ "summary": "notes/mentions",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/notes/mentions.ts"
+ },
+ "tags": [
+ "notes"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "following": {
+ "type": "boolean",
+ "default": false
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ },
+ "sinceId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "untilId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "visibility": {
+ "type": "string"
+ }
+ },
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "Note",
+ "$ref": "#/components/schemas/Note"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/notes/polls/recommendation": {
+ "post": {
+ "operationId": "notes/polls/recommendation",
+ "summary": "notes/polls/recommendation",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/notes/polls/recommendation.ts"
+ },
+ "tags": [
+ "notes"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ },
+ "offset": {
+ "type": "integer",
+ "default": 0
+ }
+ },
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "Note",
+ "$ref": "#/components/schemas/Note"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/notes/polls/vote": {
+ "post": {
+ "operationId": "notes/polls/vote",
+ "summary": "notes/polls/vote",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:votes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/notes/polls/vote.ts"
+ },
+ "tags": [
+ "notes"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "noteId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "choice": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "noteId",
+ "choice"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_NOTE": {
+ "value": {
+ "error": {
+ "message": "No such note.",
+ "code": "NO_SUCH_NOTE",
+ "id": "ecafbd2e-c283-4d6d-aecb-1a0a33b75396"
+ }
+ }
+ },
+ "NO_POLL": {
+ "value": {
+ "error": {
+ "message": "The note does not attach a poll.",
+ "code": "NO_POLL",
+ "id": "5f979967-52d9-4314-a911-1c673727f92f"
+ }
+ }
+ },
+ "INVALID_CHOICE": {
+ "value": {
+ "error": {
+ "message": "Choice ID is invalid.",
+ "code": "INVALID_CHOICE",
+ "id": "e0cc9a04-f2e8-41e4-a5f1-4127293260cc"
+ }
+ }
+ },
+ "ALREADY_VOTED": {
+ "value": {
+ "error": {
+ "message": "You have already voted.",
+ "code": "ALREADY_VOTED",
+ "id": "0963fc77-efac-419b-9424-b391608dc6d8"
+ }
+ }
+ },
+ "ALREADY_EXPIRED": {
+ "value": {
+ "error": {
+ "message": "The poll is already expired.",
+ "code": "ALREADY_EXPIRED",
+ "id": "1022a357-b085-4054-9083-8f8de358337e"
+ }
+ }
+ },
+ "YOU_HAVE_BEEN_BLOCKED": {
+ "value": {
+ "error": {
+ "message": "You cannot vote this poll because you have been blocked by this user.",
+ "code": "YOU_HAVE_BEEN_BLOCKED",
+ "id": "85a5377e-b1e9-4617-b0b9-5bea73331e49"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/notes/reactions": {
+ "post": {
+ "operationId": "notes/reactions",
+ "summary": "notes/reactions",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/notes/reactions.ts"
+ },
+ "tags": [
+ "notes",
+ "reactions"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "noteId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "type": {
+ "type": "string",
+ "nullable": true
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ },
+ "offset": {
+ "type": "integer",
+ "default": 0
+ },
+ "sinceId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "untilId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "noteId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "NoteReaction",
+ "$ref": "#/components/schemas/NoteReaction"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_NOTE": {
+ "value": {
+ "error": {
+ "message": "No such note.",
+ "code": "NO_SUCH_NOTE",
+ "id": "263fff3d-d0e1-4af4-bea7-8408059b451a"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "get": {
+ "operationId": "notes/reactions",
+ "summary": "notes/reactions",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/notes/reactions.ts"
+ },
+ "tags": [
+ "notes",
+ "reactions"
+ ],
+ "security": [
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "noteId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "type": {
+ "type": "string",
+ "nullable": true
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ },
+ "offset": {
+ "type": "integer",
+ "default": 0
+ },
+ "sinceId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "untilId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "noteId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "NoteReaction",
+ "$ref": "#/components/schemas/NoteReaction"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_NOTE": {
+ "value": {
+ "error": {
+ "message": "No such note.",
+ "code": "NO_SUCH_NOTE",
+ "id": "263fff3d-d0e1-4af4-bea7-8408059b451a"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/notes/reactions/create": {
+ "post": {
+ "operationId": "notes/reactions/create",
+ "summary": "notes/reactions/create",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:reactions*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/notes/reactions/create.ts"
+ },
+ "tags": [
+ "reactions",
+ "notes"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "noteId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "reaction": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "noteId",
+ "reaction"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_NOTE": {
+ "value": {
+ "error": {
+ "message": "No such note.",
+ "code": "NO_SUCH_NOTE",
+ "id": "033d0620-5bfe-4027-965d-980b0c85a3ea"
+ }
+ }
+ },
+ "ALREADY_REACTED": {
+ "value": {
+ "error": {
+ "message": "You are already reacting to that note.",
+ "code": "ALREADY_REACTED",
+ "id": "71efcf98-86d6-4e2b-b2ad-9d032369366b"
+ }
+ }
+ },
+ "YOU_HAVE_BEEN_BLOCKED": {
+ "value": {
+ "error": {
+ "message": "You cannot react this note because you have been blocked by this user.",
+ "code": "YOU_HAVE_BEEN_BLOCKED",
+ "id": "20ef5475-9f38-4e4c-bd33-de6d979498ec"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/notes/reactions/delete": {
+ "post": {
+ "operationId": "notes/reactions/delete",
+ "summary": "notes/reactions/delete",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:reactions*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/notes/reactions/delete.ts"
+ },
+ "tags": [
+ "reactions",
+ "notes"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "noteId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "noteId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_NOTE": {
+ "value": {
+ "error": {
+ "message": "No such note.",
+ "code": "NO_SUCH_NOTE",
+ "id": "764d9fce-f9f2-4a0e-92b1-6ceac9a7ad37"
+ }
+ }
+ },
+ "NOT_REACTED": {
+ "value": {
+ "error": {
+ "message": "You are not reacting to that note.",
+ "code": "NOT_REACTED",
+ "id": "92f4426d-4196-4125-aa5b-02943e2ec8fc"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "To many requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "RATE_LIMIT_EXCEEDED": {
+ "value": {
+ "error": {
+ "message": "Rate limit exceeded. Please try again later.",
+ "code": "RATE_LIMIT_EXCEEDED",
+ "id": "d5826d14-3982-4d2e-8011-b9e9f02499ef"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/notes/renotes": {
+ "post": {
+ "operationId": "notes/renotes",
+ "summary": "notes/renotes",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/notes/renotes.ts"
+ },
+ "tags": [
+ "notes"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "noteId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ },
+ "sinceId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "untilId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "noteId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "Note",
+ "$ref": "#/components/schemas/Note"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_NOTE": {
+ "value": {
+ "error": {
+ "message": "No such note.",
+ "code": "NO_SUCH_NOTE",
+ "id": "12908022-2e21-46cd-ba6a-3edaf6093f46"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/notes/replies": {
+ "post": {
+ "operationId": "notes/replies",
+ "summary": "notes/replies",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/notes/replies.ts"
+ },
+ "tags": [
+ "notes"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "noteId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "sinceId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "untilId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ }
+ },
+ "required": [
+ "noteId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "Note",
+ "$ref": "#/components/schemas/Note"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/notes/search-by-tag": {
+ "post": {
+ "operationId": "notes/search-by-tag",
+ "summary": "notes/search-by-tag",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/notes/search-by-tag.ts"
+ },
+ "tags": [
+ "notes",
+ "hashtags"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "reply": {
+ "type": "boolean",
+ "nullable": true,
+ "default": null
+ },
+ "renote": {
+ "type": "boolean",
+ "nullable": true,
+ "default": null
+ },
+ "withFiles": {
+ "type": "boolean",
+ "default": false,
+ "description": "Only show notes that have attached files."
+ },
+ "poll": {
+ "type": "boolean",
+ "nullable": true,
+ "default": null
+ },
+ "sinceId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "untilId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ }
+ },
+ "anyOf": [
+ {
+ "properties": {
+ "tag": {
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": [
+ "tag"
+ ]
+ },
+ {
+ "properties": {
+ "query": {
+ "type": "array",
+ "description": "The outer arrays are chained with OR, the inner arrays are chained with AND.",
+ "items": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "minLength": 1
+ },
+ "minItems": 1
+ },
+ "minItems": 1
+ }
+ },
+ "required": [
+ "query"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "Note",
+ "$ref": "#/components/schemas/Note"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/notes/search": {
+ "post": {
+ "operationId": "notes/search",
+ "summary": "notes/search",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/notes/search.ts"
+ },
+ "tags": [
+ "notes"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "query": {
+ "type": "string"
+ },
+ "sinceId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "untilId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ },
+ "offset": {
+ "type": "integer",
+ "default": 0
+ },
+ "host": {
+ "type": "string",
+ "nullable": true,
+ "description": "The local host is represented with `null`."
+ },
+ "userId": {
+ "type": "string",
+ "format": "misskey:id",
+ "nullable": true,
+ "default": null
+ },
+ "channelId": {
+ "type": "string",
+ "format": "misskey:id",
+ "nullable": true,
+ "default": null
+ }
+ },
+ "required": [
+ "query"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "Note",
+ "$ref": "#/components/schemas/Note"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/notes/show": {
+ "post": {
+ "operationId": "notes/show",
+ "summary": "notes/show",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/notes/show.ts"
+ },
+ "tags": [
+ "notes"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "noteId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "noteId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "Note",
+ "$ref": "#/components/schemas/Note"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_NOTE": {
+ "value": {
+ "error": {
+ "message": "No such note.",
+ "code": "NO_SUCH_NOTE",
+ "id": "24fcbfc6-2e37-42b6-8388-c29b3861a08d"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/notes/state": {
+ "post": {
+ "operationId": "notes/state",
+ "summary": "notes/state",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/notes/state.ts"
+ },
+ "tags": [
+ "notes"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "noteId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "noteId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "properties": {
+ "isFavorited": {
+ "type": "boolean",
+
+ "nullable": false
+ },
+ "isWatching": {
+ "type": "boolean",
+
+ "nullable": false
+ },
+ "isMutedThread": {
+ "type": "boolean",
+
+ "nullable": false
+ }
+ },
+ "required": [
+ "isFavorited",
+ "isWatching",
+ "isMutedThread"
+ ]
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/notes/thread-muting/create": {
+ "post": {
+ "operationId": "notes/thread-muting/create",
+ "summary": "notes/thread-muting/create",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:account*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/notes/thread-muting/create.ts"
+ },
+ "tags": [
+ "notes"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "noteId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "noteId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_NOTE": {
+ "value": {
+ "error": {
+ "message": "No such note.",
+ "code": "NO_SUCH_NOTE",
+ "id": "5ff67ada-ed3b-2e71-8e87-a1a421e177d2"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/notes/thread-muting/delete": {
+ "post": {
+ "operationId": "notes/thread-muting/delete",
+ "summary": "notes/thread-muting/delete",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:account*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/notes/thread-muting/delete.ts"
+ },
+ "tags": [
+ "notes"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "noteId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "noteId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_NOTE": {
+ "value": {
+ "error": {
+ "message": "No such note.",
+ "code": "NO_SUCH_NOTE",
+ "id": "bddd57ac-ceb3-b29d-4334-86ea5fae481a"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/notes/timeline": {
+ "post": {
+ "operationId": "notes/timeline",
+ "summary": "notes/timeline",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/notes/timeline.ts"
+ },
+ "tags": [
+ "notes"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ },
+ "sinceId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "untilId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "sinceDate": {
+ "type": "integer"
+ },
+ "untilDate": {
+ "type": "integer"
+ },
+ "includeMyRenotes": {
+ "type": "boolean",
+ "default": true
+ },
+ "includeRenotedMyNotes": {
+ "type": "boolean",
+ "default": true
+ },
+ "includeLocalRenotes": {
+ "type": "boolean",
+ "default": true
+ },
+ "withFiles": {
+ "type": "boolean",
+ "default": false,
+ "description": "Only show notes that have attached files."
+ }
+ },
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "Note",
+ "$ref": "#/components/schemas/Note"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/notes/translate": {
+ "post": {
+ "operationId": "notes/translate",
+ "summary": "notes/translate",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/notes/translate.ts"
+ },
+ "tags": [
+ "notes"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "noteId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "targetLang": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "noteId",
+ "targetLang"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_NOTE": {
+ "value": {
+ "error": {
+ "message": "No such note.",
+ "code": "NO_SUCH_NOTE",
+ "id": "bea9b03f-36e0-49c5-a4db-627a029f8971"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/notes/unrenote": {
+ "post": {
+ "operationId": "notes/unrenote",
+ "summary": "notes/unrenote",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:notes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/notes/unrenote.ts"
+ },
+ "tags": [
+ "notes"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "noteId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "noteId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_NOTE": {
+ "value": {
+ "error": {
+ "message": "No such note.",
+ "code": "NO_SUCH_NOTE",
+ "id": "efd4a259-2442-496b-8dd7-b255aa1a160f"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "To many requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "RATE_LIMIT_EXCEEDED": {
+ "value": {
+ "error": {
+ "message": "Rate limit exceeded. Please try again later.",
+ "code": "RATE_LIMIT_EXCEEDED",
+ "id": "d5826d14-3982-4d2e-8011-b9e9f02499ef"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/notes/user-list-timeline": {
+ "post": {
+ "operationId": "notes/user-list-timeline",
+ "summary": "notes/user-list-timeline",
+ "description": "No description provided.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/notes/user-list-timeline.ts"
+ },
+ "tags": [
+ "notes",
+ "lists"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "listId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ },
+ "sinceId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "untilId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "sinceDate": {
+ "type": "integer"
+ },
+ "untilDate": {
+ "type": "integer"
+ },
+ "includeMyRenotes": {
+ "type": "boolean",
+ "default": true
+ },
+ "includeRenotedMyNotes": {
+ "type": "boolean",
+ "default": true
+ },
+ "includeLocalRenotes": {
+ "type": "boolean",
+ "default": true
+ },
+ "withFiles": {
+ "type": "boolean",
+ "default": false,
+ "description": "Only show notes that have attached files."
+ }
+ },
+ "required": [
+ "listId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "Note",
+ "$ref": "#/components/schemas/Note"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_LIST": {
+ "value": {
+ "error": {
+ "message": "No such list.",
+ "code": "NO_SUCH_LIST",
+ "id": "8fb1fbd5-e476-4c37-9fb0-43d55b63a2ff"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/notes/watching/create": {
+ "post": {
+ "operationId": "notes/watching/create",
+ "summary": "notes/watching/create",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:account*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/notes/watching/create.ts"
+ },
+ "tags": [
+ "notes"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "noteId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "noteId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_NOTE": {
+ "value": {
+ "error": {
+ "message": "No such note.",
+ "code": "NO_SUCH_NOTE",
+ "id": "ea0e37a6-90a3-4f58-ba6b-c328ca206fc7"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/notes/watching/delete": {
+ "post": {
+ "operationId": "notes/watching/delete",
+ "summary": "notes/watching/delete",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:account*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/notes/watching/delete.ts"
+ },
+ "tags": [
+ "notes"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "noteId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "noteId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_NOTE": {
+ "value": {
+ "error": {
+ "message": "No such note.",
+ "code": "NO_SUCH_NOTE",
+ "id": "09b3695c-f72c-4731-a428-7cff825fc82e"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/notifications/create": {
+ "post": {
+ "operationId": "notifications/create",
+ "summary": "notifications/create",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:notifications*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/notifications/create.ts"
+ },
+ "tags": [
+ "notifications"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "body": {
+ "type": "string"
+ },
+ "header": {
+ "type": "string",
+ "nullable": true
+ },
+ "icon": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ "required": [
+ "body"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/notifications/mark-all-as-read": {
+ "post": {
+ "operationId": "notifications/mark-all-as-read",
+ "summary": "notifications/mark-all-as-read",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:notifications*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/notifications/mark-all-as-read.ts"
+ },
+ "tags": [
+ "notifications",
+ "account"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {},
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/notifications/read": {
+ "post": {
+ "operationId": "notifications/read",
+ "summary": "notifications/read",
+ "description": "Mark a notification as read.\n\n**Credential required**: *Yes* / **Permission**: *write:notifications*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/notifications/read.ts"
+ },
+ "tags": [
+ "notifications",
+ "account"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "oneOf": [
+ {
+ "type": "object",
+ "properties": {
+ "notificationId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "notificationId"
+ ]
+ },
+ {
+ "type": "object",
+ "properties": {
+ "notificationIds": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "maxItems": 100
+ }
+ },
+ "required": [
+ "notificationIds"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_NOTIFICATION": {
+ "value": {
+ "error": {
+ "message": "No such notification.",
+ "code": "NO_SUCH_NOTIFICATION",
+ "id": "efa929d5-05b5-47d1-beec-e6a4dbed011e"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pages/create": {
+ "post": {
+ "operationId": "pages/create",
+ "summary": "pages/create",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:pages*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/pages/create.ts"
+ },
+ "tags": [
+ "pages"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string",
+ "minLength": 1
+ },
+ "summary": {
+ "type": "string",
+ "nullable": true
+ },
+ "text": {
+ "type": "string",
+ "minLength": 1
+ },
+ "eyeCatchingImageId": {
+ "type": "string",
+ "format": "misskey:id",
+ "nullable": true
+ },
+ "font": {
+ "type": "string",
+ "enum": [
+ "serif",
+ "sans-serif"
+ ],
+ "default": "sans-serif"
+ },
+ "alignCenter": {
+ "type": "boolean",
+ "default": false
+ },
+ "hideTitleWhenPinned": {
+ "type": "boolean",
+ "default": false
+ }
+ },
+ "required": [
+ "title",
+ "name",
+ "text"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "Page",
+ "$ref": "#/components/schemas/Page"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_FILE": {
+ "value": {
+ "error": {
+ "message": "No such file.",
+ "code": "NO_SUCH_FILE",
+ "id": "b7b97489-0f66-4b12-a5ff-b21bd63f6e1c"
+ }
+ }
+ },
+ "NAME_ALREADY_EXISTS": {
+ "value": {
+ "error": {
+ "message": "Specified name already exists.",
+ "code": "NAME_ALREADY_EXISTS",
+ "id": "4650348e-301c-499a-83c9-6aa988c66bc1"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "To many requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "RATE_LIMIT_EXCEEDED": {
+ "value": {
+ "error": {
+ "message": "Rate limit exceeded. Please try again later.",
+ "code": "RATE_LIMIT_EXCEEDED",
+ "id": "d5826d14-3982-4d2e-8011-b9e9f02499ef"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pages/delete": {
+ "post": {
+ "operationId": "pages/delete",
+ "summary": "pages/delete",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:pages*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/pages/delete.ts"
+ },
+ "tags": [
+ "pages"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "pageId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "pageId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_PAGE": {
+ "value": {
+ "error": {
+ "message": "No such page.",
+ "code": "NO_SUCH_PAGE",
+ "id": "eb0c6e1d-d519-4764-9486-52a7e1c6392a"
+ }
+ }
+ },
+ "ACCESS_DENIED": {
+ "value": {
+ "error": {
+ "message": "Access denied.",
+ "code": "ACCESS_DENIED",
+ "id": "8b741b3e-2c22-44b3-a15f-29949aa1601e"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pages/featured": {
+ "post": {
+ "operationId": "pages/featured",
+ "summary": "pages/featured",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/pages/featured.ts"
+ },
+ "tags": [
+ "pages"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {},
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "Page",
+ "$ref": "#/components/schemas/Page"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pages/like": {
+ "post": {
+ "operationId": "pages/like",
+ "summary": "pages/like",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:page-likes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/pages/like.ts"
+ },
+ "tags": [
+ "pages"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "pageId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "pageId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_PAGE": {
+ "value": {
+ "error": {
+ "message": "No such page.",
+ "code": "NO_SUCH_PAGE",
+ "id": "cc98a8a2-0dc3-4123-b198-62c71df18ed3"
+ }
+ }
+ },
+ "YOUR_PAGE": {
+ "value": {
+ "error": {
+ "message": "You cannot like your page.",
+ "code": "YOUR_PAGE",
+ "id": "28800466-e6db-40f2-8fae-bf9e82aa92b8"
+ }
+ }
+ },
+ "ALREADY_LIKED": {
+ "value": {
+ "error": {
+ "message": "The page has already been liked.",
+ "code": "ALREADY_LIKED",
+ "id": "cc98a8a2-0dc3-4123-b198-62c71df18ed3"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pages/show": {
+ "post": {
+ "operationId": "pages/show",
+ "summary": "pages/show",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/pages/show.ts"
+ },
+ "tags": [
+ "pages"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "anyOf": [
+ {
+ "properties": {
+ "pageId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "pageId"
+ ]
+ },
+ {
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "username": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "username"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "Page",
+ "$ref": "#/components/schemas/Page"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_PAGE": {
+ "value": {
+ "error": {
+ "message": "No such page.",
+ "code": "NO_SUCH_PAGE",
+ "id": "222120c0-3ead-4528-811b-b96f233388d7"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pages/unlike": {
+ "post": {
+ "operationId": "pages/unlike",
+ "summary": "pages/unlike",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:page-likes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/pages/unlike.ts"
+ },
+ "tags": [
+ "pages"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "pageId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "pageId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_PAGE": {
+ "value": {
+ "error": {
+ "message": "No such page.",
+ "code": "NO_SUCH_PAGE",
+ "id": "a0d41e20-1993-40bd-890e-f6e560ae648e"
+ }
+ }
+ },
+ "NOT_LIKED": {
+ "value": {
+ "error": {
+ "message": "You have not liked that page.",
+ "code": "NOT_LIKED",
+ "id": "f5e586b0-ce93-4050-b0e3-7f31af5259ee"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pages/update": {
+ "post": {
+ "operationId": "pages/update",
+ "summary": "pages/update",
+ "description": "No description provided.\n\n**Credential required**: *Yes* / **Permission**: *write:pages*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/pages/update.ts"
+ },
+ "tags": [
+ "pages"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "pageId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "title": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string",
+ "minLength": 1
+ },
+ "summary": {
+ "type": "string",
+ "nullable": true
+ },
+ "text": {
+ "type": "string",
+ "minLength": 1
+ },
+ "eyeCatchingImageId": {
+ "type": "string",
+ "format": "misskey:id",
+ "nullable": true
+ },
+ "font": {
+ "type": "string",
+ "enum": [
+ "serif",
+ "sans-serif"
+ ]
+ },
+ "alignCenter": {
+ "type": "boolean"
+ },
+ "hideTitleWhenPinned": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "pageId",
+ "title",
+ "name",
+ "text"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_PAGE": {
+ "value": {
+ "error": {
+ "message": "No such page.",
+ "code": "NO_SUCH_PAGE",
+ "id": "21149b9e-3616-4778-9592-c4ce89f5a864"
+ }
+ }
+ },
+ "ACCESS_DENIED": {
+ "value": {
+ "error": {
+ "message": "Access denied.",
+ "code": "ACCESS_DENIED",
+ "id": "3c15cd52-3b4b-4274-967d-6456fc4f792b"
+ }
+ }
+ },
+ "NO_SUCH_FILE": {
+ "value": {
+ "error": {
+ "message": "No such file.",
+ "code": "NO_SUCH_FILE",
+ "id": "cfc23c7c-3887-490e-af30-0ed576703c82"
+ }
+ }
+ },
+ "NAME_ALREADY_EXISTS": {
+ "value": {
+ "error": {
+ "message": "Specified name already exists.",
+ "code": "NAME_ALREADY_EXISTS",
+ "id": "2298a392-d4a1-44c5-9ebb-ac1aeaa5a9ab"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "To many requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "RATE_LIMIT_EXCEEDED": {
+ "value": {
+ "error": {
+ "message": "Rate limit exceeded. Please try again later.",
+ "code": "RATE_LIMIT_EXCEEDED",
+ "id": "d5826d14-3982-4d2e-8011-b9e9f02499ef"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/ping": {
+ "post": {
+ "operationId": "ping",
+ "summary": "ping",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/ping.ts"
+ },
+ "tags": [
+ "meta"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {},
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "properties": {
+ "pong": {
+ "type": "number",
+
+ "nullable": false
+ }
+ },
+ "required": [
+ "pong"
+ ]
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/pinned-users": {
+ "post": {
+ "operationId": "pinned-users",
+ "summary": "pinned-users",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/pinned-users.ts"
+ },
+ "tags": [
+ "users"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {},
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "UserDetailed",
+ "$ref": "#/components/schemas/UserDetailed"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/request-reset-password": {
+ "post": {
+ "operationId": "request-reset-password",
+ "summary": "request-reset-password",
+ "description": "Request a users password to be reset.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/request-reset-password.ts"
+ },
+ "tags": [
+ "reset password"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "username": {
+ "type": "string"
+ },
+ "email": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "username",
+ "email"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "429": {
+ "description": "To many requests",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "RATE_LIMIT_EXCEEDED": {
+ "value": {
+ "error": {
+ "message": "Rate limit exceeded. Please try again later.",
+ "code": "RATE_LIMIT_EXCEEDED",
+ "id": "d5826d14-3982-4d2e-8011-b9e9f02499ef"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/reset-db": {
+ "post": {
+ "operationId": "reset-db",
+ "summary": "reset-db",
+ "description": "Only available when running with NODE_ENV=testing
. Reset the database and flush Redis.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/reset-db.ts"
+ },
+ "tags": [
+ "non-productive"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {},
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/reset-password": {
+ "post": {
+ "operationId": "reset-password",
+ "summary": "reset-password",
+ "description": "Complete the password reset that was previously requested.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/reset-password.ts"
+ },
+ "tags": [
+ "reset password"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "token": {
+ "type": "string"
+ },
+ "password": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "token",
+ "password"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/server-info": {
+ "post": {
+ "operationId": "server-info",
+ "summary": "server-info",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/server-info.ts"
+ },
+ "tags": [
+ "meta"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {},
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/stats": {
+ "post": {
+ "operationId": "stats",
+ "summary": "stats",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/stats.ts"
+ },
+ "tags": [
+ "meta"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {},
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "properties": {
+ "notesCount": {
+ "type": "number",
+
+ "nullable": false
+ },
+ "originalNotesCount": {
+ "type": "number",
+
+ "nullable": false
+ },
+ "usersCount": {
+ "type": "number",
+
+ "nullable": false
+ },
+ "originalUsersCount": {
+ "type": "number",
+
+ "nullable": false
+ },
+ "instances": {
+ "type": "number",
+
+ "nullable": false
+ },
+ "driveUsageLocal": {
+ "type": "number",
+
+ "nullable": false
+ },
+ "driveUsageRemote": {
+ "type": "number",
+
+ "nullable": false
+ }
+ },
+ "required": [
+ "notesCount",
+ "originalNotesCount",
+ "usersCount",
+ "originalUsersCount",
+ "instances",
+ "driveUsageLocal",
+ "driveUsageRemote"
+ ]
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/sw/register": {
+ "post": {
+ "operationId": "sw/register",
+ "summary": "sw/register",
+ "description": "Register to receive push notifications.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/sw/register.ts"
+ },
+ "tags": [
+ "account"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "endpoint": {
+ "type": "string"
+ },
+ "auth": {
+ "type": "string"
+ },
+ "publickey": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "endpoint",
+ "auth",
+ "publickey"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "properties": {
+ "state": {
+ "type": "string",
+ "optional": true,
+ "nullable": false,
+ "enum": [
+ "already-subscribed",
+ "subscribed"
+ ]
+ },
+ "key": {
+ "type": "string",
+
+ "nullable": true
+ }
+ },
+ "required": [
+ "key"
+ ]
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/sw/unregister": {
+ "post": {
+ "operationId": "sw/unregister",
+ "summary": "sw/unregister",
+ "description": "Unregister from receiving push notifications.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/sw/unregister.ts"
+ },
+ "tags": [
+ "account"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "endpoint": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "endpoint"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/test": {
+ "post": {
+ "operationId": "test",
+ "summary": "test",
+ "description": "Endpoint for testing input validation.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/test.ts"
+ },
+ "tags": [
+ "non-productive"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "required": {
+ "type": "boolean"
+ },
+ "string": {
+ "type": "string"
+ },
+ "default": {
+ "type": "string",
+ "default": "hello"
+ },
+ "nullableDefault": {
+ "type": "string",
+ "nullable": true,
+ "default": "hello"
+ },
+ "id": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "required"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/username/available": {
+ "post": {
+ "operationId": "username/available",
+ "summary": "username/available",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/username/available.ts"
+ },
+ "tags": [
+ "users"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "username": {
+ "type": "string",
+ "pattern": "^\\w{1,20}$"
+ }
+ },
+ "required": [
+ "username"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "properties": {
+ "available": {
+ "type": "boolean",
+
+ "nullable": false
+ }
+ },
+ "required": [
+ "available"
+ ]
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/users": {
+ "post": {
+ "operationId": "users",
+ "summary": "users",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/users.ts"
+ },
+ "tags": [
+ "users"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ },
+ "offset": {
+ "type": "integer",
+ "default": 0
+ },
+ "sort": {
+ "type": "string",
+ "enum": [
+ "+follower",
+ "-follower",
+ "+createdAt",
+ "-createdAt",
+ "+updatedAt",
+ "-updatedAt"
+ ]
+ },
+ "state": {
+ "type": "string",
+ "enum": [
+ "all",
+ "admin",
+ "moderator",
+ "adminOrModerator",
+ "alive"
+ ],
+ "default": "all"
+ },
+ "origin": {
+ "type": "string",
+ "enum": [
+ "combined",
+ "local",
+ "remote"
+ ],
+ "default": "local"
+ },
+ "hostname": {
+ "type": "string",
+ "nullable": true,
+ "default": null,
+ "description": "The local host is represented with `null`."
+ }
+ },
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "UserDetailed",
+ "$ref": "#/components/schemas/UserDetailed"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/users/clips": {
+ "post": {
+ "operationId": "users/clips",
+ "summary": "users/clips",
+ "description": "Show all clips this user owns.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/users/clips.ts"
+ },
+ "tags": [
+ "users",
+ "clips"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "userId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ },
+ "sinceId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "untilId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "userId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "Clip",
+ "$ref": "#/components/schemas/Clip"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/users/followers": {
+ "post": {
+ "operationId": "users/followers",
+ "summary": "users/followers",
+ "description": "Show everyone that follows this user.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/users/followers.ts"
+ },
+ "tags": [
+ "users"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "sinceId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "untilId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ }
+ },
+ "anyOf": [
+ {
+ "properties": {
+ "userId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "userId"
+ ]
+ },
+ {
+ "properties": {
+ "username": {
+ "type": "string"
+ },
+ "host": {
+ "type": "string",
+ "nullable": true,
+ "description": "The local host is represented with `null`."
+ }
+ },
+ "required": [
+ "username",
+ "host"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "Following",
+ "$ref": "#/components/schemas/Following"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_USER": {
+ "value": {
+ "error": {
+ "message": "No such user.",
+ "code": "NO_SUCH_USER",
+ "id": "27fa5435-88ab-43de-9360-387de88727cd"
+ }
+ }
+ },
+ "FORBIDDEN": {
+ "value": {
+ "error": {
+ "message": "Forbidden.",
+ "code": "FORBIDDEN",
+ "id": "3c6a84db-d619-26af-ca14-06232a21df8a"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/users/following": {
+ "post": {
+ "operationId": "users/following",
+ "summary": "users/following",
+ "description": "Show everyone that this user is following.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/users/following.ts"
+ },
+ "tags": [
+ "users"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "sinceId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "untilId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ }
+ },
+ "anyOf": [
+ {
+ "properties": {
+ "userId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "userId"
+ ]
+ },
+ {
+ "properties": {
+ "username": {
+ "type": "string"
+ },
+ "host": {
+ "type": "string",
+ "nullable": true,
+ "description": "The local host is represented with `null`."
+ }
+ },
+ "required": [
+ "username",
+ "host"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "Following",
+ "$ref": "#/components/schemas/Following"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_USER": {
+ "value": {
+ "error": {
+ "message": "No such user.",
+ "code": "NO_SUCH_USER",
+ "id": "63e4aba4-4156-4e53-be25-c9559e42d71b"
+ }
+ }
+ },
+ "FORBIDDEN": {
+ "value": {
+ "error": {
+ "message": "Forbidden.",
+ "code": "FORBIDDEN",
+ "id": "f6cdb0df-c19f-ec5c-7dbb-0ba84a1f92ba"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/users/gallery/posts": {
+ "post": {
+ "operationId": "users/gallery/posts",
+ "summary": "users/gallery/posts",
+ "description": "Show all gallery posts by the given user.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/users/gallery/posts.ts"
+ },
+ "tags": [
+ "users",
+ "gallery"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "userId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ },
+ "sinceId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "untilId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "userId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "GalleryPost",
+ "$ref": "#/components/schemas/GalleryPost"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/users/get-frequently-replied-users": {
+ "post": {
+ "operationId": "users/get-frequently-replied-users",
+ "summary": "users/get-frequently-replied-users",
+ "description": "Get a list of other users that the specified user frequently replies to.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/users/get-frequently-replied-users.ts"
+ },
+ "tags": [
+ "users"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "userId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ }
+ },
+ "required": [
+ "userId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "properties": {
+ "user": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "UserDetailed",
+ "$ref": "#/components/schemas/UserDetailed"
+ },
+ "weight": {
+ "type": "number",
+
+ "nullable": false
+ }
+ },
+ "required": [
+ "user",
+ "weight"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_USER": {
+ "value": {
+ "error": {
+ "message": "No such user.",
+ "code": "NO_SUCH_USER",
+ "id": "e6965129-7b2a-40a4-bae2-cd84cd434822"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/users/groups/create": {
+ "post": {
+ "operationId": "users/groups/create",
+ "summary": "users/groups/create",
+ "description": "Create a new group.\n\n**Credential required**: *Yes* / **Permission**: *write:user-groups*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/users/groups/create.ts"
+ },
+ "tags": [
+ "groups"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 100
+ }
+ },
+ "required": [
+ "name"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "UserGroup",
+ "$ref": "#/components/schemas/UserGroup"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/users/groups/delete": {
+ "post": {
+ "operationId": "users/groups/delete",
+ "summary": "users/groups/delete",
+ "description": "Delete an existing group.\n\n**Credential required**: *Yes* / **Permission**: *write:user-groups*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/users/groups/delete.ts"
+ },
+ "tags": [
+ "groups"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "groupId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "groupId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_GROUP": {
+ "value": {
+ "error": {
+ "message": "No such group.",
+ "code": "NO_SUCH_GROUP",
+ "id": "63dbd64c-cd77-413f-8e08-61781e210b38"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/users/groups/invitations/accept": {
+ "post": {
+ "operationId": "users/groups/invitations/accept",
+ "summary": "users/groups/invitations/accept",
+ "description": "Join a group the authenticated user has been invited to.\n\n**Credential required**: *Yes* / **Permission**: *write:user-groups*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/users/groups/invitations/accept.ts"
+ },
+ "tags": [
+ "groups",
+ "users"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "invitationId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "invitationId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_INVITATION": {
+ "value": {
+ "error": {
+ "message": "No such invitation.",
+ "code": "NO_SUCH_INVITATION",
+ "id": "98c11eca-c890-4f42-9806-c8c8303ebb5e"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/users/groups/invitations/reject": {
+ "post": {
+ "operationId": "users/groups/invitations/reject",
+ "summary": "users/groups/invitations/reject",
+ "description": "Delete an existing group invitation for the authenticated user without joining the group.\n\n**Credential required**: *Yes* / **Permission**: *write:user-groups*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/users/groups/invitations/reject.ts"
+ },
+ "tags": [
+ "groups",
+ "users"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "invitationId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "invitationId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_INVITATION": {
+ "value": {
+ "error": {
+ "message": "No such invitation.",
+ "code": "NO_SUCH_INVITATION",
+ "id": "ad7471d4-2cd9-44b4-ac68-e7136b4ce656"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/users/groups/invite": {
+ "post": {
+ "operationId": "users/groups/invite",
+ "summary": "users/groups/invite",
+ "description": "Invite a user to an existing group.\n\n**Credential required**: *Yes* / **Permission**: *write:user-groups*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/users/groups/invite.ts"
+ },
+ "tags": [
+ "groups",
+ "users"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "groupId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "userId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "groupId",
+ "userId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_GROUP": {
+ "value": {
+ "error": {
+ "message": "No such group.",
+ "code": "NO_SUCH_GROUP",
+ "id": "583f8bc0-8eee-4b78-9299-1e14fc91e409"
+ }
+ }
+ },
+ "NO_SUCH_USER": {
+ "value": {
+ "error": {
+ "message": "No such user.",
+ "code": "NO_SUCH_USER",
+ "id": "da52de61-002c-475b-90e1-ba64f9cf13a8"
+ }
+ }
+ },
+ "ALREADY_ADDED": {
+ "value": {
+ "error": {
+ "message": "That user has already been added to that group.",
+ "code": "ALREADY_ADDED",
+ "id": "7e35c6a0-39b2-4488-aea6-6ee20bd5da2c"
+ }
+ }
+ },
+ "ALREADY_INVITED": {
+ "value": {
+ "error": {
+ "message": "That user has already been invited to that group.",
+ "code": "ALREADY_INVITED",
+ "id": "ee0f58b4-b529-4d13-b761-b9a3e69f97e6"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/users/groups/joined": {
+ "post": {
+ "operationId": "users/groups/joined",
+ "summary": "users/groups/joined",
+ "description": "List the groups that the authenticated user is a member of.\n\n**Credential required**: *Yes* / **Permission**: *read:user-groups*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/users/groups/joined.ts"
+ },
+ "tags": [
+ "groups",
+ "account"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {},
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "UserGroup",
+ "$ref": "#/components/schemas/UserGroup"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/users/groups/leave": {
+ "post": {
+ "operationId": "users/groups/leave",
+ "summary": "users/groups/leave",
+ "description": "Leave a group. The owner of a group can not leave. They must transfer ownership or delete the group instead.\n\n**Credential required**: *Yes* / **Permission**: *write:user-groups*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/users/groups/leave.ts"
+ },
+ "tags": [
+ "groups",
+ "users"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "groupId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "groupId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_GROUP": {
+ "value": {
+ "error": {
+ "message": "No such group.",
+ "code": "NO_SUCH_GROUP",
+ "id": "62780270-1f67-5dc0-daca-3eb510612e31"
+ }
+ }
+ },
+ "YOU_ARE_OWNER": {
+ "value": {
+ "error": {
+ "message": "Your are the owner.",
+ "code": "YOU_ARE_OWNER",
+ "id": "b6d6e0c2-ef8a-9bb8-653d-79f4a3107c69"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/users/groups/owned": {
+ "post": {
+ "operationId": "users/groups/owned",
+ "summary": "users/groups/owned",
+ "description": "List the groups that the authenticated user is the owner of.\n\n**Credential required**: *Yes* / **Permission**: *read:user-groups*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/users/groups/owned.ts"
+ },
+ "tags": [
+ "groups",
+ "account"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {},
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "UserGroup",
+ "$ref": "#/components/schemas/UserGroup"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/users/groups/pull": {
+ "post": {
+ "operationId": "users/groups/pull",
+ "summary": "users/groups/pull",
+ "description": "Removes a specified user from a group. The owner can not be removed.\n\n**Credential required**: *Yes* / **Permission**: *write:user-groups*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/users/groups/pull.ts"
+ },
+ "tags": [
+ "groups",
+ "users"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "groupId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "userId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "groupId",
+ "userId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_GROUP": {
+ "value": {
+ "error": {
+ "message": "No such group.",
+ "code": "NO_SUCH_GROUP",
+ "id": "4662487c-05b1-4b78-86e5-fd46998aba74"
+ }
+ }
+ },
+ "NO_SUCH_USER": {
+ "value": {
+ "error": {
+ "message": "No such user.",
+ "code": "NO_SUCH_USER",
+ "id": "0b5cc374-3681-41da-861e-8bc1146f7a55"
+ }
+ }
+ },
+ "IS_OWNER": {
+ "value": {
+ "error": {
+ "message": "The user is the owner.",
+ "code": "IS_OWNER",
+ "id": "1546eed5-4414-4dea-81c1-b0aec4f6d2af"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/users/groups/show": {
+ "post": {
+ "operationId": "users/groups/show",
+ "summary": "users/groups/show",
+ "description": "Show the properties of a group.\n\n**Credential required**: *Yes* / **Permission**: *read:user-groups*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/users/groups/show.ts"
+ },
+ "tags": [
+ "groups",
+ "account"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "groupId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "groupId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "UserGroup",
+ "$ref": "#/components/schemas/UserGroup"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_GROUP": {
+ "value": {
+ "error": {
+ "message": "No such group.",
+ "code": "NO_SUCH_GROUP",
+ "id": "ea04751e-9b7e-487b-a509-330fb6bd6b9b"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/users/groups/transfer": {
+ "post": {
+ "operationId": "users/groups/transfer",
+ "summary": "users/groups/transfer",
+ "description": "Transfer ownership of a group from the authenticated user to another user.\n\n**Credential required**: *Yes* / **Permission**: *write:user-groups*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/users/groups/transfer.ts"
+ },
+ "tags": [
+ "groups",
+ "users"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "groupId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "userId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "groupId",
+ "userId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "UserGroup",
+ "$ref": "#/components/schemas/UserGroup"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_GROUP": {
+ "value": {
+ "error": {
+ "message": "No such group.",
+ "code": "NO_SUCH_GROUP",
+ "id": "8e31d36b-2f88-4ccd-a438-e2d78a9162db"
+ }
+ }
+ },
+ "NO_SUCH_USER": {
+ "value": {
+ "error": {
+ "message": "No such user.",
+ "code": "NO_SUCH_USER",
+ "id": "711f7ebb-bbb9-4dfa-b540-b27809fed5e9"
+ }
+ }
+ },
+ "NO_SUCH_GROUP_MEMBER": {
+ "value": {
+ "error": {
+ "message": "No such group member.",
+ "code": "NO_SUCH_GROUP_MEMBER",
+ "id": "d31bebee-196d-42c2-9a3e-9474d4be6cc4"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/users/groups/update": {
+ "post": {
+ "operationId": "users/groups/update",
+ "summary": "users/groups/update",
+ "description": "Update the properties of a group.\n\n**Credential required**: *Yes* / **Permission**: *write:user-groups*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/users/groups/update.ts"
+ },
+ "tags": [
+ "groups"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "groupId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "name": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 100
+ }
+ },
+ "required": [
+ "groupId",
+ "name"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "UserGroup",
+ "$ref": "#/components/schemas/UserGroup"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_GROUP": {
+ "value": {
+ "error": {
+ "message": "No such group.",
+ "code": "NO_SUCH_GROUP",
+ "id": "9081cda3-7a9e-4fac-a6ce-908d70f282f6"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/users/lists/create": {
+ "post": {
+ "operationId": "users/lists/create",
+ "summary": "users/lists/create",
+ "description": "Create a new list of users.\n\n**Credential required**: *Yes* / **Permission**: *write:account*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/users/lists/create.ts"
+ },
+ "tags": [
+ "lists"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 100
+ }
+ },
+ "required": [
+ "name"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "UserList",
+ "$ref": "#/components/schemas/UserList"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/users/lists/delete": {
+ "post": {
+ "operationId": "users/lists/delete",
+ "summary": "users/lists/delete",
+ "description": "Delete an existing list of users.\n\n**Credential required**: *Yes* / **Permission**: *write:account*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/users/lists/delete.ts"
+ },
+ "tags": [
+ "lists"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "listId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "listId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_LIST": {
+ "value": {
+ "error": {
+ "message": "No such list.",
+ "code": "NO_SUCH_LIST",
+ "id": "78436795-db79-42f5-b1e2-55ea2cf19166"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/users/lists/list": {
+ "post": {
+ "operationId": "users/lists/list",
+ "summary": "users/lists/list",
+ "description": "Show all lists that the authenticated user has created.\n\n**Credential required**: *Yes* / **Permission**: *read:account*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/users/lists/list.ts"
+ },
+ "tags": [
+ "lists",
+ "account"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {},
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "UserList",
+ "$ref": "#/components/schemas/UserList"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/users/lists/pull": {
+ "post": {
+ "operationId": "users/lists/pull",
+ "summary": "users/lists/pull",
+ "description": "Remove a user from a list.\n\n**Credential required**: *Yes* / **Permission**: *write:account*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/users/lists/pull.ts"
+ },
+ "tags": [
+ "lists",
+ "users"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "listId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "userId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "listId",
+ "userId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_LIST": {
+ "value": {
+ "error": {
+ "message": "No such list.",
+ "code": "NO_SUCH_LIST",
+ "id": "7f44670e-ab16-43b8-b4c1-ccd2ee89cc02"
+ }
+ }
+ },
+ "NO_SUCH_USER": {
+ "value": {
+ "error": {
+ "message": "No such user.",
+ "code": "NO_SUCH_USER",
+ "id": "588e7f72-c744-4a61-b180-d354e912bda2"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/users/lists/push": {
+ "post": {
+ "operationId": "users/lists/push",
+ "summary": "users/lists/push",
+ "description": "Add a user to an existing list.\n\n**Credential required**: *Yes* / **Permission**: *write:account*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/users/lists/push.ts"
+ },
+ "tags": [
+ "lists",
+ "users"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "listId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "userId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "listId",
+ "userId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_LIST": {
+ "value": {
+ "error": {
+ "message": "No such list.",
+ "code": "NO_SUCH_LIST",
+ "id": "2214501d-ac96-4049-b717-91e42272a711"
+ }
+ }
+ },
+ "NO_SUCH_USER": {
+ "value": {
+ "error": {
+ "message": "No such user.",
+ "code": "NO_SUCH_USER",
+ "id": "a89abd3d-f0bc-4cce-beb1-2f446f4f1e6a"
+ }
+ }
+ },
+ "ALREADY_ADDED": {
+ "value": {
+ "error": {
+ "message": "That user has already been added to that list.",
+ "code": "ALREADY_ADDED",
+ "id": "1de7c884-1595-49e9-857e-61f12f4d4fc5"
+ }
+ }
+ },
+ "YOU_HAVE_BEEN_BLOCKED": {
+ "value": {
+ "error": {
+ "message": "You cannot push this user because you have been blocked by this user.",
+ "code": "YOU_HAVE_BEEN_BLOCKED",
+ "id": "990232c5-3f9d-4d83-9f3f-ef27b6332a4b"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/users/lists/show": {
+ "post": {
+ "operationId": "users/lists/show",
+ "summary": "users/lists/show",
+ "description": "Show the properties of a list.\n\n**Credential required**: *Yes* / **Permission**: *read:account*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/users/lists/show.ts"
+ },
+ "tags": [
+ "lists",
+ "account"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "listId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "listId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "UserList",
+ "$ref": "#/components/schemas/UserList"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_LIST": {
+ "value": {
+ "error": {
+ "message": "No such list.",
+ "code": "NO_SUCH_LIST",
+ "id": "7bc05c21-1d7a-41ae-88f1-66820f4dc686"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/users/lists/update": {
+ "post": {
+ "operationId": "users/lists/update",
+ "summary": "users/lists/update",
+ "description": "Update the properties of a list.\n\n**Credential required**: *Yes* / **Permission**: *write:account*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/users/lists/update.ts"
+ },
+ "tags": [
+ "lists"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "listId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "name": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 100
+ }
+ },
+ "required": [
+ "listId",
+ "name"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "UserList",
+ "$ref": "#/components/schemas/UserList"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_LIST": {
+ "value": {
+ "error": {
+ "message": "No such list.",
+ "code": "NO_SUCH_LIST",
+ "id": "796666fe-3dff-4d39-becb-8a5932c1d5b7"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/users/notes": {
+ "post": {
+ "operationId": "users/notes",
+ "summary": "users/notes",
+ "description": "Show all notes that this user created.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/users/notes.ts"
+ },
+ "tags": [
+ "users",
+ "notes"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "userId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "includeReplies": {
+ "type": "boolean",
+ "default": true
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ },
+ "sinceId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "untilId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "sinceDate": {
+ "type": "integer"
+ },
+ "untilDate": {
+ "type": "integer"
+ },
+ "includeMyRenotes": {
+ "type": "boolean",
+ "default": true
+ },
+ "withFiles": {
+ "type": "boolean",
+ "default": false
+ },
+ "fileType": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "excludeNsfw": {
+ "type": "boolean",
+ "default": false
+ }
+ },
+ "required": [
+ "userId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "Note",
+ "$ref": "#/components/schemas/Note"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_USER": {
+ "value": {
+ "error": {
+ "message": "No such user.",
+ "code": "NO_SUCH_USER",
+ "id": "27e494ba-2ac2-48e8-893b-10d4d8c2387b"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/users/pages": {
+ "post": {
+ "operationId": "users/pages",
+ "summary": "users/pages",
+ "description": "Show all pages this user created.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/users/pages.ts"
+ },
+ "tags": [
+ "users",
+ "pages"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "userId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ },
+ "sinceId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "untilId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "userId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "Page",
+ "$ref": "#/components/schemas/Page"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/users/reactions": {
+ "post": {
+ "operationId": "users/reactions",
+ "summary": "users/reactions",
+ "description": "Show all reactions this user made.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/users/reactions.ts"
+ },
+ "tags": [
+ "users",
+ "reactions"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "userId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ },
+ "sinceId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "untilId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "sinceDate": {
+ "type": "integer"
+ },
+ "untilDate": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "userId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "NoteReaction",
+ "$ref": "#/components/schemas/NoteReaction"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "REACTIONS_NOT_PUBLIC": {
+ "value": {
+ "error": {
+ "message": "Reactions of the user is not public.",
+ "code": "REACTIONS_NOT_PUBLIC",
+ "id": "673a7dd2-6924-1093-e0c0-e68456ceae5c"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/users/recommendation": {
+ "post": {
+ "operationId": "users/recommendation",
+ "summary": "users/recommendation",
+ "description": "Show users that the authenticated user might be interested to follow.\n\n**Credential required**: *Yes* / **Permission**: *read:account*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/users/recommendation.ts"
+ },
+ "tags": [
+ "users"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ },
+ "offset": {
+ "type": "integer",
+ "default": 0
+ }
+ },
+ "required": []
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "UserDetailed",
+ "$ref": "#/components/schemas/UserDetailed"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/users/relation": {
+ "post": {
+ "operationId": "users/relation",
+ "summary": "users/relation",
+ "description": "Show the different kinds of relations between the authenticated user and the specified user(s).\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/users/relation.ts"
+ },
+ "tags": [
+ "users"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "userId": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ }
+ ]
+ }
+ },
+ "required": [
+ "userId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+
+ "nullable": false,
+ "oneOf": [
+ {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "id"
+ },
+ "isFollowing": {
+ "type": "boolean",
+
+ "nullable": false
+ },
+ "hasPendingFollowRequestFromYou": {
+ "type": "boolean",
+
+ "nullable": false
+ },
+ "hasPendingFollowRequestToYou": {
+ "type": "boolean",
+
+ "nullable": false
+ },
+ "isFollowed": {
+ "type": "boolean",
+
+ "nullable": false
+ },
+ "isBlocking": {
+ "type": "boolean",
+
+ "nullable": false
+ },
+ "isBlocked": {
+ "type": "boolean",
+
+ "nullable": false
+ },
+ "isMuted": {
+ "type": "boolean",
+
+ "nullable": false
+ }
+ },
+ "required": [
+ "id",
+ "isFollowing",
+ "hasPendingFollowRequestFromYou",
+ "hasPendingFollowRequestToYou",
+ "isFollowed",
+ "isBlocking",
+ "isBlocked",
+ "isMuted"
+ ]
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "properties": {
+ "id": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "id"
+ },
+ "isFollowing": {
+ "type": "boolean",
+
+ "nullable": false
+ },
+ "hasPendingFollowRequestFromYou": {
+ "type": "boolean",
+
+ "nullable": false
+ },
+ "hasPendingFollowRequestToYou": {
+ "type": "boolean",
+
+ "nullable": false
+ },
+ "isFollowed": {
+ "type": "boolean",
+
+ "nullable": false
+ },
+ "isBlocking": {
+ "type": "boolean",
+
+ "nullable": false
+ },
+ "isBlocked": {
+ "type": "boolean",
+
+ "nullable": false
+ },
+ "isMuted": {
+ "type": "boolean",
+
+ "nullable": false
+ }
+ },
+ "required": [
+ "id",
+ "isFollowing",
+ "hasPendingFollowRequestFromYou",
+ "hasPendingFollowRequestToYou",
+ "isFollowed",
+ "isBlocking",
+ "isBlocked",
+ "isMuted"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/users/report-abuse": {
+ "post": {
+ "operationId": "users/report-abuse",
+ "summary": "users/report-abuse",
+ "description": "File a report.\n\n**Credential required**: *Yes*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/users/report-abuse.ts"
+ },
+ "tags": [
+ "users"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "userId": {
+ "type": "string",
+ "format": "misskey:id"
+ },
+ "urls": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "nullable": true,
+ "uniqueItems": true
+ },
+ "comment": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 2048
+ }
+ },
+ "required": [
+ "userId",
+ "comment"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_USER": {
+ "value": {
+ "error": {
+ "message": "No such user.",
+ "code": "NO_SUCH_USER",
+ "id": "1acefcb5-0959-43fd-9685-b48305736cb5"
+ }
+ }
+ },
+ "CANNOT_REPORT_YOURSELF": {
+ "value": {
+ "error": {
+ "message": "Cannot report yourself.",
+ "code": "CANNOT_REPORT_YOURSELF",
+ "id": "1e13149e-b1e8-43cf-902e-c01dbfcb202f"
+ }
+ }
+ },
+ "CANNOT_REPORT_THE_ADMIN": {
+ "value": {
+ "error": {
+ "message": "Cannot report the admin.",
+ "code": "CANNOT_REPORT_THE_ADMIN",
+ "id": "35e166f5-05fb-4f87-a2d5-adb42676d48f"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/users/search-by-username-and-host": {
+ "post": {
+ "operationId": "users/search-by-username-and-host",
+ "summary": "users/search-by-username-and-host",
+ "description": "Search for a user by username and/or host.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/users/search-by-username-and-host.ts"
+ },
+ "tags": [
+ "users"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "username": {
+ "type": "string",
+ "nullable": true
+ },
+ "host": {
+ "type": "string",
+ "nullable": true
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ },
+ "detail": {
+ "type": "boolean",
+ "default": true
+ }
+ },
+ "anyOf": [
+ {
+ "required": [
+ "username"
+ ]
+ },
+ {
+ "required": [
+ "host"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "User",
+ "$ref": "#/components/schemas/User"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/users/search": {
+ "post": {
+ "operationId": "users/search",
+ "summary": "users/search",
+ "description": "Search for users.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/users/search.ts"
+ },
+ "tags": [
+ "users"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "query": {
+ "type": "string"
+ },
+ "offset": {
+ "type": "integer",
+ "default": 0
+ },
+ "limit": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100,
+ "default": 10
+ },
+ "origin": {
+ "type": "string",
+ "enum": [
+ "local",
+ "remote",
+ "combined"
+ ],
+ "default": "combined"
+ },
+ "detail": {
+ "type": "boolean",
+ "default": true
+ }
+ },
+ "required": [
+ "query"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "User",
+ "$ref": "#/components/schemas/User"
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/users/show": {
+ "post": {
+ "operationId": "users/show",
+ "summary": "users/show",
+ "description": "Show the properties of a user.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/users/show.ts"
+ },
+ "tags": [
+ "users"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "anyOf": [
+ {
+ "properties": {
+ "userId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "userId"
+ ]
+ },
+ {
+ "properties": {
+ "userIds": {
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ }
+ },
+ "required": [
+ "userIds"
+ ]
+ },
+ {
+ "properties": {
+ "username": {
+ "type": "string"
+ },
+ "host": {
+ "type": "string",
+ "nullable": true,
+ "description": "The local host is represented with `null`."
+ }
+ },
+ "required": [
+ "username"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+
+ "nullable": false,
+ "oneOf": [
+ {
+ "type": "object",
+ "ref": "UserDetailed",
+ "$ref": "#/components/schemas/UserDetailed"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "ref": "UserDetailed",
+ "$ref": "#/components/schemas/UserDetailed"
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "FAILED_TO_RESOLVE_REMOTE_USER": {
+ "value": {
+ "error": {
+ "message": "Failed to resolve remote user.",
+ "code": "FAILED_TO_RESOLVE_REMOTE_USER",
+ "id": "ef7b9be4-9cba-4e6f-ab41-90ed171c7d3c",
+ "kind": "server"
+ }
+ }
+ },
+ "NO_SUCH_USER": {
+ "value": {
+ "error": {
+ "message": "No such user.",
+ "code": "NO_SUCH_USER",
+ "id": "4362f8dc-731f-4ad8-a694-be5a88922a24"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/users/stats": {
+ "post": {
+ "operationId": "users/stats",
+ "summary": "users/stats",
+ "description": "Show statistics about a user.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/users/stats.ts"
+ },
+ "tags": [
+ "users"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "userId": {
+ "type": "string",
+ "format": "misskey:id"
+ }
+ },
+ "required": [
+ "userId"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "OK (with results)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+
+ "nullable": false,
+ "properties": {
+ "notesCount": {
+ "type": "integer",
+
+ "nullable": false
+ },
+ "repliesCount": {
+ "type": "integer",
+
+ "nullable": false
+ },
+ "renotesCount": {
+ "type": "integer",
+
+ "nullable": false
+ },
+ "repliedCount": {
+ "type": "integer",
+
+ "nullable": false
+ },
+ "renotedCount": {
+ "type": "integer",
+
+ "nullable": false
+ },
+ "pollVotesCount": {
+ "type": "integer",
+
+ "nullable": false
+ },
+ "pollVotedCount": {
+ "type": "integer",
+
+ "nullable": false
+ },
+ "localFollowingCount": {
+ "type": "integer",
+
+ "nullable": false
+ },
+ "remoteFollowingCount": {
+ "type": "integer",
+
+ "nullable": false
+ },
+ "localFollowersCount": {
+ "type": "integer",
+
+ "nullable": false
+ },
+ "remoteFollowersCount": {
+ "type": "integer",
+
+ "nullable": false
+ },
+ "followingCount": {
+ "type": "integer",
+
+ "nullable": false
+ },
+ "followersCount": {
+ "type": "integer",
+
+ "nullable": false
+ },
+ "sentReactionsCount": {
+ "type": "integer",
+
+ "nullable": false
+ },
+ "receivedReactionsCount": {
+ "type": "integer",
+
+ "nullable": false
+ },
+ "noteFavoritesCount": {
+ "type": "integer",
+
+ "nullable": false
+ },
+ "pageLikesCount": {
+ "type": "integer",
+
+ "nullable": false
+ },
+ "pageLikedCount": {
+ "type": "integer",
+
+ "nullable": false
+ },
+ "driveFilesCount": {
+ "type": "integer",
+
+ "nullable": false
+ },
+ "driveUsage": {
+ "type": "integer",
+
+ "nullable": false,
+ "description": "Drive usage in bytes"
+ }
+ },
+ "required": [
+ "notesCount",
+ "repliesCount",
+ "renotesCount",
+ "repliedCount",
+ "renotedCount",
+ "pollVotesCount",
+ "pollVotedCount",
+ "localFollowingCount",
+ "remoteFollowingCount",
+ "localFollowersCount",
+ "remoteFollowersCount",
+ "followingCount",
+ "followersCount",
+ "sentReactionsCount",
+ "receivedReactionsCount",
+ "noteFavoritesCount",
+ "pageLikesCount",
+ "pageLikedCount",
+ "driveFilesCount",
+ "driveUsage"
+ ]
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "NO_SUCH_USER": {
+ "value": {
+ "error": {
+ "message": "No such user.",
+ "code": "NO_SUCH_USER",
+ "id": "9e638e45-3b25-4ef7-8f95-07e8498f1819"
+ }
+ }
+ },
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/fetch-rss": {
+ "post": {
+ "operationId": "fetch-rss",
+ "summary": "fetch-rss",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/fetch-rss.ts"
+ },
+ "tags": [
+ "meta"
+ ],
+ "security": [
+ {
+ "ApiKeyAuth": []
+ },
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "url"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "get": {
+ "operationId": "fetch-rss",
+ "summary": "fetch-rss",
+ "description": "No description provided.\n\n**Credential required**: *No*",
+ "externalDocs": {
+ "description": "Source code",
+ "url": "https://akkoma.dev/FoundKeyGang/FoundKey/src/branch/main/packages/backend/src/server/api/endpoints/fetch-rss.ts"
+ },
+ "tags": [
+ "meta"
+ ],
+ "security": [
+ {
+ "Bearer": []
+ },
+ {}
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "url"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {
+ "description": "OK (without any results)"
+ },
+ "400": {
+ "description": "Client error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INVALID_PARAM": {
+ "value": {
+ "error": {
+ "message": "Invalid param.",
+ "code": "INVALID_PARAM",
+ "id": "3d81ceae-475f-4600-b2a8-2bc116157532"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Authentication error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "CREDENTIAL_REQUIRED": {
+ "value": {
+ "error": {
+ "message": "Credential required.",
+ "code": "CREDENTIAL_REQUIRED",
+ "id": "1384574d-a912-4b81-8601-c7b1c4085df1"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "AUTHENTICATION_FAILED": {
+ "value": {
+ "error": {
+ "message": "Authentication failed. Please ensure your token is correct.",
+ "code": "AUTHENTICATION_FAILED",
+ "id": "b0a7f5f8-dc2f-4171-b91f-de88ad238e14"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "418": {
+ "description": "I'm Ai",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "I_AM_A_TEAPOT": {
+ "value": {
+ "error": {
+ "message": "I am a teapot.",
+ "code": "I_AM_A_TEAPOT",
+ "id": "60c46cd1-f23a-46b1-bebe-5d2b73951a84"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Internal server error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Error"
+ },
+ "examples": {
+ "INTERNAL_ERROR": {
+ "value": {
+ "error": {
+ "message": "Internal error occurred. Please contact us if the error persists.",
+ "code": "INTERNAL_ERROR",
+ "id": "5d37dbcb-891e-41ca-a3d6-e690c97775ac"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "components": {
+ "schemas": {
+ "Error": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "object",
+ "description": "An error object.",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "An error code. Unique within the endpoint."
+ },
+ "message": {
+ "type": "string",
+ "description": "An error message."
+ },
+ "id": {
+ "type": "string",
+ "format": "uuid",
+ "description": "An error ID. This ID is static."
+ }
+ },
+ "required": [
+ "code",
+ "id",
+ "message"
+ ]
+ }
+ },
+ "required": [
+ "error"
+ ]
+ },
+ "UserLite": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "nullable": false,
+
+ "format": "id",
+ "example": "xxxxxxxxxx"
+ },
+ "name": {
+ "type": "string",
+ "nullable": true,
+
+ "example": "藍"
+ },
+ "username": {
+ "type": "string",
+ "nullable": false,
+
+ "example": "ai"
+ },
+ "host": {
+ "type": "string",
+ "nullable": true,
+
+ "example": "misskey.example.com",
+ "description": "The local host is represented with `null`."
+ },
+ "avatarUrl": {
+ "type": "string",
+ "format": "url",
+ "nullable": true,
+ "optional": false
+ },
+ "avatarBlurhash": {
+ "type": "any",
+ "nullable": true,
+ "optional": false
+ },
+ "avatarColor": {
+ "type": "any",
+ "nullable": true,
+
+ "default": null
+ },
+ "isAdmin": {
+ "type": "boolean",
+ "nullable": false,
+ "optional": true,
+ "default": false
+ },
+ "isModerator": {
+ "type": "boolean",
+ "nullable": false,
+ "optional": true,
+ "default": false
+ },
+ "isBot": {
+ "type": "boolean",
+ "nullable": false,
+ "optional": true
+ },
+ "isCat": {
+ "type": "boolean",
+ "nullable": false,
+ "optional": true
+ },
+ "emojis": {
+ "type": "array",
+ "nullable": false,
+
+ "items": {
+ "type": "object",
+ "nullable": false,
+
+ "properties": {
+ "name": {
+ "type": "string",
+ "nullable": false,
+ "optional": false
+ },
+ "url": {
+ "type": "string",
+ "nullable": false,
+
+ "format": "url"
+ }
+ },
+ "required": [
+ "name",
+ "url"
+ ]
+ }
+ },
+ "onlineStatus": {
+ "type": "string",
+ "format": "url",
+ "nullable": true,
+
+ "enum": [
+ "unknown",
+ "online",
+ "active",
+ "offline"
+ ]
+ }
+ },
+ "required": [
+ "id",
+ "name",
+ "username",
+ "host",
+ "avatarUrl",
+ "avatarBlurhash",
+ "avatarColor",
+ "emojis",
+ "onlineStatus"
+ ]
+ },
+ "UserDetailedNotMeOnly": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string",
+ "format": "url",
+ "nullable": true,
+ "optional": false
+ },
+ "uri": {
+ "type": "string",
+ "format": "uri",
+ "nullable": true,
+ "optional": false
+ },
+ "createdAt": {
+ "type": "string",
+ "nullable": false,
+
+ "format": "date-time"
+ },
+ "updatedAt": {
+ "type": "string",
+ "nullable": true,
+
+ "format": "date-time"
+ },
+ "lastFetchedAt": {
+ "type": "string",
+ "nullable": true,
+
+ "format": "date-time"
+ },
+ "bannerUrl": {
+ "type": "string",
+ "format": "url",
+ "nullable": true,
+ "optional": false
+ },
+ "bannerBlurhash": {
+ "type": "any",
+ "nullable": true,
+ "optional": false
+ },
+ "bannerColor": {
+ "type": "any",
+ "nullable": true,
+
+ "default": null
+ },
+ "isLocked": {
+ "type": "boolean",
+ "nullable": false,
+ "optional": false
+ },
+ "isSilenced": {
+ "type": "boolean",
+ "nullable": false,
+ "optional": false
+ },
+ "isSuspended": {
+ "type": "boolean",
+ "nullable": false,
+
+ "example": false
+ },
+ "description": {
+ "type": "string",
+ "nullable": true,
+
+ "example": "Hi masters, I am Ai!"
+ },
+ "location": {
+ "type": "string",
+ "nullable": true,
+ "optional": false
+ },
+ "birthday": {
+ "type": "string",
+ "nullable": true,
+
+ "example": "2018-03-12"
+ },
+ "lang": {
+ "type": "string",
+ "nullable": true,
+
+ "example": "ja-JP"
+ },
+ "fields": {
+ "type": "array",
+ "nullable": false,
+
+ "items": {
+ "type": "object",
+ "nullable": false,
+
+ "properties": {
+ "name": {
+ "type": "string",
+ "nullable": false,
+ "optional": false
+ },
+ "value": {
+ "type": "string",
+ "nullable": false,
+ "optional": false
+ }
+ },
+ "maxLength": 4,
+ "required": [
+ "name",
+ "value"
+ ]
+ }
+ },
+ "followersCount": {
+ "type": "number",
+ "nullable": false,
+ "optional": false
+ },
+ "followingCount": {
+ "type": "number",
+ "nullable": false,
+ "optional": false
+ },
+ "notesCount": {
+ "type": "number",
+ "nullable": false,
+ "optional": false
+ },
+ "pinnedNoteIds": {
+ "type": "array",
+ "nullable": false,
+
+ "items": {
+ "type": "string",
+ "nullable": false,
+
+ "format": "id"
+ }
+ },
+ "pinnedNotes": {
+ "type": "array",
+ "nullable": false,
+
+ "items": {
+ "type": "object",
+ "nullable": false,
+
+ "ref": "Note",
+ "$ref": "#/components/schemas/Note"
+ }
+ },
+ "pinnedPageId": {
+ "type": "string",
+ "nullable": true,
+ "optional": false
+ },
+ "pinnedPage": {
+ "type": "object",
+ "nullable": true,
+
+ "ref": "Page",
+ "$ref": "#/components/schemas/Page"
+ },
+ "publicReactions": {
+ "type": "boolean",
+ "nullable": false,
+ "optional": false
+ },
+ "twoFactorEnabled": {
+ "type": "boolean",
+ "nullable": false,
+
+ "default": false
+ },
+ "usePasswordLessLogin": {
+ "type": "boolean",
+ "nullable": false,
+
+ "default": false
+ },
+ "securityKeys": {
+ "type": "boolean",
+ "nullable": false,
+
+ "default": false
+ },
+ "isFollowing": {
+ "type": "boolean",
+ "nullable": false,
+ "optional": true
+ },
+ "isFollowed": {
+ "type": "boolean",
+ "nullable": false,
+ "optional": true
+ },
+ "hasPendingFollowRequestFromYou": {
+ "type": "boolean",
+ "nullable": false,
+ "optional": true
+ },
+ "hasPendingFollowRequestToYou": {
+ "type": "boolean",
+ "nullable": false,
+ "optional": true
+ },
+ "isBlocking": {
+ "type": "boolean",
+ "nullable": false,
+ "optional": true
+ },
+ "isBlocked": {
+ "type": "boolean",
+ "nullable": false,
+ "optional": true
+ },
+ "isMuted": {
+ "type": "boolean",
+ "nullable": false,
+ "optional": true
+ }
+ },
+ "required": [
+ "url",
+ "uri",
+ "createdAt",
+ "updatedAt",
+ "lastFetchedAt",
+ "bannerUrl",
+ "bannerBlurhash",
+ "bannerColor",
+ "isLocked",
+ "isSilenced",
+ "isSuspended",
+ "description",
+ "location",
+ "birthday",
+ "lang",
+ "fields",
+ "followersCount",
+ "followingCount",
+ "notesCount",
+ "pinnedNoteIds",
+ "pinnedNotes",
+ "pinnedPageId",
+ "pinnedPage",
+ "publicReactions",
+ "twoFactorEnabled",
+ "usePasswordLessLogin",
+ "securityKeys"
+ ]
+ },
+ "MeDetailedOnly": {
+ "type": "object",
+ "properties": {
+ "avatarId": {
+ "type": "string",
+ "nullable": true,
+
+ "format": "id"
+ },
+ "bannerId": {
+ "type": "string",
+ "nullable": true,
+
+ "format": "id"
+ },
+ "injectFeaturedNote": {
+ "type": "boolean",
+ "nullable": true,
+ "optional": false
+ },
+ "receiveAnnouncementEmail": {
+ "type": "boolean",
+ "nullable": true,
+ "optional": false
+ },
+ "alwaysMarkNsfw": {
+ "type": "boolean",
+ "nullable": true,
+ "optional": false
+ },
+ "carefulBot": {
+ "type": "boolean",
+ "nullable": true,
+ "optional": false
+ },
+ "autoAcceptFollowed": {
+ "type": "boolean",
+ "nullable": true,
+ "optional": false
+ },
+ "noCrawle": {
+ "type": "boolean",
+ "nullable": true,
+ "optional": false
+ },
+ "isExplorable": {
+ "type": "boolean",
+ "nullable": false,
+ "optional": false
+ },
+ "isDeleted": {
+ "type": "boolean",
+ "nullable": false,
+ "optional": false
+ },
+ "hideOnlineStatus": {
+ "type": "boolean",
+ "nullable": false,
+ "optional": false
+ },
+ "hasUnreadSpecifiedNotes": {
+ "type": "boolean",
+ "nullable": false,
+ "optional": false
+ },
+ "hasUnreadMentions": {
+ "type": "boolean",
+ "nullable": false,
+ "optional": false
+ },
+ "hasUnreadAnnouncement": {
+ "type": "boolean",
+ "nullable": false,
+ "optional": false
+ },
+ "hasUnreadAntenna": {
+ "type": "boolean",
+ "nullable": false,
+ "optional": false
+ },
+ "hasUnreadChannel": {
+ "type": "boolean",
+ "nullable": false,
+ "optional": false
+ },
+ "hasUnreadMessagingMessage": {
+ "type": "boolean",
+ "nullable": false,
+ "optional": false
+ },
+ "hasUnreadNotification": {
+ "type": "boolean",
+ "nullable": false,
+ "optional": false
+ },
+ "hasPendingReceivedFollowRequest": {
+ "type": "boolean",
+ "nullable": false,
+ "optional": false
+ },
+ "integrations": {
+ "type": "object",
+ "nullable": true,
+ "optional": false
+ },
+ "mutedWords": {
+ "type": "array",
+ "nullable": false,
+
+ "items": {
+ "type": "array",
+ "nullable": false,
+
+ "items": {
+ "type": "string",
+ "nullable": false,
+ "optional": false
+ }
+ }
+ },
+ "mutedInstances": {
+ "type": "array",
+ "nullable": true,
+
+ "items": {
+ "type": "string",
+ "nullable": false,
+ "optional": false
+ }
+ },
+ "mutingNotificationTypes": {
+ "type": "array",
+ "nullable": true,
+
+ "items": {
+ "type": "string",
+ "nullable": false,
+ "optional": false
+ }
+ },
+ "emailNotificationTypes": {
+ "type": "array",
+ "nullable": true,
+
+ "items": {
+ "type": "string",
+ "nullable": false,
+ "optional": false
+ }
+ },
+ "email": {
+ "type": "string",
+ "nullable": true,
+ "optional": true
+ },
+ "emailVerified": {
+ "type": "boolean",
+ "nullable": true,
+ "optional": true
+ },
+ "securityKeysList": {
+ "type": "array",
+ "nullable": false,
+ "optional": true,
+ "items": {
+ "type": "object",
+ "nullable": false,
+ "optional": false
+ }
+ }
+ },
+ "required": [
+ "avatarId",
+ "bannerId",
+ "injectFeaturedNote",
+ "receiveAnnouncementEmail",
+ "alwaysMarkNsfw",
+ "carefulBot",
+ "autoAcceptFollowed",
+ "noCrawle",
+ "isExplorable",
+ "isDeleted",
+ "hideOnlineStatus",
+ "hasUnreadSpecifiedNotes",
+ "hasUnreadMentions",
+ "hasUnreadAnnouncement",
+ "hasUnreadAntenna",
+ "hasUnreadChannel",
+ "hasUnreadMessagingMessage",
+ "hasUnreadNotification",
+ "hasPendingReceivedFollowRequest",
+ "integrations",
+ "mutedWords",
+ "mutedInstances",
+ "mutingNotificationTypes",
+ "emailNotificationTypes"
+ ]
+ },
+ "UserDetailedNotMe": {
+ "type": "object",
+ "allOf": [
+ {
+ "type": "object",
+ "ref": "UserLite",
+ "$ref": "#/components/schemas/UserLite"
+ },
+ {
+ "type": "object",
+ "ref": "UserDetailedNotMeOnly",
+ "$ref": "#/components/schemas/UserDetailedNotMeOnly"
+ }
+ ]
+ },
+ "MeDetailed": {
+ "type": "object",
+ "allOf": [
+ {
+ "type": "object",
+ "ref": "UserLite",
+ "$ref": "#/components/schemas/UserLite"
+ },
+ {
+ "type": "object",
+ "ref": "UserDetailedNotMeOnly",
+ "$ref": "#/components/schemas/UserDetailedNotMeOnly"
+ },
+ {
+ "type": "object",
+ "ref": "MeDetailedOnly",
+ "$ref": "#/components/schemas/MeDetailedOnly"
+ }
+ ]
+ },
+ "UserDetailed": {
+ "oneOf": [
+ {
+ "type": "object",
+ "ref": "UserDetailedNotMe",
+ "$ref": "#/components/schemas/UserDetailedNotMe"
+ },
+ {
+ "type": "object",
+ "ref": "MeDetailed",
+ "$ref": "#/components/schemas/MeDetailed"
+ }
+ ]
+ },
+ "User": {
+ "oneOf": [
+ {
+ "type": "object",
+ "ref": "UserLite",
+ "$ref": "#/components/schemas/UserLite"
+ },
+ {
+ "type": "object",
+ "ref": "UserDetailed",
+ "$ref": "#/components/schemas/UserDetailed"
+ }
+ ]
+ },
+ "UserList": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "id",
+ "example": "xxxxxxxxxx"
+ },
+ "createdAt": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "date-time"
+ },
+ "name": {
+ "type": "string",
+
+ "nullable": false
+ },
+ "userIds": {
+ "type": "array",
+ "nullable": false,
+ "optional": true,
+ "items": {
+ "type": "string",
+ "nullable": false,
+
+ "format": "id"
+ }
+ }
+ },
+ "required": [
+ "id",
+ "createdAt",
+ "name"
+ ]
+ },
+ "UserGroup": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "id",
+ "example": "xxxxxxxxxx"
+ },
+ "createdAt": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "date-time"
+ },
+ "name": {
+ "type": "string",
+
+ "nullable": false
+ },
+ "ownerId": {
+ "type": "string",
+ "nullable": false,
+
+ "format": "id"
+ },
+ "userIds": {
+ "type": "array",
+ "nullable": false,
+ "optional": true,
+ "items": {
+ "type": "string",
+ "nullable": false,
+
+ "format": "id"
+ }
+ }
+ },
+ "required": [
+ "id",
+ "createdAt",
+ "name",
+ "ownerId"
+ ]
+ },
+ "App": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+
+ "nullable": false
+ },
+ "name": {
+ "type": "string",
+
+ "nullable": false
+ },
+ "callbackUrl": {
+ "type": "string",
+
+ "nullable": true
+ },
+ "permission": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "string",
+
+ "nullable": false
+ }
+ },
+ "secret": {
+ "type": "string",
+ "optional": true,
+ "nullable": false
+ },
+ "isAuthorized": {
+ "type": "boolean",
+ "optional": true,
+ "nullable": false
+ }
+ },
+ "required": [
+ "id",
+ "name",
+ "callbackUrl",
+ "permission"
+ ]
+ },
+ "MessagingMessage": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "id",
+ "example": "xxxxxxxxxx"
+ },
+ "createdAt": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "date-time"
+ },
+ "userId": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "id"
+ },
+ "user": {
+ "type": "object",
+ "ref": "UserLite",
+ "optional": true,
+ "nullable": false,
+ "$ref": "#/components/schemas/UserLite"
+ },
+ "text": {
+ "type": "string",
+
+ "nullable": true
+ },
+ "fileId": {
+ "type": "string",
+ "optional": true,
+ "nullable": true,
+ "format": "id"
+ },
+ "file": {
+ "type": "object",
+ "optional": true,
+ "nullable": true,
+ "ref": "DriveFile",
+ "$ref": "#/components/schemas/DriveFile"
+ },
+ "recipientId": {
+ "type": "string",
+
+ "nullable": true,
+ "format": "id"
+ },
+ "recipient": {
+ "type": "object",
+ "optional": true,
+ "nullable": true,
+ "ref": "UserLite",
+ "$ref": "#/components/schemas/UserLite"
+ },
+ "groupId": {
+ "type": "string",
+
+ "nullable": true,
+ "format": "id"
+ },
+ "group": {
+ "type": "object",
+ "optional": true,
+ "nullable": true,
+ "ref": "UserGroup",
+ "$ref": "#/components/schemas/UserGroup"
+ },
+ "isRead": {
+ "type": "boolean",
+ "optional": true,
+ "nullable": false
+ },
+ "reads": {
+ "type": "array",
+ "optional": true,
+ "nullable": false,
+ "items": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "id"
+ }
+ }
+ },
+ "required": [
+ "id",
+ "createdAt",
+ "userId",
+ "text",
+ "recipientId",
+ "groupId"
+ ]
+ },
+ "Note": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "id",
+ "example": "xxxxxxxxxx"
+ },
+ "createdAt": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "date-time"
+ },
+ "text": {
+ "type": "string",
+
+ "nullable": true
+ },
+ "cw": {
+ "type": "string",
+ "optional": true,
+ "nullable": true
+ },
+ "userId": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "id"
+ },
+ "user": {
+ "type": "object",
+ "ref": "UserLite",
+
+ "nullable": false,
+ "$ref": "#/components/schemas/UserLite"
+ },
+ "replyId": {
+ "type": "string",
+ "optional": true,
+ "nullable": true,
+ "format": "id",
+ "example": "xxxxxxxxxx"
+ },
+ "renoteId": {
+ "type": "string",
+ "optional": true,
+ "nullable": true,
+ "format": "id",
+ "example": "xxxxxxxxxx"
+ },
+ "reply": {
+ "type": "object",
+ "optional": true,
+ "nullable": true,
+ "ref": "Note",
+ "$ref": "#/components/schemas/Note"
+ },
+ "renote": {
+ "type": "object",
+ "optional": true,
+ "nullable": true,
+ "ref": "Note",
+ "$ref": "#/components/schemas/Note"
+ },
+ "visibility": {
+ "type": "string",
+
+ "nullable": false
+ },
+ "mentions": {
+ "type": "array",
+ "optional": true,
+ "nullable": false,
+ "items": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "id"
+ }
+ },
+ "visibleUserIds": {
+ "type": "array",
+ "optional": true,
+ "nullable": false,
+ "items": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "id"
+ }
+ },
+ "fileIds": {
+ "type": "array",
+ "optional": true,
+ "nullable": false,
+ "items": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "id"
+ }
+ },
+ "files": {
+ "type": "array",
+ "optional": true,
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "DriveFile",
+ "$ref": "#/components/schemas/DriveFile"
+ }
+ },
+ "tags": {
+ "type": "array",
+ "optional": true,
+ "nullable": false,
+ "items": {
+ "type": "string",
+
+ "nullable": false
+ }
+ },
+ "poll": {
+ "type": "object",
+ "optional": true,
+ "nullable": true
+ },
+ "channelId": {
+ "type": "string",
+ "optional": true,
+ "nullable": true,
+ "format": "id",
+ "example": "xxxxxxxxxx"
+ },
+ "channel": {
+ "type": "object",
+ "optional": true,
+ "nullable": true,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "properties": {
+ "id": {
+ "type": "string",
+
+ "nullable": false
+ },
+ "name": {
+ "type": "string",
+
+ "nullable": true
+ }
+ }
+ }
+ },
+ "localOnly": {
+ "type": "boolean",
+ "optional": true,
+ "nullable": false
+ },
+ "emojis": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "properties": {
+ "name": {
+ "type": "string",
+
+ "nullable": false
+ },
+ "url": {
+ "type": "string",
+
+ "nullable": true
+ }
+ },
+ "required": [
+ "name",
+ "url"
+ ]
+ }
+ },
+ "reactions": {
+ "type": "object",
+
+ "nullable": false
+ },
+ "renoteCount": {
+ "type": "number",
+
+ "nullable": false
+ },
+ "repliesCount": {
+ "type": "number",
+
+ "nullable": false
+ },
+ "uri": {
+ "type": "string",
+ "optional": true,
+ "nullable": false
+ },
+ "url": {
+ "type": "string",
+ "optional": true,
+ "nullable": false
+ },
+ "myReaction": {
+ "type": "object",
+ "optional": true,
+ "nullable": true
+ }
+ },
+ "required": [
+ "id",
+ "createdAt",
+ "text",
+ "userId",
+ "user",
+ "visibility",
+ "emojis",
+ "reactions",
+ "renoteCount",
+ "repliesCount"
+ ]
+ },
+ "NoteReaction": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "id",
+ "example": "xxxxxxxxxx"
+ },
+ "createdAt": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "date-time"
+ },
+ "user": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "UserLite",
+ "$ref": "#/components/schemas/UserLite"
+ },
+ "type": {
+ "type": "string",
+
+ "nullable": false
+ }
+ },
+ "required": [
+ "id",
+ "createdAt",
+ "user",
+ "type"
+ ]
+ },
+ "NoteFavorite": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "id",
+ "example": "xxxxxxxxxx"
+ },
+ "createdAt": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "date-time"
+ },
+ "note": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "Note",
+ "$ref": "#/components/schemas/Note"
+ },
+ "noteId": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "id"
+ }
+ },
+ "required": [
+ "id",
+ "createdAt",
+ "note",
+ "noteId"
+ ]
+ },
+ "Notification": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "id",
+ "example": "xxxxxxxxxx"
+ },
+ "createdAt": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "date-time"
+ },
+ "isRead": {
+ "type": "boolean",
+
+ "nullable": false
+ },
+ "type": {
+ "type": "string",
+
+ "nullable": false,
+ "enum": [
+ "follow",
+ "mention",
+ "reply",
+ "renote",
+ "quote",
+ "reaction",
+ "pollVote",
+ "pollEnded",
+ "receiveFollowRequest",
+ "followRequestAccepted",
+ "groupInvited",
+ "app"
+ ]
+ },
+ "user": {
+ "type": "object",
+ "ref": "UserLite",
+ "optional": true,
+ "nullable": true,
+ "$ref": "#/components/schemas/UserLite"
+ },
+ "userId": {
+ "type": "string",
+ "optional": true,
+ "nullable": true,
+ "format": "id"
+ },
+ "note": {
+ "type": "object",
+ "ref": "Note",
+ "optional": true,
+ "nullable": true,
+ "$ref": "#/components/schemas/Note"
+ },
+ "reaction": {
+ "type": "string",
+ "optional": true,
+ "nullable": true
+ },
+ "choice": {
+ "type": "number",
+ "optional": true,
+ "nullable": true
+ },
+ "invitation": {
+ "type": "object",
+ "optional": true,
+ "nullable": true
+ },
+ "body": {
+ "type": "string",
+ "optional": true,
+ "nullable": true
+ },
+ "header": {
+ "type": "string",
+ "optional": true,
+ "nullable": true
+ },
+ "icon": {
+ "type": "string",
+ "optional": true,
+ "nullable": true
+ }
+ },
+ "required": [
+ "id",
+ "createdAt",
+ "isRead",
+ "type"
+ ]
+ },
+ "DriveFile": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "id",
+ "example": "xxxxxxxxxx"
+ },
+ "createdAt": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "date-time"
+ },
+ "name": {
+ "type": "string",
+
+ "nullable": false,
+ "example": "lenna.jpg"
+ },
+ "type": {
+ "type": "string",
+
+ "nullable": false,
+ "example": "image/jpeg"
+ },
+ "md5": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "md5",
+ "example": "15eca7fba0480996e2245f5185bf39f2"
+ },
+ "size": {
+ "type": "number",
+
+ "nullable": false,
+ "example": 51469
+ },
+ "isSensitive": {
+ "type": "boolean",
+
+ "nullable": false
+ },
+ "blurhash": {
+ "type": "string",
+
+ "nullable": true
+ },
+ "properties": {
+ "type": "object",
+
+ "nullable": false,
+ "properties": {
+ "width": {
+ "type": "number",
+ "optional": true,
+ "nullable": false,
+ "example": 1280
+ },
+ "height": {
+ "type": "number",
+ "optional": true,
+ "nullable": false,
+ "example": 720
+ },
+ "orientation": {
+ "type": "number",
+ "optional": true,
+ "nullable": false,
+ "example": 8
+ },
+ "avgColor": {
+ "type": "string",
+ "optional": true,
+ "nullable": false,
+ "example": "rgb(40,65,87)"
+ }
+ },
+ "required": []
+ },
+ "url": {
+ "type": "string",
+
+ "nullable": true,
+ "format": "url"
+ },
+ "thumbnailUrl": {
+ "type": "string",
+
+ "nullable": true,
+ "format": "url"
+ },
+ "comment": {
+ "type": "string",
+
+ "nullable": true
+ },
+ "folderId": {
+ "type": "string",
+
+ "nullable": true,
+ "format": "id",
+ "example": "xxxxxxxxxx"
+ },
+ "folder": {
+ "type": "object",
+ "optional": true,
+ "nullable": true,
+ "ref": "DriveFolder",
+ "$ref": "#/components/schemas/DriveFolder"
+ },
+ "userId": {
+ "type": "string",
+
+ "nullable": true,
+ "format": "id",
+ "example": "xxxxxxxxxx"
+ },
+ "user": {
+ "type": "object",
+ "optional": true,
+ "nullable": true,
+ "ref": "UserLite",
+ "$ref": "#/components/schemas/UserLite"
+ }
+ },
+ "required": [
+ "id",
+ "createdAt",
+ "name",
+ "type",
+ "md5",
+ "size",
+ "isSensitive",
+ "blurhash",
+ "properties",
+ "url",
+ "thumbnailUrl",
+ "comment",
+ "folderId",
+ "userId"
+ ]
+ },
+ "DriveFolder": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "id",
+ "example": "xxxxxxxxxx"
+ },
+ "createdAt": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "date-time"
+ },
+ "name": {
+ "type": "string",
+
+ "nullable": false
+ },
+ "foldersCount": {
+ "type": "number",
+ "optional": true,
+ "nullable": false
+ },
+ "filesCount": {
+ "type": "number",
+ "optional": true,
+ "nullable": false
+ },
+ "parentId": {
+ "type": "string",
+
+ "nullable": true,
+ "format": "id",
+ "example": "xxxxxxxxxx"
+ },
+ "parent": {
+ "type": "object",
+ "optional": true,
+ "nullable": true,
+ "ref": "DriveFolder",
+ "$ref": "#/components/schemas/DriveFolder"
+ }
+ },
+ "required": [
+ "id",
+ "createdAt",
+ "name",
+ "parentId"
+ ]
+ },
+ "Following": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "id",
+ "example": "xxxxxxxxxx"
+ },
+ "createdAt": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "date-time"
+ },
+ "followeeId": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "id"
+ },
+ "followee": {
+ "type": "object",
+ "optional": true,
+ "nullable": false,
+ "ref": "UserDetailed",
+ "$ref": "#/components/schemas/UserDetailed"
+ },
+ "followerId": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "id"
+ },
+ "follower": {
+ "type": "object",
+ "optional": true,
+ "nullable": false,
+ "ref": "UserDetailed",
+ "$ref": "#/components/schemas/UserDetailed"
+ }
+ },
+ "required": [
+ "id",
+ "createdAt",
+ "followeeId",
+ "followerId"
+ ]
+ },
+ "Muting": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "id",
+ "example": "xxxxxxxxxx"
+ },
+ "createdAt": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "date-time"
+ },
+ "expiresAt": {
+ "type": "string",
+
+ "nullable": true,
+ "format": "date-time"
+ },
+ "muteeId": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "id"
+ },
+ "mutee": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "UserDetailed",
+ "$ref": "#/components/schemas/UserDetailed"
+ }
+ },
+ "required": [
+ "id",
+ "createdAt",
+ "expiresAt",
+ "muteeId",
+ "mutee"
+ ]
+ },
+ "Blocking": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "id",
+ "example": "xxxxxxxxxx"
+ },
+ "createdAt": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "date-time"
+ },
+ "blockeeId": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "id"
+ },
+ "blockee": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "UserDetailed",
+ "$ref": "#/components/schemas/UserDetailed"
+ }
+ },
+ "required": [
+ "id",
+ "createdAt",
+ "blockeeId",
+ "blockee"
+ ]
+ },
+ "Hashtag": {
+ "type": "object",
+ "properties": {
+ "tag": {
+ "type": "string",
+
+ "nullable": false,
+ "example": "misskey"
+ },
+ "mentionedUsersCount": {
+ "type": "number",
+
+ "nullable": false
+ },
+ "mentionedLocalUsersCount": {
+ "type": "number",
+
+ "nullable": false
+ },
+ "mentionedRemoteUsersCount": {
+ "type": "number",
+
+ "nullable": false
+ },
+ "attachedUsersCount": {
+ "type": "number",
+
+ "nullable": false
+ },
+ "attachedLocalUsersCount": {
+ "type": "number",
+
+ "nullable": false
+ },
+ "attachedRemoteUsersCount": {
+ "type": "number",
+
+ "nullable": false
+ }
+ },
+ "required": [
+ "tag",
+ "mentionedUsersCount",
+ "mentionedLocalUsersCount",
+ "mentionedRemoteUsersCount",
+ "attachedUsersCount",
+ "attachedLocalUsersCount",
+ "attachedRemoteUsersCount"
+ ]
+ },
+ "Page": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "id",
+ "example": "xxxxxxxxxx"
+ },
+ "createdAt": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "date-time"
+ },
+ "updatedAt": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "date-time"
+ },
+ "title": {
+ "type": "string",
+
+ "nullable": false
+ },
+ "name": {
+ "type": "string",
+
+ "nullable": false
+ },
+ "summary": {
+ "type": "string",
+
+ "nullable": true
+ },
+ "text": {
+ "type": "string",
+
+ "nullable": false
+ },
+ "userId": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "id"
+ },
+ "user": {
+ "type": "object",
+ "ref": "UserLite",
+
+ "nullable": false,
+ "$ref": "#/components/schemas/UserLite"
+ }
+ },
+ "required": [
+ "id",
+ "createdAt",
+ "updatedAt",
+ "title",
+ "name",
+ "summary",
+ "text",
+ "userId",
+ "user"
+ ]
+ },
+ "Channel": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "id",
+ "example": "xxxxxxxxxx"
+ },
+ "createdAt": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "date-time"
+ },
+ "lastNotedAt": {
+ "type": "string",
+
+ "nullable": true,
+ "format": "date-time"
+ },
+ "name": {
+ "type": "string",
+
+ "nullable": false
+ },
+ "description": {
+ "type": "string",
+ "nullable": true,
+ "optional": false
+ },
+ "bannerUrl": {
+ "type": "string",
+ "format": "url",
+ "nullable": true,
+ "optional": false
+ },
+ "notesCount": {
+ "type": "number",
+ "nullable": false,
+ "optional": false
+ },
+ "usersCount": {
+ "type": "number",
+ "nullable": false,
+ "optional": false
+ },
+ "isFollowing": {
+ "type": "boolean",
+ "optional": true,
+ "nullable": false
+ },
+ "userId": {
+ "type": "string",
+ "nullable": true,
+
+ "format": "id"
+ }
+ },
+ "required": [
+ "id",
+ "createdAt",
+ "lastNotedAt",
+ "name",
+ "description",
+ "bannerUrl",
+ "notesCount",
+ "usersCount",
+ "userId"
+ ]
+ },
+ "QueueCount": {
+ "type": "object",
+ "properties": {
+ "waiting": {
+ "type": "number",
+
+ "nullable": false
+ },
+ "active": {
+ "type": "number",
+
+ "nullable": false
+ },
+ "completed": {
+ "type": "number",
+
+ "nullable": false
+ },
+ "failed": {
+ "type": "number",
+
+ "nullable": false
+ },
+ "delayed": {
+ "type": "number",
+
+ "nullable": false
+ }
+ },
+ "required": [
+ "waiting",
+ "active",
+ "completed",
+ "failed",
+ "delayed"
+ ]
+ },
+ "Antenna": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "id"
+ },
+ "createdAt": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "date-time"
+ },
+ "name": {
+ "type": "string",
+
+ "nullable": false
+ },
+ "keywords": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "string",
+
+ "nullable": false
+ }
+ }
+ },
+ "excludeKeywords": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "string",
+
+ "nullable": false
+ }
+ }
+ },
+ "src": {
+ "type": "string",
+
+ "nullable": false,
+ "enum": [
+ "home",
+ "all",
+ "users",
+ "list",
+ "group"
+ ]
+ },
+ "userListId": {
+ "type": "string",
+
+ "nullable": true,
+ "format": "id"
+ },
+ "userGroupId": {
+ "type": "string",
+
+ "nullable": true,
+ "format": "id"
+ },
+ "users": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "string",
+
+ "nullable": false
+ }
+ },
+ "caseSensitive": {
+ "type": "boolean",
+
+ "nullable": false,
+ "default": false
+ },
+ "notify": {
+ "type": "boolean",
+
+ "nullable": false
+ },
+ "withReplies": {
+ "type": "boolean",
+
+ "nullable": false,
+ "default": false
+ },
+ "withFile": {
+ "type": "boolean",
+
+ "nullable": false
+ },
+ "hasUnreadNote": {
+ "type": "boolean",
+
+ "nullable": false,
+ "default": false
+ }
+ },
+ "required": [
+ "id",
+ "createdAt",
+ "name",
+ "keywords",
+ "excludeKeywords",
+ "src",
+ "userListId",
+ "userGroupId",
+ "users",
+ "caseSensitive",
+ "notify",
+ "withReplies",
+ "withFile",
+ "hasUnreadNote"
+ ]
+ },
+ "Clip": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "id",
+ "example": "xxxxxxxxxx"
+ },
+ "createdAt": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "date-time"
+ },
+ "userId": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "id"
+ },
+ "user": {
+ "type": "object",
+ "ref": "UserLite",
+
+ "nullable": false,
+ "$ref": "#/components/schemas/UserLite"
+ },
+ "name": {
+ "type": "string",
+
+ "nullable": false
+ },
+ "description": {
+ "type": "string",
+
+ "nullable": true
+ },
+ "isPublic": {
+ "type": "boolean",
+
+ "nullable": false
+ }
+ },
+ "required": [
+ "id",
+ "createdAt",
+ "userId",
+ "user",
+ "name",
+ "description",
+ "isPublic"
+ ]
+ },
+ "FederationInstance": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "id"
+ },
+ "caughtAt": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "date-time"
+ },
+ "host": {
+ "type": "string",
+
+ "nullable": false,
+ "example": "misskey.example.com"
+ },
+ "usersCount": {
+ "type": "number",
+
+ "nullable": false
+ },
+ "notesCount": {
+ "type": "number",
+
+ "nullable": false
+ },
+ "followingCount": {
+ "type": "number",
+
+ "nullable": false
+ },
+ "followersCount": {
+ "type": "number",
+
+ "nullable": false
+ },
+ "latestRequestSentAt": {
+ "type": "string",
+
+ "nullable": true,
+ "format": "date-time"
+ },
+ "lastCommunicatedAt": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "date-time"
+ },
+ "isNotResponding": {
+ "type": "boolean",
+
+ "nullable": false
+ },
+ "isSuspended": {
+ "type": "boolean",
+
+ "nullable": false
+ },
+ "isBlocked": {
+ "type": "boolean",
+
+ "nullable": false
+ },
+ "softwareName": {
+ "type": "string",
+
+ "nullable": true,
+ "example": "misskey"
+ },
+ "softwareVersion": {
+ "type": "string",
+
+ "nullable": true,
+ "example": "13.0.0-preview.1"
+ },
+ "openRegistrations": {
+ "type": "boolean",
+
+ "nullable": true,
+ "example": true
+ },
+ "name": {
+ "type": "string",
+
+ "nullable": true
+ },
+ "description": {
+ "type": "string",
+
+ "nullable": true
+ },
+ "maintainerName": {
+ "type": "string",
+
+ "nullable": true
+ },
+ "maintainerEmail": {
+ "type": "string",
+
+ "nullable": true
+ },
+ "iconUrl": {
+ "type": "string",
+
+ "nullable": true,
+ "format": "url"
+ },
+ "faviconUrl": {
+ "type": "string",
+
+ "nullable": true,
+ "format": "url"
+ },
+ "themeColor": {
+ "type": "string",
+
+ "nullable": true
+ },
+ "infoUpdatedAt": {
+ "type": "string",
+
+ "nullable": true,
+ "format": "date-time"
+ }
+ },
+ "required": [
+ "id",
+ "caughtAt",
+ "host",
+ "usersCount",
+ "notesCount",
+ "followingCount",
+ "followersCount",
+ "latestRequestSentAt",
+ "lastCommunicatedAt",
+ "isNotResponding",
+ "isSuspended",
+ "isBlocked",
+ "softwareName",
+ "softwareVersion",
+ "openRegistrations",
+ "name",
+ "description",
+ "maintainerName",
+ "maintainerEmail",
+ "iconUrl",
+ "faviconUrl",
+ "themeColor",
+ "infoUpdatedAt"
+ ]
+ },
+ "GalleryPost": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "id",
+ "example": "xxxxxxxxxx"
+ },
+ "createdAt": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "date-time"
+ },
+ "updatedAt": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "date-time"
+ },
+ "title": {
+ "type": "string",
+
+ "nullable": false
+ },
+ "description": {
+ "type": "string",
+
+ "nullable": true
+ },
+ "userId": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "id"
+ },
+ "user": {
+ "type": "object",
+ "ref": "UserLite",
+
+ "nullable": false,
+ "$ref": "#/components/schemas/UserLite"
+ },
+ "fileIds": {
+ "type": "array",
+ "optional": true,
+ "nullable": false,
+ "items": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "id"
+ }
+ },
+ "files": {
+ "type": "array",
+ "optional": true,
+ "nullable": false,
+ "items": {
+ "type": "object",
+
+ "nullable": false,
+ "ref": "DriveFile",
+ "$ref": "#/components/schemas/DriveFile"
+ }
+ },
+ "tags": {
+ "type": "array",
+ "optional": true,
+ "nullable": false,
+ "items": {
+ "type": "string",
+
+ "nullable": false
+ }
+ },
+ "isSensitive": {
+ "type": "boolean",
+
+ "nullable": false
+ }
+ },
+ "required": [
+ "id",
+ "createdAt",
+ "updatedAt",
+ "title",
+ "description",
+ "userId",
+ "user",
+ "isSensitive"
+ ]
+ },
+ "Emoji": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "id",
+ "example": "xxxxxxxxxx"
+ },
+ "aliases": {
+ "type": "array",
+
+ "nullable": false,
+ "items": {
+ "type": "string",
+
+ "nullable": false,
+ "format": "id"
+ }
+ },
+ "name": {
+ "type": "string",
+
+ "nullable": false
+ },
+ "category": {
+ "type": "string",
+
+ "nullable": true
+ },
+ "host": {
+ "type": "string",
+
+ "nullable": true,
+ "description": "The local host is represented with `null`."
+ },
+ "url": {
+ "type": "string",
+
+ "nullable": false
+ }
+ },
+ "required": [
+ "id",
+ "aliases",
+ "name",
+ "category",
+ "host",
+ "url"
+ ]
+ }
+ },
+ "securitySchemes": {
+ "ApiKeyAuth": {
+ "type": "apiKey",
+ "in": "body",
+ "name": "i"
+ },
+ "Bearer": {
+ "type": "http",
+ "scheme": "bearer"
+ }
+ }
+ }
+}
diff --git a/packages/foundkey-api-schema/tsconfig.json b/packages/foundkey-api-schema/tsconfig.json
new file mode 100644
index 000000000..42a3db4d8
--- /dev/null
+++ b/packages/foundkey-api-schema/tsconfig.json
@@ -0,0 +1,29 @@
+{
+ "$schema": "http://json.schemastore.org/tsconfig",
+ "compilerOptions": {
+ "target": "es2020",
+ "module": "es2020",
+ "declaration": true,
+ "declarationMap": true,
+ "sourceMap": true,
+ "rootDir": "./generated/",
+ "outDir": "./built/",
+ "removeComments": true,
+ "skipLibCheck": true,
+ "strict": true,
+ "strictFunctionTypes": true,
+ "strictNullChecks": true,
+ "experimentalDecorators": true,
+ "noImplicitReturns": true,
+ "esModuleInterop": true,
+ "moduleResolution": "Node16",
+ "composite": true
+ },
+ "include": [
+ "generated/**/*"
+ ],
+ "exclude": [
+ "node_modules",
+ "test/**/*"
+ ]
+}
diff --git a/packages/foundkey-js/package.json b/packages/foundkey-js/package.json
index 6fae7d8cf..a0d8dd35e 100644
--- a/packages/foundkey-js/package.json
+++ b/packages/foundkey-js/package.json
@@ -25,6 +25,7 @@
"@typescript-eslint/eslint-plugin": "5.36.2",
"@typescript-eslint/parser": "^5.36.2",
"eslint": "^8.23.0",
+ "foundkey-api-schema": "workspace:*",
"jest": "^27.4.5",
"jest-fetch-mock": "^3.0.3",
"jest-websocket-mock": "^2.2.1",
@@ -40,6 +41,7 @@
"dependencies": {
"autobind-decorator": "^2.4.0",
"eventemitter3": "^4.0.7",
+ "openapi-typescript-fetch": "^1.1.3",
"reconnecting-websocket": "^4.4.0"
}
}
diff --git a/packages/foundkey-js/src/api.ts b/packages/foundkey-js/src/api.ts
index 923fbd304..52056a3ab 100644
--- a/packages/foundkey-js/src/api.ts
+++ b/packages/foundkey-js/src/api.ts
@@ -1,5 +1,7 @@
import { Endpoints } from './api.types.js';
+import * as schema from 'foundkey-api-schema';
+
const MK_API_ERROR = Symbol();
export type APIError = {
@@ -51,22 +53,9 @@ export class APIClient {
this.fetch = opts.fetch || ((...args) => fetch(...args));
}
- public request(
+ public request(
endpoint: E, params: P = {} as P, credential?: string | null | undefined,
- ): Promise extends true ? GetCaseResult :
- IsCaseMatched extends true ? GetCaseResult :
- IsCaseMatched extends true ? GetCaseResult :
- IsCaseMatched extends true ? GetCaseResult :
- IsCaseMatched extends true ? GetCaseResult :
- IsCaseMatched extends true ? GetCaseResult :
- IsCaseMatched extends true ? GetCaseResult :
- IsCaseMatched extends true ? GetCaseResult :
- IsCaseMatched extends true ? GetCaseResult :
- IsCaseMatched extends true ? GetCaseResult :
- Endpoints[E]['res']['$switch']['$default']
- : Endpoints[E]['res']>
+ ): Promise
{
const promise = new Promise((resolve, reject) => {
this.fetch(`${this.origin}/api/${endpoint}`, {
diff --git a/yarn.lock b/yarn.lock
index 55aedef4e..9c6e31a5b 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -7834,6 +7834,16 @@ __metadata:
languageName: node
linkType: hard
+"foundkey-api-schema@workspace:*, foundkey-api-schema@workspace:packages/foundkey-api-schema":
+ version: 0.0.0-use.local
+ resolution: "foundkey-api-schema@workspace:packages/foundkey-api-schema"
+ dependencies:
+ openapi-typescript: ^5.4.1
+ ts-node: ^10.9.1
+ typescript: ^4.8.3
+ languageName: unknown
+ linkType: soft
+
"foundkey-js@workspace:*, foundkey-js@workspace:packages/foundkey-js":
version: 0.0.0-use.local
resolution: "foundkey-js@workspace:packages/foundkey-js"
@@ -7846,10 +7856,12 @@ __metadata:
autobind-decorator: ^2.4.0
eslint: ^8.23.0
eventemitter3: ^4.0.7
+ foundkey-api-schema: "workspace:*"
jest: ^27.4.5
jest-fetch-mock: ^3.0.3
jest-websocket-mock: ^2.2.1
mock-socket: ^9.0.8
+ openapi-typescript-fetch: ^1.1.3
reconnecting-websocket: ^4.4.0
ts-jest: ^27.1.5
ts-node: 10.9.1
@@ -8368,6 +8380,13 @@ __metadata:
languageName: node
linkType: hard
+"globalyzer@npm:0.1.0":
+ version: 0.1.0
+ resolution: "globalyzer@npm:0.1.0"
+ checksum: 419a0f95ba542534fac0842964d31b3dc2936a479b2b1a8a62bad7e8b61054faa9b0a06ad9f2e12593396b9b2621cac93358d9b3071d33723fb1778608d358a1
+ languageName: node
+ linkType: hard
+
"globby@npm:^11.0.1, globby@npm:^11.0.4, globby@npm:^11.1.0":
version: 11.1.0
resolution: "globby@npm:11.1.0"
@@ -8382,6 +8401,13 @@ __metadata:
languageName: node
linkType: hard
+"globrex@npm:^0.1.2":
+ version: 0.1.2
+ resolution: "globrex@npm:0.1.2"
+ checksum: adca162494a176ce9ecf4dd232f7b802956bb1966b37f60c15e49d2e7d961b66c60826366dc2649093cad5a0d69970cfa8875bd1695b5a1a2f33dcd2aa88da3c
+ languageName: node
+ linkType: hard
+
"glogg@npm:^1.0.0":
version: 1.0.2
resolution: "glogg@npm:1.0.2"
@@ -11772,6 +11798,15 @@ __metadata:
languageName: node
linkType: hard
+"mime@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "mime@npm:3.0.0"
+ bin:
+ mime: cli.js
+ checksum: f43f9b7bfa64534e6b05bd6062961681aeb406a5b53673b53b683f27fcc4e739989941836a355eef831f4478923651ecc739f4a5f6e20a76487b432bfd4db928
+ languageName: node
+ linkType: hard
+
"mimic-fn@npm:^2.1.0":
version: 2.1.0
resolution: "mimic-fn@npm:2.1.0"
@@ -12729,6 +12764,29 @@ __metadata:
languageName: node
linkType: hard
+"openapi-typescript-fetch@npm:^1.1.3":
+ version: 1.1.3
+ resolution: "openapi-typescript-fetch@npm:1.1.3"
+ checksum: df3171b0b1e8a99f2bdfb794b4dc348a1f4e5db184fabc7578a810236a5deb7bc7885240ecb2463c03d94707434784c48bd8256ea715b381f5ff91fb9218c7b6
+ languageName: node
+ linkType: hard
+
+"openapi-typescript@npm:^5.4.1":
+ version: 5.4.1
+ resolution: "openapi-typescript@npm:5.4.1"
+ dependencies:
+ js-yaml: ^4.1.0
+ mime: ^3.0.0
+ prettier: ^2.6.2
+ tiny-glob: ^0.2.9
+ undici: ^5.4.0
+ yargs-parser: ^21.0.1
+ bin:
+ openapi-typescript: bin/cli.js
+ checksum: ab0e7613a478fcfa675887e50ff00fd6403ad6313357944408c11b420c08bbfa2bb58bff66c4e9a8c5670c79fe1a8d2f4ee85beceb004e72c529a97019b57c20
+ languageName: node
+ linkType: hard
+
"opentype.js@npm:^0.4.3":
version: 0.4.11
resolution: "opentype.js@npm:0.4.11"
@@ -13743,6 +13801,15 @@ __metadata:
languageName: node
linkType: hard
+"prettier@npm:^2.6.2":
+ version: 2.7.1
+ resolution: "prettier@npm:2.7.1"
+ bin:
+ prettier: bin-prettier.js
+ checksum: 55a4409182260866ab31284d929b3cb961e5fdb91fe0d2e099dac92eaecec890f36e524b4c19e6ceae839c99c6d7195817579cdffc8e2c80da0cb794463a748b
+ languageName: node
+ linkType: hard
+
"pretty-bytes@npm:^5.6.0":
version: 5.6.0
resolution: "pretty-bytes@npm:5.6.0"
@@ -16283,6 +16350,16 @@ __metadata:
languageName: node
linkType: hard
+"tiny-glob@npm:^0.2.9":
+ version: 0.2.9
+ resolution: "tiny-glob@npm:0.2.9"
+ dependencies:
+ globalyzer: 0.1.0
+ globrex: ^0.1.2
+ checksum: aea5801eb6663ddf77ebb74900b8f8bd9dfcfc9b6a1cc8018cb7421590c00bf446109ff45e4b64a98e6c95ddb1255a337a5d488fb6311930e2a95334151ec9c6
+ languageName: node
+ linkType: hard
+
"tinycolor2@npm:1.4.2":
version: 1.4.2
resolution: "tinycolor2@npm:1.4.2"
@@ -16512,7 +16589,7 @@ __metadata:
languageName: node
linkType: hard
-"ts-node@npm:10.9.1":
+"ts-node@npm:10.9.1, ts-node@npm:^10.9.1":
version: 10.9.1
resolution: "ts-node@npm:10.9.1"
dependencies:
@@ -16939,7 +17016,7 @@ __metadata:
languageName: node
linkType: hard
-"undici@npm:^5.2.0":
+"undici@npm:^5.2.0, undici@npm:^5.4.0":
version: 5.10.0
resolution: "undici@npm:5.10.0"
checksum: 7ba2b71dccc74cd2bdf645b83e9aaef374ae04855943d0a2f42a3d0b9e5556f37cc9b5156fb5288277a2fa95fd46a56f3ae0d5cf73db3f008d75ec41104b136c
@@ -17956,7 +18033,7 @@ __metadata:
languageName: node
linkType: hard
-"yargs-parser@npm:^21.0.0":
+"yargs-parser@npm:^21.0.0, yargs-parser@npm:^21.0.1":
version: 21.1.1
resolution: "yargs-parser@npm:21.1.1"
checksum: ed2d96a616a9e3e1cc7d204c62ecc61f7aaab633dcbfab2c6df50f7f87b393993fe6640d017759fe112d0cb1e0119f2b4150a87305cc873fd90831c6a58ccf1c