Figma
Figma REST API: read files, nodes, versions, folders, library components and styles, variables and webhooks; post comments and reactions; manage Dev Mode resources; write variables (Enterprise).
Connect design work to delivery: sync design files and versions into project tools, route comments to the team, and link Dev Mode resources to tickets.
Source actions
27
Destination actions
5
Data types
27
Validation status
Implemented · fixture tested.
Implementation is checked against provider-shaped fixtures for every action, authentication failures, rate limits, pagination and duplicate safety. Provider sandbox and authorised account validation are recorded separately when credential-backed runs are completed.
What you can map
comment reactions
- React to commentDestinationProvider duplicate protectionApproval before production
Add an emoji reaction to a comment.
comment_reactions.create - List comment reactionsSource
Emoji reactions on a comment.
comment_reactions.list
comments
- Post commentDestinationNot retried automaticallyApproval before production
Post a comment on a file, optionally pinned to a node or as a reply.
comments.create - List commentsSource
Comments and replies on a file.
comments.list
component sets
- Get component setSource
Metadata for one published component set by key.
component_sets.get
components
- Get componentSource
Metadata for one published component by key.
components.get
dev resources
- Create dev resourceDestinationNot retried automaticallyApproval before production
Attach a Dev Mode link (for example a ticket or Storybook URL) to a node.
dev_resources.create - List dev resourcesSource
Dev Mode links attached to nodes in a file.
dev_resources.list - Update dev resourceDestinationProvider duplicate protectionApproval before production
Rename a dev resource or change its URL.
dev_resources.update
file component sets
- List file component setsSource
Published component sets in a file library.
file_component_sets.list
file components
- List file componentsSource
Published components in a file library.
file_components.list
file metadata
- Get file metadataSource
Lightweight file metadata: name, folder, last touched, creator, role and link access.
file_metadata.get
file nodes
- List file nodesSource
Specific nodes from a file with their type, name and direct children.
file_nodes.list
file styles
- List file stylesSource
Published styles in a file library.
file_styles.list
file versions
- List file versionsSource
Version history of a file, newest first, with labels and authors.
file_versions.list
files
- Get fileSource
File name, role, editor type, version, thumbnail and pages.
files.get
folder files
- List folder filesSource
Files directly in a folder (formerly project files), optionally with branches.
folder_files.list
image renders
- Render node imagesSource
Render nodes to PNG, JPG, SVG or PDF and return Figma-hosted image URLs.
image_renders.list
local variables
- List local variablesSource
Variables created in a file (and remote variables it uses), with values per mode.
local_variables.list
published variables
- List published variablesSource
Variables published from a library file (no mode values).
published_variables.list
styles
- Get styleSource
Metadata for one published style by key.
styles.get
subfolders
- List subfoldersSource
Direct subfolders of a folder.
subfolders.list
team component sets
- List team component setsSource
Published component sets in a team library.
team_component_sets.list
team components
- List team componentsSource
Published components in a team library.
team_components.list
team folders
- List team foldersSource
Top-level folders (formerly projects) in a team that the token can see.
team_folders.list
team styles
- List team stylesSource
Published styles in a team library.
team_styles.list
users
- Get token ownerSource
The authenticated user's ID, handle, avatar and email.
users.get
variable collections
- List variable collectionsSource
Local variable collections in a file with their modes.
variable_collections.list
variables
- Create or update variablesDestinationNot retried automaticallyApproval before production
Create or update variable collections, modes and variables, and set mode values, in one request (Enterprise).
variables.upsert
webhook requests
- List webhook deliveriesSource
Deliveries sent by a webhook in the last week, with response status and errors.
webhook_requests.list
webhooks
- Get webhookSource
One webhook's event type, context, status and endpoint.
webhooks.get - List webhooksSource
Webhooks on a team, project or file, or every webhook on a plan.
webhooks.list
Authentication
Figma personal access token
Plans and access
Any Figma account can create a personal access token. Variables require Enterprise (writes need an Editor seat); limits depend on plan and seat type. The token sees what its user can see. Team IDs cannot be discovered through the API; copy them from the team URL.
Test environment
Figma has no sandbox. Use a token from a test account or a dedicated team with sample files.
Rate limits
Leaky-bucket limits per user and plan in three tiers: tier 1 (files, nodes, image renders) 10-20 per minute for Dev and Full seats; tier 2 (comments, dev resources, versions, folders, webhooks, variables reads) 25-100 per minute; tier 3 (library, users, metadata, variable writes) 50-150 per minute. View and Collab seats are much lower. HTTP 429 carries Retry-After in seconds; Nexra waits only for short delays.
Pagination
Versions and comment reactions follow pagination.next_page; team components, component sets and styles use page_size and a numeric after cursor; other lists return one page.
Provider events
Figma Webhooks V2 (FILE_UPDATE, FILE_VERSION_UPDATE, FILE_DELETE, LIBRARY_PUBLISH, FILE_COMMENT, DEV_MODE_STATUS_UPDATE) on a team, project or file. Nexra reads existing webhooks and their recent deliveries. Nexra event triggers are not yet available; flows run on demand or on a schedule.
Before you build a flow
- No deletes: comments, reactions, dev resources, webhooks, variables, modes and collections are never deleted. Variable writes refuse DELETE actions.
- Webhooks are read only; Nexra does not create, update or pause them. Webhook passcodes are never returned.
- Figma's file JSON can be very large. files.get returns file metadata with its pages (depth 1 by default, at most 4); use file_nodes.list for specific nodes.
- Image renders return Figma-hosted URLs that expire after 30 days; downloading the image is an engine gap.
- Projects are now folders: the v1 team projects and project files endpoints are deprecated, so Nexra uses the v2 folder endpoints. Folder metadata (GET /v2/folders/{id}/meta) needs a plan access token or OAuth and is not offered with a personal access token.
- Variables endpoints are available only to full members of Enterprise organisations; variable writes also need an Editor seat.
- OAuth apps, plan access tokens, activity logs, developer logs, payments, AI usage, library analytics and image fills are not implemented.
- Figma has no updatedSince filter. Use lastModified from file metadata or file versions to detect changes.
- Comment replies cannot be nested: a reply's commentId must be a top-level comment.
Developer reference
- Create the Figma, Inc. credentials described above with the narrowest permissions your flows need.
- In Nexra, open Connect, then Connections, then New connection, choose Figma, enter its settings and credentials, and tick only the write actions you need. Connection guide
- Test the connection, then use its actions as flow sources and destinations. Flow guide
Machine-readable detail: GET /api/public/connect/connectors/figma and the Connections API.