Figma Comment Reactions API

Interact with reactions to file comments.

Operations 3

GET /v1/files/{file_key}/comments/{comment_id}/reactions Get reactions for a comment #
POST /v1/files/{file_key}/comments/{comment_id}/reactions Add a reaction to a comment #
DELETE /v1/files/{file_key}/comments/{comment_id}/reactions Delete a reaction #

Documentation

Specifications

Schemas & Data

📊
JSONSchema
https://artifacts.apis.io/figma/json-schema/figma-teams-get-team-webhooks-response-body-schema.json
📊
JSONSchema
https://artifacts.apis.io/figma/json-schema/figma-teams-webhook-v2-schema.json
📊
JSONSchema
https://artifacts.apis.io/figma/json-schema/figma-teams-webhook-v2-event-schema.json
📊
JSONSchema
https://artifacts.apis.io/figma/json-schema/figma-teams-webhook-v2-status-schema.json
📊
JSONSchema
https://artifacts.apis.io/figma/json-schema/figma-teams-error-response-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/figma/json-schema/figma-teams-forbidden-error-schema.json
📊
JSONSchema
https://artifacts.apis.io/figma/json-schema/figma-teams-internal-server-error-schema.json
📊
JSONSchema
https://artifacts.apis.io/figma/json-schema/figma-teams-not-found-error-schema.json
📊
JSONSchema
https://artifacts.apis.io/figma/json-schema/figma-teams-too-many-requests-error-schema.json
📊
JSONSchema
https://artifacts.apis.io/figma/json-schema/figma-file-schema.json
📊
JSONSchema
https://artifacts.apis.io/figma/json-schema/figma-component-schema.json
📊
JSONSchema
https://artifacts.apis.io/figma/json-schema/figma-user-schema.json
📊
JSONSchema
https://artifacts.apis.io/figma/json-schema/figma-error-response-payload-schema.json
📊
JSONSchema
https://artifacts.apis.io/figma/json-schema/figma-get-me-response-body-schema.json
📊
JSONStructure
https://artifacts.apis.io/figma/json-structure/figma-get-me-response-body-structure.json
📊
JSONStructure
https://artifacts.apis.io/figma/json-structure/figma-error-response-payload-structure.json
📊
JSONStructure
https://artifacts.apis.io/figma/json-structure/figma-user-structure.json
📊
JSONSchema
https://artifacts.apis.io/figma/json-schema/figma-rest-get-file-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/figma/json-schema/figma-rest-get-file-nodes-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/figma/json-schema/figma-rest-get-images-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/figma/json-schema/figma-rest-get-image-fills-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/figma/json-schema/figma-rest-get-file-versions-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/figma/json-schema/figma-rest-get-comments-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/figma/json-schema/figma-rest-post-comment-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/figma/json-schema/figma-rest-get-reactions-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/figma/json-schema/figma-rest-get-team-components-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/figma/json-schema/figma-rest-get-file-components-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/figma/json-schema/figma-rest-get-component-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/figma/json-schema/figma-rest-get-team-component-sets-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/figma/json-schema/figma-rest-get-team-styles-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/figma/json-schema/figma-rest-get-team-projects-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/figma/json-schema/figma-rest-get-project-files-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/figma/json-schema/figma-rest-error-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/figma/json-schema/figma-rest-branch-schema.json
📊
JSONSchema
https://artifacts.apis.io/figma/json-schema/figma-rest-canvas-node-schema.json
📊
JSONSchema
https://artifacts.apis.io/figma/json-schema/figma-rest-client-meta-schema.json
📊
JSONSchema
https://artifacts.apis.io/figma/json-schema/figma-rest-color-schema.json
📊
JSONSchema
https://artifacts.apis.io/figma/json-schema/figma-rest-comment-schema.json
📊
JSONSchema
https://artifacts.apis.io/figma/json-schema/figma-rest-component-schema.json
📊
JSONSchema
https://artifacts.apis.io/figma/json-schema/figma-rest-component-set-schema.json
📊
JSONSchema
https://artifacts.apis.io/figma/json-schema/figma-rest-document-node-schema.json
📊
JSONSchema
https://artifacts.apis.io/figma/json-schema/figma-rest-documentation-link-schema.json
📊
JSONSchema
https://artifacts.apis.io/figma/json-schema/figma-rest-frame-info-schema.json
📊
JSONSchema
https://artifacts.apis.io/figma/json-schema/figma-rest-pagination-schema.json
📊
JSONSchema
https://artifacts.apis.io/figma/json-schema/figma-rest-project-schema.json
📊
JSONSchema
https://artifacts.apis.io/figma/json-schema/figma-rest-project-file-schema.json
📊
JSONSchema
https://artifacts.apis.io/figma/json-schema/figma-rest-published-component-schema.json
📊
JSONSchema
https://artifacts.apis.io/figma/json-schema/figma-rest-published-component-set-schema.json
📊
JSONSchema
https://artifacts.apis.io/figma/json-schema/figma-rest-published-style-schema.json
📊
JSONSchema
https://artifacts.apis.io/figma/json-schema/figma-rest-reaction-schema.json
📊
JSONSchema
https://artifacts.apis.io/figma/json-schema/figma-rest-style-schema.json
📊
JSONSchema
https://artifacts.apis.io/figma/json-schema/figma-rest-success-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/figma/json-schema/figma-rest-user-schema.json
📊
JSONSchema
https://artifacts.apis.io/figma/json-schema/figma-rest-version-schema.json
📊
JSONSchema
https://artifacts.apis.io/figma/json-schema/figma-analytics-get-library-analytics-usages-response-body-schema.json
📊
JSONSchema
https://artifacts.apis.io/figma/json-schema/figma-analytics-library-analytics-usages-by-component-schema.json
📊
JSONSchema
https://artifacts.apis.io/figma/json-schema/figma-analytics-library-analytics-usages-by-file-schema.json
📊
JSONSchema
https://artifacts.apis.io/figma/json-schema/figma-analytics-library-analytics-actions-by-component-schema.json
📊
JSONSchema
https://artifacts.apis.io/figma/json-schema/figma-analytics-library-analytics-actions-by-team-schema.json
📊
JSONSchema
https://artifacts.apis.io/figma/json-schema/figma-analytics-library-analytics-style-usages-by-asset-schema.json
📊
JSONSchema
https://artifacts.apis.io/figma/json-schema/figma-analytics-library-analytics-style-usages-by-file-schema.json
📊
JSONSchema
https://artifacts.apis.io/figma/json-schema/figma-analytics-library-analytics-variable-usages-by-asset-schema.json
📊
JSONSchema
https://artifacts.apis.io/figma/json-schema/figma-analytics-library-analytics-variable-usages-by-file-schema.json
📊
JSONSchema
https://artifacts.apis.io/figma/json-schema/figma-analytics-error-response-payload-schema.json

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/figma:figma-comment-reactions-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

