openapi: 3.1.0 info: version: 2025.4.1-io.12b-fb6fbea074 title: Misskey account pages API servers: - url: https://misskey.io/api tags: - name: pages paths: /pages/create: post: operationId: post___pages___create summary: pages/create description: 'No description provided. **Credential required**: *Yes* / **Permission**: *write:pages*' externalDocs: description: Source code url: https://github.com/MisskeyIO/misskey/blob/io/packages/backend/src/server/api/endpoints/pages/create.ts tags: - pages security: - bearerAuth: [] requestBody: required: true content: application/json: schema: type: object properties: title: type: string name: type: string pattern: ^[a-zA-Z0-9_-]+$ minLength: 1 summary: type: - string - 'null' content: type: array items: type: object additionalProperties: true variables: type: array items: type: object additionalProperties: true script: type: string eyeCatchingImageId: type: - string - 'null' format: misskey:id font: type: string enum: - serif - sans-serif default: sans-serif alignCenter: type: boolean default: false hideTitleWhenPinned: type: boolean default: false visibility: type: string enum: - public - private required: - title - name - content - variables - script responses: '200': description: OK (with results) content: application/json: schema: type: object $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_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 /pages/delete: post: operationId: post___pages___delete summary: pages/delete description: 'No description provided. **Credential required**: *Yes* / **Permission**: *write:pages*' externalDocs: description: Source code url: https://github.com/MisskeyIO/misskey/blob/io/packages/backend/src/server/api/endpoints/pages/delete.ts tags: - pages security: - bearerAuth: [] 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_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 /pages/featured: post: operationId: post___pages___featured summary: pages/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/pages/featured.ts tags: - pages responses: '200': description: OK (with results) content: application/json: schema: type: array items: type: object $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_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 /pages/like: post: operationId: post___pages___like summary: pages/like description: 'No description provided. **Credential required**: *Yes* / **Permission**: *write:page-likes*' externalDocs: description: Source code url: https://github.com/MisskeyIO/misskey/blob/io/packages/backend/src/server/api/endpoints/pages/like.ts tags: - pages security: - bearerAuth: [] 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: d4c1edbe-7da2-4eae-8714-1acfd2d63941 INVALID_PARAM: value: error: message: Invalid param. code: INVALID_PARAM id: 3d81ceae-475f-4600-b2a8-2bc116157532 '401': description: Authentication error content: application/json: schema: $ref: '#/components/schemas/Error' examples: CREDENTIAL_REQUIRED: value: error: message: Credential required. code: CREDENTIAL_REQUIRED id: 1384574d-a912-4b81-8601-c7b1c4085df1 '403': description: Forbidden error content: application/json: schema: $ref: '#/components/schemas/Error' examples: AUTHENTICATION_FAILED: value: error: message: Authentication failed. Please ensure your token is correct. code: 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 /pages/show: post: operationId: post___pages___show summary: pages/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/pages/show.ts tags: - pages requestBody: required: true content: application/json: schema: type: object properties: pageId: type: string format: misskey:id name: type: string username: type: string anyOf: - required: - pageId - required: - name - username responses: '200': description: OK (with results) content: application/json: schema: type: object $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_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 /pages/unlike: post: operationId: post___pages___unlike summary: pages/unlike description: 'No description provided. **Credential required**: *Yes* / **Permission**: *write:page-likes*' externalDocs: description: Source code url: https://github.com/MisskeyIO/misskey/blob/io/packages/backend/src/server/api/endpoints/pages/unlike.ts tags: - pages security: - bearerAuth: [] 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_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 /pages/update: post: operationId: post___pages___update summary: pages/update description: 'No description provided. **Credential required**: *Yes* / **Permission**: *write:pages*' externalDocs: description: Source code url: https://github.com/MisskeyIO/misskey/blob/io/packages/backend/src/server/api/endpoints/pages/update.ts tags: - pages security: - bearerAuth: [] requestBody: required: true content: application/json: schema: type: object properties: pageId: type: string format: misskey:id title: type: string name: type: string pattern: ^[a-zA-Z0-9_-]+$ minLength: 1 summary: type: - string - 'null' content: type: array items: type: object additionalProperties: true variables: type: array items: type: object additionalProperties: true script: type: string eyeCatchingImageId: type: - string - 'null' format: misskey:id font: type: string enum: - serif - sans-serif alignCenter: type: boolean hideTitleWhenPinned: type: boolean visibility: type: string enum: - public - private 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: 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_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 PageBlock: type: object oneOf: - type: object properties: id: type: string type: type: string enum: - text text: type: string required: - id - type - text - type: object properties: id: type: string type: type: string enum: - section title: type: string children: type: array items: type: object required: - id - type - title - children - type: object properties: id: type: string type: type: string enum: - image fileId: type: - string - 'null' required: - id - type - fileId - type: object properties: id: type: string type: type: string enum: - note detailed: type: boolean note: type: - string - 'null' required: - id - type - detailed - note Page: 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' content: type: array items: type: object $ref: '#/components/schemas/PageBlock' variables: type: array items: type: object title: type: string name: type: string summary: type: - string - 'null' hideTitleWhenPinned: type: boolean alignCenter: type: boolean font: type: string script: type: string eyeCatchingImageId: type: - string - 'null' eyeCatchingImage: type: - object - 'null' anyOf: - $ref: '#/components/schemas/DriveFile' - type: 'null' attachedFiles: type: array items: type: object $ref: '#/components/schemas/DriveFile' likedCount: type: number isLiked: type: boolean visibility: type: string enum: - public - private required: - id - createdAt - updatedAt - userId - user - content - variables - title - name - summary - hideTitleWhenPinned - alignCenter - font - script - eyeCatchingImageId - eyeCatchingImage - attachedFiles - likedCount - visibility 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 securitySchemes: bearerAuth: type: http scheme: bearer externalDocs: description: Repository url: https://github.com/MisskeyIO/misskey