[Home](./index.md) > [iceshrimp-js](./iceshrimp-js.md) > [Endpoints](./iceshrimp-js.endpoints.md) ## Endpoints type **Signature:** ```typescript export declare type Endpoints = { "admin/abuse-user-reports": { req: TODO; res: TODO; }; "admin/delete-all-files-of-a-user": { req: { userId: User["id"]; }; res: null; }; "admin/delete-logs": { req: NoParams; res: null; }; "admin/get-index-stats": { req: TODO; res: TODO; }; "admin/get-table-stats": { req: TODO; res: TODO; }; "admin/invite": { req: TODO; res: TODO; }; "admin/logs": { req: TODO; res: TODO; }; "admin/meta": { req: TODO; res: TODO; }; "admin/reset-password": { req: TODO; res: TODO; }; "admin/resolve-abuse-user-report": { req: TODO; res: TODO; }; "admin/resync-chart": { req: TODO; res: TODO; }; "admin/send-email": { req: TODO; res: TODO; }; "admin/server-info": { req: TODO; res: TODO; }; "admin/show-moderation-logs": { req: TODO; res: TODO; }; "admin/show-user": { req: TODO; res: TODO; }; "admin/show-users": { req: TODO; res: TODO; }; "admin/silence-user": { req: TODO; res: TODO; }; "admin/suspend-user": { req: TODO; res: TODO; }; "admin/unsilence-user": { req: TODO; res: TODO; }; "admin/unsuspend-user": { req: TODO; res: TODO; }; "admin/update-meta": { req: TODO; res: TODO; }; "admin/vacuum": { req: TODO; res: TODO; }; "admin/accounts/create": { req: TODO; res: TODO; }; "admin/ad/create": { req: TODO; res: TODO; }; "admin/ad/delete": { req: { id: Ad["id"]; }; res: null; }; "admin/ad/list": { req: TODO; res: TODO; }; "admin/ad/update": { req: TODO; res: TODO; }; "admin/announcements/create": { req: TODO; res: TODO; }; "admin/announcements/delete": { req: { id: Announcement["id"]; }; res: null; }; "admin/announcements/list": { req: TODO; res: TODO; }; "admin/announcements/update": { req: TODO; res: TODO; }; "admin/drive/clean-remote-files": { req: TODO; res: TODO; }; "admin/drive/cleanup": { req: TODO; res: TODO; }; "admin/drive/files": { req: TODO; res: TODO; }; "admin/drive/show-file": { req: TODO; res: TODO; }; "admin/emoji/add": { req: TODO; res: TODO; }; "admin/emoji/copy": { req: TODO; res: TODO; }; "admin/emoji/list-remote": { req: TODO; res: TODO; }; "admin/emoji/list": { req: TODO; res: TODO; }; "admin/emoji/remove": { req: TODO; res: TODO; }; "admin/emoji/update": { req: TODO; res: TODO; }; "admin/federation/delete-all-files": { req: { host: string; }; res: null; }; "admin/federation/refresh-remote-instance-metadata": { req: TODO; res: TODO; }; "admin/federation/remove-all-following": { req: TODO; res: TODO; }; "admin/federation/update-instance": { req: TODO; res: TODO; }; "admin/moderators/add": { req: TODO; res: TODO; }; "admin/moderators/remove": { req: TODO; res: TODO; }; "admin/promo/create": { req: TODO; res: TODO; }; "admin/queue/clear": { req: TODO; res: TODO; }; "admin/queue/deliver-delayed": { req: TODO; res: TODO; }; "admin/queue/inbox-delayed": { req: TODO; res: TODO; }; "admin/queue/jobs": { req: TODO; res: TODO; }; "admin/queue/stats": { req: TODO; res: TODO; }; "admin/relays/add": { req: TODO; res: TODO; }; "admin/relays/list": { req: TODO; res: TODO; }; "admin/relays/remove": { req: TODO; res: TODO; }; announcements: { req: { limit?: number; withUnreads?: boolean; sinceId?: Announcement["id"]; untilId?: Announcement["id"]; }; res: Announcement[]; }; "antennas/create": { req: TODO; res: Antenna; }; "antennas/delete": { req: { antennaId: Antenna["id"]; }; res: null; }; "antennas/list": { req: NoParams; res: Antenna[]; }; "antennas/notes": { req: { antennaId: Antenna["id"]; limit?: number; sinceId?: Note["id"]; untilId?: Note["id"]; }; res: Note[]; }; "antennas/show": { req: { antennaId: Antenna["id"]; }; res: Antenna; }; "antennas/update": { req: TODO; res: Antenna; }; "antennas/mark-read": { req: TODO; res: Antenna; }; "ap/get": { req: { uri: string; }; res: Record; }; "ap/show": { req: { uri: string; }; res: | { type: "Note"; object: Note; } | { type: "User"; object: UserDetailed; }; }; "app/create": { req: TODO; res: App; }; "app/show": { req: { appId: App["id"]; }; res: App; }; "auth/accept": { req: { token: string; }; res: null; }; "auth/session/generate": { req: { appSecret: string; }; res: { token: string; url: string; }; }; "auth/session/show": { req: { token: string; }; res: AuthSession; }; "auth/session/userkey": { req: { appSecret: string; token: string; }; res: { accessToken: string; user: User; }; }; "blocking/create": { req: { userId: User["id"]; }; res: UserDetailed; }; "blocking/delete": { req: { userId: User["id"]; }; res: UserDetailed; }; "blocking/list": { req: { limit?: number; sinceId?: Blocking["id"]; untilId?: Blocking["id"]; }; res: Blocking[]; }; "channels/create": { req: TODO; res: TODO; }; "channels/featured": { req: TODO; res: TODO; }; "channels/follow": { req: TODO; res: TODO; }; "channels/followed": { req: TODO; res: TODO; }; "channels/owned": { req: TODO; res: TODO; }; "channels/pin-note": { req: TODO; res: TODO; }; "channels/show": { req: TODO; res: TODO; }; "channels/timeline": { req: TODO; res: TODO; }; "channels/unfollow": { req: TODO; res: TODO; }; "channels/update": { req: TODO; res: TODO; }; "charts/active-users": { req: { span: "day" | "hour"; limit?: number; offset?: number | null; }; res: { local: { users: number[]; }; remote: { users: number[]; }; }; }; "charts/drive": { req: { span: "day" | "hour"; limit?: number; offset?: number | null; }; res: { local: { decCount: number[]; decSize: number[]; incCount: number[]; incSize: number[]; totalCount: number[]; totalSize: number[]; }; remote: { decCount: number[]; decSize: number[]; incCount: number[]; incSize: number[]; totalCount: number[]; totalSize: number[]; }; }; }; "charts/federation": { req: { span: "day" | "hour"; limit?: number; offset?: number | null; }; res: { instance: { dec: number[]; inc: number[]; total: number[]; }; }; }; "charts/hashtag": { req: { span: "day" | "hour"; limit?: number; offset?: number | null; }; res: TODO; }; "charts/instance": { req: { span: "day" | "hour"; limit?: number; offset?: number | null; host: string; }; res: { drive: { decFiles: number[]; decUsage: number[]; incFiles: number[]; incUsage: number[]; totalFiles: number[]; totalUsage: number[]; }; followers: { dec: number[]; inc: number[]; total: number[]; }; following: { dec: number[]; inc: number[]; total: number[]; }; notes: { dec: number[]; inc: number[]; total: number[]; diffs: { normal: number[]; renote: number[]; reply: number[]; }; }; requests: { failed: number[]; received: number[]; succeeded: number[]; }; users: { dec: number[]; inc: number[]; total: number[]; }; }; }; "charts/network": { req: { span: "day" | "hour"; limit?: number; offset?: number | null; }; res: TODO; }; "charts/notes": { req: { span: "day" | "hour"; limit?: number; offset?: number | null; }; res: { local: { dec: number[]; inc: number[]; total: number[]; diffs: { normal: number[]; renote: number[]; reply: number[]; }; }; remote: { dec: number[]; inc: number[]; total: number[]; diffs: { normal: number[]; renote: number[]; reply: number[]; }; }; }; }; "charts/user/drive": { req: { span: "day" | "hour"; limit?: number; offset?: number | null; userId: User["id"]; }; res: { decCount: number[]; decSize: number[]; incCount: number[]; incSize: number[]; totalCount: number[]; totalSize: number[]; }; }; "charts/user/following": { req: { span: "day" | "hour"; limit?: number; offset?: number | null; userId: User["id"]; }; res: TODO; }; "charts/user/notes": { req: { span: "day" | "hour"; limit?: number; offset?: number | null; userId: User["id"]; }; res: { dec: number[]; inc: number[]; total: number[]; diffs: { normal: number[]; renote: number[]; reply: number[]; }; }; }; "charts/user/reactions": { req: { span: "day" | "hour"; limit?: number; offset?: number | null; userId: User["id"]; }; res: TODO; }; "charts/users": { req: { span: "day" | "hour"; limit?: number; offset?: number | null; }; res: { local: { dec: number[]; inc: number[]; total: number[]; }; remote: { dec: number[]; inc: number[]; total: number[]; }; }; }; "clips/add-note": { req: TODO; res: TODO; }; "clips/create": { req: TODO; res: TODO; }; "clips/delete": { req: { clipId: Clip["id"]; }; res: null; }; "clips/list": { req: TODO; res: TODO; }; "clips/notes": { req: TODO; res: TODO; }; "clips/show": { req: TODO; res: TODO; }; "clips/update": { req: TODO; res: TODO; }; drive: { req: NoParams; res: { capacity: number; usage: number; }; }; "drive/files": { req: { folderId?: DriveFolder["id"] | null; type?: DriveFile["type"] | null; limit?: number; sinceId?: DriveFile["id"]; untilId?: DriveFile["id"]; }; res: DriveFile[]; }; "drive/files/attached-notes": { req: TODO; res: TODO; }; "drive/files/check-existence": { req: TODO; res: TODO; }; "drive/files/create": { req: TODO; res: TODO; }; "drive/files/delete": { req: { fileId: DriveFile["id"]; }; res: null; }; "drive/files/find-by-hash": { req: TODO; res: TODO; }; "drive/files/find": { req: { name: string; folderId?: DriveFolder["id"] | null; }; res: DriveFile[]; }; "drive/files/show": { req: { fileId?: DriveFile["id"]; url?: string; }; res: DriveFile; }; "drive/files/update": { req: { fileId: DriveFile["id"]; folderId?: DriveFolder["id"] | null; name?: string; isSensitive?: boolean; comment?: string | null; }; res: DriveFile; }; "drive/files/upload-from-url": { req: { url: string; folderId?: DriveFolder["id"] | null; isSensitive?: boolean; comment?: string | null; marker?: string | null; force?: boolean; }; res: null; }; "drive/folders": { req: { folderId?: DriveFolder["id"] | null; limit?: number; sinceId?: DriveFile["id"]; untilId?: DriveFile["id"]; }; res: DriveFolder[]; }; "drive/folders/create": { req: { name?: string; parentId?: DriveFolder["id"] | null; }; res: DriveFolder; }; "drive/folders/delete": { req: { folderId: DriveFolder["id"]; }; res: null; }; "drive/folders/find": { req: { name: string; parentId?: DriveFolder["id"] | null; }; res: DriveFolder[]; }; "drive/folders/show": { req: { folderId: DriveFolder["id"]; }; res: DriveFolder; }; "drive/folders/update": { req: { folderId: DriveFolder["id"]; name?: string; parentId?: DriveFolder["id"] | null; }; res: DriveFolder; }; "drive/stream": { req: { type?: DriveFile["type"] | null; limit?: number; sinceId?: DriveFile["id"]; untilId?: DriveFile["id"]; }; res: DriveFile[]; }; endpoint: { req: { endpoint: string; }; res: { params: { name: string; type: string; }[]; }; }; endpoints: { req: NoParams; res: string[]; }; "federation/dns": { req: { host: string; }; res: { a: string[]; aaaa: string[]; cname: string[]; txt: string[]; }; }; "federation/followers": { req: { host: string; limit?: number; sinceId?: Following["id"]; untilId?: Following["id"]; }; res: FollowingFolloweePopulated[]; }; "federation/following": { req: { host: string; limit?: number; sinceId?: Following["id"]; untilId?: Following["id"]; }; res: FollowingFolloweePopulated[]; }; "federation/instances": { req: { host?: string | null; blocked?: boolean | null; notResponding?: boolean | null; suspended?: boolean | null; federating?: boolean | null; subscribing?: boolean | null; publishing?: boolean | null; limit?: number; offset?: number; sort?: | "+pubSub" | "-pubSub" | "+notes" | "-notes" | "+users" | "-users" | "+following" | "-following" | "+followers" | "-followers" | "+caughtAt" | "-caughtAt" | "+lastCommunicatedAt" | "-lastCommunicatedAt" | "+driveUsage" | "-driveUsage" | "+driveFiles" | "-driveFiles"; }; res: Instance[]; }; "federation/show-instance": { req: { host: string; }; res: Instance; }; "federation/update-remote-user": { req: { userId: User["id"]; }; res: null; }; "federation/users": { req: { host: string; limit?: number; sinceId?: User["id"]; untilId?: User["id"]; }; res: UserDetailed[]; }; "following/create": { req: { userId: User["id"]; }; res: User; }; "following/delete": { req: { userId: User["id"]; }; res: User; }; "following/requests/accept": { req: { userId: User["id"]; }; res: null; }; "following/requests/cancel": { req: { userId: User["id"]; }; res: User; }; "following/requests/list": { req: NoParams; res: FollowRequest[]; }; "following/requests/reject": { req: { userId: User["id"]; }; res: null; }; "gallery/featured": { req: TODO; res: TODO; }; "gallery/popular": { req: TODO; res: TODO; }; "gallery/posts": { req: TODO; res: TODO; }; "gallery/posts/create": { req: TODO; res: TODO; }; "gallery/posts/delete": { req: { postId: GalleryPost["id"]; }; res: null; }; "gallery/posts/like": { req: TODO; res: TODO; }; "gallery/posts/show": { req: TODO; res: TODO; }; "gallery/posts/unlike": { req: TODO; res: TODO; }; "gallery/posts/update": { req: TODO; res: TODO; }; "games/reversi/games": { req: TODO; res: TODO; }; "games/reversi/games/show": { req: TODO; res: TODO; }; "games/reversi/games/surrender": { req: TODO; res: TODO; }; "games/reversi/invitations": { req: TODO; res: TODO; }; "games/reversi/match": { req: TODO; res: TODO; }; "games/reversi/match/cancel": { req: TODO; res: TODO; }; "get-online-users-count": { req: NoParams; res: { count: number; }; }; "hashtags/list": { req: TODO; res: TODO; }; "hashtags/search": { req: TODO; res: TODO; }; "hashtags/show": { req: TODO; res: TODO; }; "hashtags/trend": { req: TODO; res: TODO; }; "hashtags/users": { req: TODO; res: TODO; }; i: { req: NoParams; res: User; }; "i/apps": { req: TODO; res: TODO; }; "i/authorized-apps": { req: TODO; res: TODO; }; "i/change-password": { req: TODO; res: TODO; }; "i/delete-account": { req: { password: string; }; res: null; }; "i/export-blocking": { req: TODO; res: TODO; }; "i/export-following": { req: TODO; res: TODO; }; "i/export-mute": { req: TODO; res: TODO; }; "i/export-notes": { req: TODO; res: TODO; }; "i/export-user-lists": { req: TODO; res: TODO; }; "i/favorites": { req: { limit?: number; sinceId?: NoteFavorite["id"]; untilId?: NoteFavorite["id"]; }; res: NoteFavorite[]; }; "i/gallery/likes": { req: TODO; res: TODO; }; "i/gallery/posts": { req: TODO; res: TODO; }; "i/get-word-muted-notes-count": { req: TODO; res: TODO; }; "i/import-following": { req: TODO; res: TODO; }; "i/import-user-lists": { req: TODO; res: TODO; }; "i/move": { req: TODO; res: TODO; }; "i/known-as": { req: TODO; res: TODO; }; "i/notifications": { req: { limit?: number; sinceId?: Notification["id"]; untilId?: Notification["id"]; following?: boolean; markAsRead?: boolean; includeTypes?: Notification["type"][]; excludeTypes?: Notification["type"][]; }; res: Notification[]; }; "i/page-likes": { req: TODO; res: TODO; }; "i/pages": { req: TODO; res: TODO; }; "i/pin": { req: { noteId: Note["id"]; }; res: MeDetailed; }; "i/read-all-messaging-messages": { req: TODO; res: TODO; }; "i/read-all-unread-notes": { req: TODO; res: TODO; }; "i/read-announcement": { req: TODO; res: TODO; }; "i/regenerate-token": { req: { password: string; }; res: null; }; "i/registry/get-all": { req: { scope?: string[]; }; res: Record; }; "i/registry/get-detail": { req: { key: string; scope?: string[]; }; res: { updatedAt: DateString; value: any; }; }; "i/registry/get": { req: { key: string; scope?: string[]; }; res: any; }; "i/registry/keys-with-type": { req: { scope?: string[]; }; res: Record< string, "null" | "array" | "number" | "string" | "boolean" | "object" >; }; "i/registry/keys": { req: { scope?: string[]; }; res: string[]; }; "i/registry/remove": { req: { key: string; scope?: string[]; }; res: null; }; "i/registry/scopes": { req: NoParams; res: string[][]; }; "i/registry/set": { req: { key: string; value: any; scope?: string[]; }; res: null; }; "i/revoke-token": { req: TODO; res: TODO; }; "i/signin-history": { req: { limit?: number; sinceId?: Signin["id"]; untilId?: Signin["id"]; }; res: Signin[]; }; "i/unpin": { req: { noteId: Note["id"]; }; res: MeDetailed; }; "i/update-email": { req: { password: string; email?: string | null; }; res: MeDetailed; }; "i/update": { req: { name?: string | null; description?: string | null; lang?: string | null; location?: string | null; birthday?: string | null; avatarId?: DriveFile["id"] | null; bannerId?: DriveFile["id"] | null; fields?: { name: string; value: string; }[]; isLocked?: boolean; isExplorable?: boolean; hideOnlineStatus?: boolean; carefulBot?: boolean; autoAcceptFollowed?: boolean; noCrawle?: boolean; preventAiLearning?: boolean; isBot?: boolean; isCat?: boolean; injectFeaturedNote?: boolean; receiveAnnouncementEmail?: boolean; alwaysMarkNsfw?: boolean; mutedWords?: string[][]; mutingNotificationTypes?: Notification["type"][]; emailNotificationTypes?: string[]; }; res: MeDetailed; }; "i/user-group-invites": { req: TODO; res: TODO; }; "i/2fa/done": { req: TODO; res: TODO; }; "i/2fa/key-done": { req: TODO; res: TODO; }; "i/2fa/password-less": { req: TODO; res: TODO; }; "i/2fa/register-key": { req: TODO; res: TODO; }; "i/2fa/register": { req: TODO; res: TODO; }; "i/2fa/update-key": { req: TODO; res: TODO; }; "i/2fa/remove-key": { req: TODO; res: TODO; }; "i/2fa/unregister": { req: TODO; res: TODO; }; "messaging/history": { req: { limit?: number; group?: boolean; }; res: MessagingMessage[]; }; "messaging/messages": { req: { userId?: User["id"]; groupId?: UserGroup["id"]; limit?: number; sinceId?: MessagingMessage["id"]; untilId?: MessagingMessage["id"]; markAsRead?: boolean; }; res: MessagingMessage[]; }; "messaging/messages/create": { req: { userId?: User["id"]; groupId?: UserGroup["id"]; text?: string; fileId?: DriveFile["id"]; }; res: MessagingMessage; }; "messaging/messages/delete": { req: { messageId: MessagingMessage["id"]; }; res: null; }; "messaging/messages/read": { req: { messageId: MessagingMessage["id"]; }; res: null; }; meta: { req: { detail?: boolean; }; res: { $switch: { $cases: [ [ { detail: true; }, DetailedInstanceMetadata, ], [ { detail: false; }, LiteInstanceMetadata, ], [ { detail: boolean; }, LiteInstanceMetadata | DetailedInstanceMetadata, ], ]; $default: LiteInstanceMetadata; }; }; }; "miauth/gen-token": { req: TODO; res: TODO; }; "mute/create": { req: TODO; res: TODO; }; "mute/delete": { req: { userId: User["id"]; }; res: null; }; "mute/list": { req: TODO; res: TODO; }; "renote-mute/create": { req: TODO; res: TODO; }; "renote-mute/delete": { req: { userId: User["id"]; }; res: null; }; "renote-mute/list": { req: TODO; res: TODO; }; "my/apps": { req: TODO; res: TODO; }; notes: { req: { limit?: number; sinceId?: Note["id"]; untilId?: Note["id"]; }; res: Note[]; }; "notes/children": { req: { noteId: Note["id"]; limit?: number; sinceId?: Note["id"]; untilId?: Note["id"]; }; res: Note[]; }; "notes/clips": { req: TODO; res: TODO; }; "notes/conversation": { req: TODO; res: TODO; }; "notes/create": { req: NoteSubmitReq; res: { createdNote: Note; }; }; "notes/delete": { req: { noteId: Note["id"]; }; res: null; }; "notes/edit": { req: NoteSubmitReq; res: { createdNote: Note; }; }; "notes/favorites/create": { req: { noteId: Note["id"]; }; res: null; }; "notes/favorites/delete": { req: { noteId: Note["id"]; }; res: null; }; "notes/featured": { req: TODO; res: Note[]; }; "notes/global-timeline": { req: { limit?: number; sinceId?: Note["id"]; untilId?: Note["id"]; sinceDate?: number; untilDate?: number; }; res: Note[]; }; "notes/recommended-timeline": { req: { limit?: number; sinceId?: Note["id"]; untilId?: Note["id"]; sinceDate?: number; untilDate?: number; }; res: Note[]; }; "notes/hybrid-timeline": { req: { limit?: number; sinceId?: Note["id"]; untilId?: Note["id"]; sinceDate?: number; untilDate?: number; }; res: Note[]; }; "notes/local-timeline": { req: { limit?: number; sinceId?: Note["id"]; untilId?: Note["id"]; sinceDate?: number; untilDate?: number; }; res: Note[]; }; "notes/mentions": { req: { following?: boolean; limit?: number; sinceId?: Note["id"]; untilId?: Note["id"]; }; res: Note[]; }; "notes/polls/recommendation": { req: TODO; res: TODO; }; "notes/polls/vote": { req: { noteId: Note["id"]; choice: number; }; res: null; }; "notes/reactions": { req: { noteId: Note["id"]; type?: string | null; limit?: number; }; res: NoteReaction[]; }; "notes/reactions/create": { req: { noteId: Note["id"]; reaction: string; }; res: null; }; "notes/reactions/delete": { req: { noteId: Note["id"]; }; res: null; }; "notes/renotes": { req: { limit?: number; sinceId?: Note["id"]; untilId?: Note["id"]; noteId: Note["id"]; }; res: Note[]; }; "notes/replies": { req: { limit?: number; sinceId?: Note["id"]; untilId?: Note["id"]; noteId: Note["id"]; }; res: Note[]; }; "notes/search-by-tag": { req: TODO; res: TODO; }; "notes/search": { req: TODO; res: TODO; }; "notes/show": { req: { noteId: Note["id"]; }; res: Note; }; "notes/state": { req: TODO; res: TODO; }; "notes/timeline": { req: { limit?: number; sinceId?: Note["id"]; untilId?: Note["id"]; sinceDate?: number; untilDate?: number; }; res: Note[]; }; "notes/unrenote": { req: { noteId: Note["id"]; }; res: null; }; "notes/user-list-timeline": { req: { listId: UserList["id"]; limit?: number; sinceId?: Note["id"]; untilId?: Note["id"]; sinceDate?: number; untilDate?: number; }; res: Note[]; }; "notes/watching/create": { req: TODO; res: TODO; }; "notes/watching/delete": { req: { noteId: Note["id"]; }; res: null; }; "notifications/create": { req: { body: string; header?: string | null; icon?: string | null; }; res: null; }; "notifications/mark-all-as-read": { req: NoParams; res: null; }; "notifications/read": { req: { notificationId: Notification["id"]; }; res: null; }; "page-push": { req: { pageId: Page["id"]; event: string; var?: any; }; res: null; }; "pages/create": { req: TODO; res: Page; }; "pages/delete": { req: { pageId: Page["id"]; }; res: null; }; "pages/featured": { req: NoParams; res: Page[]; }; "pages/like": { req: { pageId: Page["id"]; }; res: null; }; "pages/show": { req: { pageId?: Page["id"]; name?: string; username?: string; }; res: Page; }; "pages/unlike": { req: { pageId: Page["id"]; }; res: null; }; "pages/update": { req: TODO; res: null; }; ping: { req: NoParams; res: { pong: number; }; }; "pinned-users": { req: TODO; res: TODO; }; "promo/read": { req: TODO; res: TODO; }; "request-reset-password": { req: { username: string; email: string; }; res: null; }; "reset-password": { req: { token: string; password: string; }; res: null; }; "room/show": { req: TODO; res: TODO; }; "room/update": { req: TODO; res: TODO; }; stats: { req: NoParams; res: Stats; }; "server-info": { req: NoParams; res: ServerInfo; }; "latest-version": { req: NoParams; res: TODO; }; "sw/register": { req: TODO; res: TODO; }; "username/available": { req: { username: string; }; res: { available: boolean; }; }; users: { req: { limit?: number; offset?: number; sort?: UserSorting; origin?: OriginType; }; res: User[]; }; "users/clips": { req: TODO; res: TODO; }; "users/followers": { req: { userId?: User["id"]; username?: User["username"]; host?: User["host"] | null; limit?: number; sinceId?: Following["id"]; untilId?: Following["id"]; }; res: FollowingFollowerPopulated[]; }; "users/following": { req: { userId?: User["id"]; username?: User["username"]; host?: User["host"] | null; limit?: number; sinceId?: Following["id"]; untilId?: Following["id"]; }; res: FollowingFolloweePopulated[]; }; "users/gallery/posts": { req: TODO; res: TODO; }; "users/get-frequently-replied-users": { req: TODO; res: TODO; }; "users/groups/create": { req: TODO; res: TODO; }; "users/groups/delete": { req: { groupId: UserGroup["id"]; }; res: null; }; "users/groups/invitations/accept": { req: TODO; res: TODO; }; "users/groups/invitations/reject": { req: TODO; res: TODO; }; "users/groups/invite": { req: TODO; res: TODO; }; "users/groups/joined": { req: TODO; res: TODO; }; "users/groups/owned": { req: TODO; res: TODO; }; "users/groups/pull": { req: TODO; res: TODO; }; "users/groups/show": { req: TODO; res: TODO; }; "users/groups/transfer": { req: TODO; res: TODO; }; "users/groups/update": { req: TODO; res: TODO; }; "users/lists/create": { req: { name: string; }; res: UserList; }; "users/lists/delete": { req: { listId: UserList["id"]; }; res: null; }; "users/lists/list": { req: NoParams; res: UserList[]; }; "users/lists/pull": { req: { listId: UserList["id"]; userId: User["id"]; }; res: null; }; "users/lists/push": { req: { listId: UserList["id"]; userId: User["id"]; }; res: null; }; "users/lists/show": { req: { listId: UserList["id"]; }; res: UserList; }; "users/lists/update": { req: { listId: UserList["id"]; name: string; }; res: UserList; }; "users/notes": { req: { userId: User["id"]; limit?: number; sinceId?: Note["id"]; untilId?: Note["id"]; sinceDate?: number; untilDate?: number; }; res: Note[]; }; "users/pages": { req: TODO; res: TODO; }; "users/recommendation": { req: TODO; res: TODO; }; "users/relation": { req: TODO; res: TODO; }; "users/report-abuse": { req: TODO; res: TODO; }; "users/search-by-username-and-host": { req: TODO; res: TODO; }; "users/search": { req: TODO; res: TODO; }; "users/show": { req: | ShowUserReq | { userIds: User["id"][]; }; res: { $switch: { $cases: [ [ { userIds: User["id"][]; }, UserDetailed[], ], ]; $default: UserDetailed; }; }; }; "users/stats": { req: TODO; res: TODO; }; }; ``` **References:** [User](./iceshrimp-js.entities.user.md), [Ad](./iceshrimp-js.entities.ad.md), [Announcement](./iceshrimp-js.entities.announcement.md), [Antenna](./iceshrimp-js.entities.antenna.md), [Note](./iceshrimp-js.entities.note.md), [UserDetailed](./iceshrimp-js.entities.userdetailed.md), [App](./iceshrimp-js.entities.app.md), [AuthSession](./iceshrimp-js.entities.authsession.md), [Blocking](./iceshrimp-js.entities.blocking.md), [Clip](./iceshrimp-js.entities.clip.md), [DriveFolder](./iceshrimp-js.entities.drivefolder.md), [DriveFile](./iceshrimp-js.entities.drivefile.md), [Following](./iceshrimp-js.entities.following.md), [FollowingFolloweePopulated](./iceshrimp-js.entities.followingfolloweepopulated.md), [Instance](./iceshrimp-js.entities.instance.md), [FollowRequest](./iceshrimp-js.entities.followrequest.md), [GalleryPost](./iceshrimp-js.entities.gallerypost.md), [NoteFavorite](./iceshrimp-js.entities.notefavorite.md), [MeDetailed](./iceshrimp-js.entities.medetailed.md), [DateString](./iceshrimp-js.entities.datestring.md), [Signin](./iceshrimp-js.entities.signin.md), [MessagingMessage](./iceshrimp-js.entities.messagingmessage.md), [UserGroup](./iceshrimp-js.entities.usergroup.md), [DetailedInstanceMetadata](./iceshrimp-js.entities.detailedinstancemetadata.md), [LiteInstanceMetadata](./iceshrimp-js.entities.liteinstancemetadata.md), [NoteReaction](./iceshrimp-js.entities.notereaction.md), [UserList](./iceshrimp-js.entities.userlist.md), [Page](./iceshrimp-js.entities.page.md), [Stats](./iceshrimp-js.entities.stats.md), [ServerInfo](./iceshrimp-js.entities.serverinfo.md), [UserSorting](./iceshrimp-js.entities.usersorting.md), [OriginType](./iceshrimp-js.entities.origintype.md), [FollowingFollowerPopulated](./iceshrimp-js.entities.followingfollowerpopulated.md)