figma-comment-reactions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Figma Comment Reactions API
  version: 0.45.0
  description: 'This is the OpenAPI specification for the Figma REST API.


    Note: we are releasing the OpenAPI specification as a beta given the large surface area and complexity of the REST API. If you notice any inaccuracies with the specification, please file an issue.'
  termsOfService: https://www.figma.com/developer-terms/
  contact:
    email: support@figma.com
servers:
- url: https://api.figma.com
tags:
- name: Comment Reactions
  description: Interact with reactions to file comments.
  externalDocs:
    description: Comment endpoints documentation
    url: https://developers.figma.com/docs/rest-api/comments-endpoints/
paths:
  /v1/files/{file_key}/comments/{comment_id}/reactions:
    get:
      tags:
      - Comment Reactions
      summary: Get reactions for a comment
      security:
      - PersonalAccessToken: []
      - PlanAccessToken: []
      - OAuth2:
        - file_comments:read
        - files:read
      description: Gets a paginated list of reactions left on the comment.
      operationId: getCommentReactions
      parameters:
      - name: file_key
        in: path
        description: File to get comment containing reactions from. This can be a file key or branch key. Use `GET /v1/files/:key` with the `branch_data` query param to get the branch key.
        required: true
        schema:
          type: string
      - name: comment_id
        in: path
        description: ID of comment to get reactions from.
        required: true
        schema:
          type: string
      - name: cursor
        in: query
        description: Cursor for pagination, retrieved from the response of the previous call.
        schema:
          type: string
      responses:
        '200':
          $ref: '#/components/responses/GetCommentReactionsResponse'
        '403':
          $ref: '#/components/responses/ForbiddenErrorResponseWithErrMessage'
        '404':
          $ref: '#/components/responses/NotFoundErrorResponseWithErrMessage'
        '429':
          $ref: '#/components/responses/TooManyRequestsErrorResponseWithErrMessage'
        '500':
          $ref: '#/components/responses/InternalServerErrorResponseWithErrMessage'
    post:
      tags:
      - Comment Reactions
      summary: Add a reaction to a comment
      security:
      - PersonalAccessToken: []
      - OAuth2:
        - file_comments:write
      description: Posts a new comment reaction on a file comment.
      operationId: postCommentReaction
      parameters:
      - name: file_key
        in: path
        description: File to post comment reactions to. This can be a file key or branch key. Use `GET /v1/files/:key` with the `branch_data` query param to get the branch key.
        required: true
        schema:
          type: string
      - name: comment_id
        in: path
        description: ID of comment to react to.
        required: true
        schema:
          type: string
      requestBody:
        description: Reaction to post.
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                emoji:
                  $ref: '#/components/schemas/Emoji'
              required:
              - emoji
      responses:
        '200':
          $ref: '#/components/responses/PostCommentReactionResponse'
        '400':
          $ref: '#/components/responses/BadRequestErrorResponseWithErrorBoolean'
        '403':
          $ref: '#/components/responses/ForbiddenErrorResponseWithErrMessage'
        '404':
          $ref: '#/components/responses/NotFoundErrorResponseWithErrMessage'
        '429':
          $ref: '#/components/responses/TooManyRequestsErrorResponseWithErrMessage'
        '500':
          $ref: '#/components/responses/InternalServerErrorResponseWithErrMessage'
    delete:
      tags:
      - Comment Reactions
      summary: Delete a reaction
      security:
      - PersonalAccessToken: []
      - OAuth2:
        - file_comments:write
      description: Deletes a specific comment reaction. Only the person who made the reaction is allowed to delete it.
      operationId: deleteCommentReaction
      parameters:
      - name: file_key
        in: path
        description: File to delete comment reaction from. This can be a file key or branch key. Use `GET /v1/files/:key` with the `branch_data` query param to get the branch key.
        required: true
        schema:
          type: string
      - name: comment_id
        in: path
        description: ID of comment to delete reaction from.
        required: true
        schema:
          type: string
      - name: emoji
        in: query
        required: true
        schema:
          $ref: '#/components/schemas/Emoji'
      responses:
        '200':
          $ref: '#/components/responses/DeleteCommentReactionResponse'
        '403':
          $ref: '#/components/responses/ForbiddenErrorResponseWithErrMessage'
        '404':
          $ref: '#/components/responses/NotFoundErrorResponseWithErrMessage'
        '429':
          $ref: '#/components/responses/TooManyRequestsErrorResponseWithErrMessage'
        '500':
          $ref: '#/components/responses/InternalServerErrorResponseWithErrMessage'
