Misskey pages API

The pages API from Misskey — 7 operation(s) for pages.

OpenAPI Specification

misskey-pages-api-openapi.yml Raw ↑
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
         

# --- truncated at 32 KB (38 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/misskey/refs/heads/main/openapi/misskey-pages-api-openapi.yml