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