components:
  schemas:
    User:
      type: object
      description: A description of a user.
      properties:
        id:
          type: string
          description: Unique stable id of the user.
        handle:
          type: string
          description: Name of the user.
        img_url:
          type: string
          description: URL link to the user's profile image.
      required:
      - id
      - handle
      - img_url
    ResponsePagination:
      type: object
      description: If pagination is needed due to the length of the response, identifies the next and previous pages.
      properties:
        prev_page:
          type: string
          description: A URL that calls the previous page of the response.
        next_page:
          type: string
          description: A URL that calls the next page of the response.
    ErrorResponsePayloadWithErrMessage:
      type: object
      description: A response indicating an error occurred.
      properties:
        status:
          type: number
          description: Status code
        err:
          type: string
          description: A string describing the error
      required:
      - status
      - err
    Reaction:
      type: object
      description: A reaction left by a user.
      properties:
        user:
          $ref: '#/components/schemas/User'
          description: The user who left the reaction.
        emoji:
          $ref: '#/components/schemas/Emoji'
        created_at:
          type: string
          format: date-time
          description: The UTC ISO 8601 time at which the reaction was left.
      required:
      - user
      - emoji
      - created_at
    ErrorResponsePayloadWithErrorBoolean:
      type: object
      description: A response indicating an error occurred.
      properties:
        error:
          type: boolean
          description: For erroneous requests, this value is always `true`.
          enum:
          - true
        status:
          type: number
          description: Status code
        message:
          type: string
          description: A string describing the error
      required:
      - error
      - status
      - message
    Emoji:
      type: string
      description: The emoji type of reaction as shortcode (e.g. `:heart:`, `:+1::skin-tone-2:`). The list of accepted emoji shortcodes can be found in [this file](https://raw.githubusercontent.com/missive/emoji-mart/main/packages/emoji-mart-data/sets/14/native.json) under the top-level emojis and aliases fields, with optional skin tone modifiers when applicable.
  responses:
    InternalServerErrorResponseWithErrMessage:
      description: An internal server error occurred.
      content:
        application/json:
          schema:
            allOf:
            - $ref: '#/components/schemas/ErrorResponsePayloadWithErrMessage'
            - type: object
              properties:
                status:
                  type: number
                  description: Status code
                  enum:
                  - 500
              required:
              - status
    BadRequestErrorResponseWithErrorBoolean:
      description: Bad request. Parameters are invalid or malformed. Please check the input formats. This error can also happen if the requested resources are too large to complete the request, which results in a timeout. Please reduce the number and size of objects requested.
      content:
        application/json:
          schema:
            allOf:
            - $ref: '#/components/schemas/ErrorResponsePayloadWithErrorBoolean'
            - type: object
              properties:
                status:
                  type: number
                  description: Status code
                  enum:
                  - 400
              required:
              - status
    GetCommentReactionsResponse:
      description: Response from the GET /v1/files/{file_key}/comments/{comment_id}/reactions endpoint.
      content:
        application/json:
          schema:
            type: object
            properties:
              reactions:
                type: array
                description: An array of reactions.
                items:
                  $ref: '#/components/schemas/Reaction'
              pagination:
                $ref: '#/components/schemas/ResponsePagination'
            required:
            - reactions
            - pagination
    ForbiddenErrorResponseWithErrMessage:
      description: The request was valid, but the server is refusing action. The user might not have the necessary permissions for a resource, or may need an account of some sort.
      content:
        application/json:
          schema:
            allOf:
            - $ref: '#/components/schemas/ErrorResponsePayloadWithErrMessage'
            - type: object
              properties:
                status:
                  type: number
                  description: Status code
                  enum:
                  - 403
              required:
              - status
    TooManyRequestsErrorResponseWithErrMessage:
      description: In some cases API requests may be throttled or rate limited. Please wait a while before attempting the request again (typically a minute).
      content:
        application/json:
          schema:
            allOf:
            - $ref: '#/components/schemas/ErrorResponsePayloadWithErrMessage'
            - type: object
              properties:
                status:
                  type: number
                  description: Status code
                  enum:
                  - 429
              required:
              - status
    PostCommentReactionResponse:
      description: Response from the POST /v1/files/{file_key}/comments/{comment_id}/reactions endpoint.
      content:
        application/json:
          schema:
            type: object
            properties:
              status:
                type: number
                description: The status of the request.
                enum:
                - 200
              error:
                type: boolean
                description: For successful requests, this value is always `false`.
                enum:
                - false
            required:
            - status
            - error
    DeleteCommentReactionResponse:
      description: Response from the DELETE /v1/files/{file_key}/comments/{comment_id}/reactions endpoint.
      content:
        application/json:
          schema:
            type: object
            properties:
              status:
                type: number
                description: The status of the request.
                enum:
                - 200
              error:
                type: boolean
                description: For successful requests, this value is always `false`.
                enum:
                - false
            required:
            - status
            - error
    NotFoundErrorResponseWithErrMessage:
      description: The requested file or resource was not found.
      content:
        application/json:
          schema:
            allOf:
            - $ref: '#/components/schemas/ErrorResponsePayloadWithErrMessage'
            - type: object
              properties:
                status:
                  type: number
                  description: Status code
                  enum:
                  - 404
              required:
              - status
  securitySchemes:
    PersonalAccessToken:
      type: apiKey
      name: X-Figma-Token
      in: header
    PlanAccessToken:
      type: apiKey
      name: X-Figma-Token
      in: header
    OAuth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://www.figma.com/oauth
          tokenUrl: https://api.figma.com/v1/oauth/token
          refreshUrl: https://api.figma.com/v1/oauth/refresh
          scopes:
            current_user:read: Read your name, email, and profile image.
            file_comments:read: Read the comments for files.
            file_comments:write: Post and delete comments and comment reactions in files.
            file_content:read: Read the contents of files, such as nodes and the editor type.
            file_dev_resources:read: Read dev resources in files.
            file_dev_resources:write: Write to dev resources in files.
            file_metadata:read: Read metadata of files.
            file_variables:read: 'Read variables in Figma file. Note: this is only available to members in Enterprise organizations.'
            file_variables:write: 'Write to variables in Figma file. Note: this is only available to members in Enterprise organizations.'
            file_versions:read: Read the version history for files you can access.
            files:read: Deprecated. Read files, projects, users, versions, comments, components & styles, and webhooks.
            library_analytics:read: Read library analytics data.
            library_assets:read: Read data of individual published components and styles.
            library_content:read: Read published components and styles of files.
            project_metadata:read: Read metadata of projects.
            projects:read: List projects and files in projects.
            folders:read: List folders and files in folders.
            folder_metadata:read: Read metadata of folders.
            team_library_content:read: Read published components and styles of teams.
            webhooks:read: Read metadata of webhooks.
            webhooks:write: Create and manage webhooks.
    OrgOAuth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://www.figma.com/oauth
          tokenUrl: https://api.figma.com/v1/oauth/token
          refreshUrl: https://api.figma.com/v1/oauth/refresh
          scopes:
            org:activity_log_read: Read activity logs in the organization.
externalDocs:
  description: Figma REST API Documentation
  url: https://developers.figma.com/docs/rest-api/