VX Agents

API directory · Productivity & Project Management

Figma Files & Comments

v1.0.0 · 14 endpoints · 0 connections · shared by vx.ai

When a design is ready for review, read the Figma file or just the frames that matter, render them as PNG or SVG, check what changed between versions, and reply in the file's comment threads. Also browses team folders, components, styles and Dev Mode links.

Connect this API to an AI agent Browse all specs

What you can do with Figma Files & Comments via MCP

Every endpoint below becomes a governed tool your AI agent (Claude, ChatGPT, or a customer-facing VX agent) can call — with scoped permissions, sandbox testing, and audit logs.

MethodPathOperationDescription
GET /v1/me getMe Get the Figma user the token belongs to
GET /v1/files/{file_key}/meta getFileMeta Get a file's name, owner, last edit time and thumbnail
GET /v1/files/{file_key} getFile Read a file's pages and layers (limit with depth)
GET /v1/files/{file_key}/nodes getFileNodes Read only the frames or layers with the given ids
GET /v1/images/{file_key} renderImages Render frames or layers as PNG, JPG, SVG or PDF links
GET /v1/files/{file_key}/versions listFileVersions List the saved version history of a file
GET /v1/files/{file_key}/comments listComments List comments and replies in a file
POST /v1/files/{file_key}/comments postComment Post a comment or reply to a comment thread
POST /v1/files/{file_key}/comments/{comment_id}/reactions addCommentReaction React to a comment with an emoji
GET /v2/teams/{team_id}/folders listTeamFolders List a team's top-level folders
GET /v2/folders/{folder_id}/files listFolderFiles List the files in a folder
GET /v1/files/{file_key}/components listFileComponents List published components in a library file
GET /v1/files/{file_key}/styles listFileStyles List published color, text and effect styles in a file
GET /v1/files/{file_key}/dev_resources listDevResources List links attached to layers in Dev Mode

Authentication

figmaToken

API key — sent as the X-Figma-Token header

How to get a credential

  1. Sign in to Figma and open Settings → Security → Personal access tokens.
  2. Click Generate new token, give it a name and an expiry.
  3. Select the scopes in the table below (read-only scopes are enough unless you want to post comments).
  4. Copy the token right away; Figma shows it only once.

Permissions used

Scope Operations
current_user:read getMe
file_metadata:read getFileMeta
file_content:read getFile, getFileNodes, renderImages
file_versions:read listFileVersions
file_comments:read listComments
file_comments:write postComment, addCommentReaction
folders:read listTeamFolders, listFolderFiles
library_content:read listFileComponents, listFileStyles
file_dev_resources:read listDevResources

Common errors

  • 403 Forbidden: the token expired, lacks a scope above, or your account cannot open that file.
  • 404 Not Found: wrong file_key (copy it from the file URL figma.com/design/<file_key>/...).
  • 400 Bad Request: ids missing or malformed on node and image calls (use 1:2,1:3).
  • 429 Too Many Requests: rate limit for your plan and seat; wait for Retry-After.

Store the token as a VX Agents API key credential; it is sent in the X-Figma-Token header.

Usage guide

Setup

  • Credential: a Figma personal access token (sent as X-Figma-Token) with the read scopes you need, plus file_comments:write to post comments.
  • Worth pinning: file_key for the file you review most (from figma.com/design/<file_key>/...) and team_id (from figma.com/files/team/<team_id>/...) for folder browsing.

Review a design

  1. getFileMeta for the file name, last editor and last modified time.
  2. getFile with depth=1 or 2 to list pages and top-level frames. Full files can be many MB, so avoid calling it without depth.
  3. getFileNodes with ids=1:2,1:3 to read only the frames being reviewed.
  4. renderImages with the same ids, format=png and scale=2 to get image links for the frames (they expire after 30 days).
  5. listFileVersions to see who saved what and when; pass a version id as version to compare old and new nodes.
  6. listComments (use as_md=true) to read open threads, then postComment with message. Add comment_id to reply in a thread, or client_meta ({"node_id": "1:2", "node_offset": {"x": 0, "y": 0}}) to pin it to a frame. addCommentReaction for a quick emoji.

Before postComment or addCommentReaction, show the text to the user and get a yes: everyone on the file sees it and gets notified.

Find files and library pieces

  • listTeamFolders → listFolderFiles to find a file's key.
  • listFileComponents and listFileStyles on a library file list published components and styles; listDevResources lists Dev Mode links (tickets, code) attached to layers.

Good to know

  • Node ids look like 1:2. In URLs they appear as node-id=1-2, so swap - for :.
  • Timestamps are ISO 8601 UTC.
  • Rate limits depend on the plan and the seat type of the token owner. On 429, wait for Retry-After.
  • A 403 on one file but not others means your account cannot open that file.

Source: Figma REST API reference (https://developers.figma.com/docs/rest-api/), checked 2026-10-19.

How to use this spec

  1. Create a free VX Agents account (sandbox tools included).
  2. Open the marketplace and connect “Figma Files & Comments” to an agent.
  3. Expose it as an MCP server for Claude/ChatGPT, or chat with it directly.

Related APIs