openapi: 3.1.0 info: version: 2025.4.1-io.12b-fb6fbea074 title: Misskey account gallery API servers: - url: https://misskey.io/api tags: - name: gallery paths: /gallery/featured: post: operationId: post___gallery___featured summary: gallery/featured description: 'No description provided. **Credential required**: *No*' externalDocs: description: Source code url: https://github.com/MisskeyIO/misskey/blob/io/packages/backend/src/server/api/endpoints/gallery/featured.ts tags: - gallery requestBody: required: true content: application/json: schema: type: object properties: limit: type: integer minimum: 1 maximum: 100 default: 10 untilId: type: string format: misskey:id responses: '200': description: OK (with results) content: application/json: schema: type: array items: type: object $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_AI: value: error: message: You sent a request to Ai-chan, Misskey's showgirl, instead of the server. code: I_AM_AI id: 60c46cd1-f23a-46b1-bebe-5d2b73951a84 '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/Error' examples: 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: post___gallery___popular summary: gallery/popular description: 'No description provided. **Credential required**: *No*' externalDocs: description: Source code url: https://github.com/MisskeyIO/misskey/blob/io/packages/backend/src/server/api/endpoints/gallery/popular.ts tags: - gallery responses: '200': description: OK (with results) content: application/json: schema: type: array items: type: object $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_AI: value: error: message: You sent a request to Ai-chan, Misskey's showgirl, instead of the server. code: I_AM_AI id: 60c46cd1-f23a-46b1-bebe-5d2b73951a84 '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/Error' examples: 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: post___gallery___posts summary: gallery/posts description: 'No description provided. **Credential required**: *No*' externalDocs: description: Source code url: https://github.com/MisskeyIO/misskey/blob/io/packages/backend/src/server/api/endpoints/gallery/posts.ts tags: - gallery 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 responses: '200': description: OK (with results) content: application/json: schema: type: array items: type: object $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_AI: value: error: message: You sent a request to Ai-chan, Misskey's showgirl, instead of the server. code: I_AM_AI id: 60c46cd1-f23a-46b1-bebe-5d2b73951a84 '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/Error' examples: 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: post___gallery___posts___create summary: gallery/posts/create description: 'No description provided. **Credential required**: *Yes* / **Permission**: *write:gallery*' externalDocs: description: Source code url: https://github.com/MisskeyIO/misskey/blob/io/packages/backend/src/server/api/endpoints/gallery/posts/create.ts tags: - gallery security: - bearerAuth: [] requestBody: required: true content: application/json: schema: type: object properties: title: type: string minLength: 1 description: type: - string - 'null' 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 $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_AI: value: error: message: You sent a request to Ai-chan, Misskey's showgirl, instead of the server. code: I_AM_AI id: 60c46cd1-f23a-46b1-bebe-5d2b73951a84 '429': description: Too 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: post___gallery___posts___delete summary: gallery/posts/delete description: 'No description provided. **Credential required**: *Yes* / **Permission**: *write:gallery*' externalDocs: description: Source code url: https://github.com/MisskeyIO/misskey/blob/io/packages/backend/src/server/api/endpoints/gallery/posts/delete.ts tags: - gallery security: - bearerAuth: [] 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 ACCESS_DENIED: value: error: message: Access denied. code: ACCESS_DENIED id: c86e09de-1c48-43ac-a435-1c7e42ed4496 INVALID_PARAM: value: error: message: Invalid param. code: INVALID_PARAM id: 3d81ceae-475f-4600-b2a8-2bc116157532 '401': description: Authentication error content: application/json: schema: $ref: '#/components/schemas/Error' examples: CREDENTIAL_REQUIRED: value: error: message: Credential required. code: CREDENTIAL_REQUIRED id: 1384574d-a912-4b81-8601-c7b1c4085df1 '403': description: Forbidden error content: application/json: schema: $ref: '#/components/schemas/Error' examples: AUTHENTICATION_FAILED: value: error: message: Authentication failed. Please ensure your token is correct. code: AUTHENTICATION_FAILED id: b0a7f5f8-dc2f-4171-b91f-de88ad238e14 '418': description: I'm Ai content: application/json: schema: $ref: '#/components/schemas/Error' examples: I_AM_AI: value: error: message: You sent a request to Ai-chan, Misskey's showgirl, instead of the server. code: I_AM_AI id: 60c46cd1-f23a-46b1-bebe-5d2b73951a84 '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/Error' examples: 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: post___gallery___posts___like summary: gallery/posts/like description: 'No description provided. **Credential required**: *Yes* / **Permission**: *write:gallery-likes*' externalDocs: description: Source code url: https://github.com/MisskeyIO/misskey/blob/io/packages/backend/src/server/api/endpoints/gallery/posts/like.ts tags: - gallery security: - bearerAuth: [] 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_AI: value: error: message: You sent a request to Ai-chan, Misskey's showgirl, instead of the server. code: I_AM_AI id: 60c46cd1-f23a-46b1-bebe-5d2b73951a84 '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/Error' examples: 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: post___gallery___posts___show summary: gallery/posts/show description: 'No description provided. **Credential required**: *No*' externalDocs: description: Source code url: https://github.com/MisskeyIO/misskey/blob/io/packages/backend/src/server/api/endpoints/gallery/posts/show.ts tags: - gallery 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 $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_AI: value: error: message: You sent a request to Ai-chan, Misskey's showgirl, instead of the server. code: I_AM_AI id: 60c46cd1-f23a-46b1-bebe-5d2b73951a84 '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/Error' examples: 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: post___gallery___posts___unlike summary: gallery/posts/unlike description: 'No description provided. **Credential required**: *Yes* / **Permission**: *write:gallery-likes*' externalDocs: description: Source code url: https://github.com/MisskeyIO/misskey/blob/io/packages/backend/src/server/api/endpoints/gallery/posts/unlike.ts tags: - gallery security: - bearerAuth: [] 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_AI: value: error: message: You sent a request to Ai-chan, Misskey's showgirl, instead of the server. code: I_AM_AI id: 60c46cd1-f23a-46b1-bebe-5d2b73951a84 '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/Error' examples: 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: post___gallery___posts___update summary: gallery/posts/update description: 'No description provided. **Credential required**: *Yes* / **Permission**: *write:gallery*' externalDocs: description: Source code url: https://github.com/MisskeyIO/misskey/blob/io/packages/backend/src/server/api/endpoints/gallery/posts/update.ts tags: - gallery security: - bearerAuth: [] requestBody: required: true content: application/json: schema: type: object properties: postId: type: string format: misskey:id title: type: string minLength: 1 description: type: - string - 'null' fileIds: type: array uniqueItems: true minItems: 1 maxItems: 32 items: type: string format: misskey:id isSensitive: type: boolean default: false required: - postId responses: '200': description: OK (with results) content: application/json: schema: type: object $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_AI: value: error: message: You sent a request to Ai-chan, Misskey's showgirl, instead of the server. code: I_AM_AI id: 60c46cd1-f23a-46b1-bebe-5d2b73951a84 '429': description: Too 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 components: schemas: DriveFile: type: object properties: id: type: string format: id example: xxxxxxxxxx createdAt: type: string format: date-time name: type: string example: 192.jpg type: type: string example: image/jpeg md5: type: string format: md5 example: 15eca7fba0480996e2245f5185bf39f2 size: type: number example: 51469 isSensitive: type: boolean isSensitiveByModerator: type: - boolean - 'null' blurhash: type: - string - 'null' properties: type: object properties: width: type: number example: 1280 height: type: number example: 720 orientation: type: number example: 8 avgColor: type: string example: rgb(40,65,87) url: type: string format: url thumbnailUrl: type: - string - 'null' format: url comment: type: - string - 'null' folderId: type: - string - 'null' format: id example: xxxxxxxxxx folder: type: - object - 'null' anyOf: - $ref: '#/components/schemas/DriveFolder' - type: 'null' userId: type: - string - 'null' format: id example: xxxxxxxxxx user: type: - object - 'null' anyOf: - $ref: '#/components/schemas/UserLite' - type: 'null' required: - id - createdAt - name - type - md5 - size - isSensitive - blurhash - properties - url - thumbnailUrl - comment - folderId - userId DriveFolder: type: object properties: id: type: string format: id example: xxxxxxxxxx createdAt: type: string format: date-time name: type: string parentId: type: - string - 'null' format: id example: xxxxxxxxxx foldersCount: type: number filesCount: type: number parent: type: - object - 'null' anyOf: - $ref: '#/components/schemas/DriveFolder' - type: 'null' required: - id - createdAt - name - parentId UserLite: type: object properties: id: type: string format: id example: xxxxxxxxxx name: type: - string - 'null' example: 藍 username: type: string example: ai host: type: - string - 'null' example: misskey.example.com description: The local host is represented with `null`. avatarUrl: type: - string - 'null' format: url avatarBlurhash: type: - string - 'null' avatarDecorations: type: array items: type: object properties: id: type: string format: id angle: type: number flipH: type: boolean url: type: string format: url offsetX: type: number offsetY: type: number required: - id - url isBot: type: boolean isCat: type: boolean requireSigninToViewContents: type: boolean makeNotesFollowersOnlyBefore: type: - number - 'null' makeNotesHiddenBefore: type: - number - 'null' instance: type: object properties: name: type: - string - 'null' softwareName: type: - string - 'null' softwareVersion: type: - string - 'null' iconUrl: type: - string - 'null' faviconUrl: type: - string - 'null' themeColor: type: - string - 'null' required: - name - softwareName - softwareVersion - iconUrl - faviconUrl - themeColor emojis: type: object additionalProperties: type: string onlineStatus: type: string enum: - unknown - online - active - offline badgeRoles: type: array items: type: object properties: name: type: string iconUrl: type: - string - 'null' displayOrder: type: number behavior: type: string required: - name - iconUrl - displayOrder required: - id - name - username - host - avatarUrl - avatarBlurhash - avatarDecorations - emojis - onlineStatus 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 GalleryPost: type: object properties: id: type: string format: id example: xxxxxxxxxx createdAt: type: string format: date-time updatedAt: type: string format: date-time userId: type: string format: id user: type: object $ref: '#/components/schemas/UserLite' title: type: string description: type: - string - 'null' fileIds: type: array items: type: string format: id files: type: array items: type: object $ref: '#/components/schemas/DriveFile' tags: type: array items: type: string isSensitive: type: boolean likedCount: type: number isLiked: type: boolean required: - id - createdAt - updatedAt - userId - user - title - description - isSensitive - likedCount securitySchemes: bearerAuth: type: http scheme: bearer externalDocs: description: Repository url: https://github.com/MisskeyIO/misskey