Read Figma files, nodes, versions, comments, images, components and supported team resources; create comments and manage permitted resources through the official REST API. Personal access tokens use the native X-Figma-Token header and retain their configured scopes and expiry. Image-export results remain URLs, with no automatic downloads. Enterprise and administrator APIs require the appropriate plan and role; file editing through the Figma plugin API is outside this REST integration.
What you can do (54)
What you can do
Available commands: 54 (39 read, 15 write). Enable only the commands your application needs.
| Command | Effect |
|---|---|
Get file JSON — figma.getfile |
Read |
Get file JSON for specific nodes — figma.getfilenodes |
Read |
Render images of file nodes — figma.getimages |
Read |
Get image fills — figma.getimagefills |
Read |
Get file metadata — figma.getfilemeta |
Read |
Duplicate a file — figma.postfileduplicate |
Write |
Create a team — figma.postteam |
Write |
Get a team — figma.getteam |
Read |
Invite users to a team — figma.postteaminvites |
Write |
Create a folder — figma.postteamfolder |
Write |
Get top-level folders in a team — figma.getteamfolders |
Read |
Get subfolders in a folder — figma.getfolderfolders |
Read |
Get files in a folder — figma.getfolderfiles |
Read |
Get folder metadata — figma.getfoldermeta |
Read |
Get versions of a file — figma.getfileversions |
Read |
Get comments in a file — figma.getcomments |
Read |
Add a comment to a file — figma.postcomment |
Write |
Delete a comment — figma.deletecomment |
Write |
Get reactions for a comment — figma.getcommentreactions |
Read |
Add a reaction to a comment — figma.postcommentreaction |
Write |
Delete a reaction — figma.deletecommentreaction |
Write |
Get current user — figma.getme |
Read |
Get team components — figma.getteamcomponents |
Read |
Get file components — figma.getfilecomponents |
Read |
Get component — figma.getcomponent |
Read |
Get team component sets — figma.getteamcomponentsets |
Read |
Get file component sets — figma.getfilecomponentsets |
Read |
Get component set — figma.getcomponentset |
Read |
Get team styles — figma.getteamstyles |
Read |
Get file styles — figma.getfilestyles |
Read |
Get style — figma.getstyle |
Read |
Get webhooks by context or plan — figma.getwebhooks |
Read |
Create a webhook — figma.postwebhook |
Write |
Get a webhook — figma.getwebhook |
Read |
Update a webhook — figma.putwebhook |
Write |
Delete a webhook — figma.deletewebhook |
Write |
Get webhook requests — figma.getwebhookrequests |
Read |
Get activity logs — figma.getactivitylogs |
Read |
Get developer logs — figma.getdeveloperlogs |
Write |
Get daily AI credit usage — figma.getaiusagedaily |
Read |
Get payments — figma.getpayments |
Read |
Get local variables — figma.getlocalvariables |
Read |
Get published variables — figma.getpublishedvariables |
Read |
Get dev resources — figma.getdevresources |
Read |
Create dev resources — figma.postdevresources |
Write |
Update dev resources — figma.putdevresources |
Write |
Delete dev resource — figma.deletedevresource |
Write |
Get library analytics component action data. — figma.getlibraryanalyticscomponentactions |
Read |
Get library analytics component usage data. — figma.getlibraryanalyticscomponentusages |
Read |
Get library analytics style action data. — figma.getlibraryanalyticsstyleactions |
Read |
Get library analytics style usage data. — figma.getlibraryanalyticsstyleusages |
Read |
Get library analytics variable action data. — figma.getlibraryanalyticsvariableactions |
Read |
Get library analytics variable usage data. — figma.getlibraryanalyticsvariableusages |
Read |
Get oEmbed data — figma.getoembed |
Read |
Connect and use
Open the integration's connection form to check the available credential source. The source has not been resolved for this documentation export. The instructions below apply when using your own provider account.
Get your provider credentials
Follow these steps for Figma, then enter the issued values in the connection form below.
- In Figma account settings, create a personal access token, choose the necessary scopes and expiry, and copy it once. Paste it into this connection’s Figma personal access token field. Start with getme and grant only needed file, comment or team commands. Use native file keys and node IDs; image export returns URLs without downloading them. Enterprise and administration commands require the appropriate plan and role. This REST connection does not edit files through the plugin API. Save selected commands, then create a separate scoped Tooluse.net API key for your AI client; keep the Figma token out of the MCP URL.
Where to enter credentials
In the integration page, sign in, choose your workspace and open Connect. If a Credentials choice is shown, select Use my credentials. Fill the following connection fields and save. Provider credentials belong in this form, never in an MCP configuration or tool input.
| Connection field | Requirement |
|---|---|
| Figma personal access token | Required |
Open API keys and create a Tooluse.net key for the enabled commands.
Set TOOLUSE_API_KEY in your client and use the shared MCP configuration.
Configure Claude Code, Codex or Cursor once
Permissions and results
If you have more than one workspace, check the selected workspace in the connection or API-key dialog before saving. Roles, enabled commands, expiry and revocation use Tooluse.net's existing permissions. Disabling a connection or revoking a key immediately prevents new calls.
Send one Claude tool_use block per request. Keep the same Idempotency-Key when retrying the same request; use a new key for a new call. The response includes the shared Tooluse.net receipt and Claude tool_result. Check both HTTP status and the returned tool result before treating a call as successful.
Your connection's daily allowance and key permissions also apply. Adding a connection does not make a provider request.
Calls return the shared execution receipt and a Claude tool_result. Provider output varies by operation; consult the provider documentation for its response fields. Unconfirmed calls should be checked before retrying.
Call from your client
Use the shared MCP configuration. Refresh your client's tool list after saving the connection or changing key permissions, then call the returned tool name with the example input below.
Configure Claude Code, Codex or Cursor once
Discover your enabled tools
List permitted tools in Claude format. Read every page using page and size (maximum 100) until all results have been received. Use the returned name, not a catalog capability identifier, in the tool_use block.
curl 'https://api.tooluse.net/v1/tools' \
-H "Authorization: Bearer $TOOLUSE_API_KEY"
Find this command in the tool list permitted by your key. Replace svc_FROM_YOUR_TOOL_LIST with its returned name. Use a new Idempotency-Key for each new call and retain it when retrying that same call.
HTTP call
curl 'https://api.tooluse.net/v1/tool-calls' \
-H "Authorization: Bearer $TOOLUSE_API_KEY" \
-H 'Content-Type: application/json' \
-H 'Idempotency-Key: replace-with-a-new-call-id' \
--data '{
"type": "tool_use",
"id": "toolu_example",
"name": "svc_FROM_YOUR_TOOL_LIST",
"input": {
"path": {
"file_key": "example"
}
}
}'
Send one Claude tool_use block per request. Keep the same Idempotency-Key when retrying the same request; use a new key for a new call. The response includes the shared Tooluse.net receipt and Claude tool_result. Check both HTTP status and the returned tool result before treating a call as successful.
Commands
Get file JSON — figma.getfile
Run Get file JSON with Figma. This is a read command; it does not grant access beyond the connected account's permissions.
This is a read operation. Provider rate limits and data access rules still apply.
Parameters
Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.
| Parameter | Type | Required in parent | Description | Constraints |
|---|---|---|---|---|
path |
object | Required | additionalProperties: false |
|
path.file_key |
string | Required | File to export JSON 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. |
|
query |
object | Optional | additionalProperties: false |
|
query.version |
string | Optional | A specific version ID to get. Omitting this will get the current version of the file. | |
query.ids |
string | Optional | Comma separated list of nodes that you care about in the document. If specified, only a subset of the document will be returned corresponding to the nodes listed, their children, and everything between the root node and the listed nodes. Note: There may be other nodes included in the returned JSON that are outside the ancestor chains of the desired nodes. The response may also include dependencies of anything in the nodes' subtrees. For example, if a node subtree contains an instance of a local component that lives elsewhere in that file, that component and its ancestor chain will also be included. For historical reasons, top-level canvas nodes are always returned, regardless of whether they are listed in the ids parameter. This quirk may be removed in a future version of the API. |
|
query.depth |
number | Optional | Positive integer representing how deep into the document tree to traverse. For example, setting this to 1 returns only Pages, setting it to 2 returns Pages and all top level objects on each page. Not setting this parameter returns all nodes. | |
query.geometry |
string | Optional | Set to "paths" to export vector data. | |
query.plugin_data |
string | Optional | A comma separated list of plugin IDs and/or the string "shared". Any data present in the document written by those plugins will be included in the result in the pluginData and sharedPluginData properties. |
|
query.branch_data |
boolean | Optional | Returns branch metadata for the requested file. If the file is a branch, the main file's key will be included in the returned response. If the file has branches, their metadata will be included in the returned response. Default: false. | default: false |
Full JSON Schema
Example input
{
"path": {
"file_key": "example"
}
}
At most 1 provider requests per invocation; timeout: 30 seconds.
Get file JSON for specific nodes — figma.getfilenodes
Run Get file JSON for specific nodes with Figma. This is a read command; it does not grant access beyond the connected account's permissions.
This is a read operation. Provider rate limits and data access rules still apply.
Parameters
Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.
| Parameter | Type | Required in parent | Description | Constraints |
|---|---|---|---|---|
path |
object | Required | additionalProperties: false |
|
path.file_key |
string | Required | File to export JSON 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. |
|
query |
object | Required | additionalProperties: false |
|
query.ids |
string | Required | A comma separated list of node IDs to retrieve and convert. | |
query.version |
string | Optional | A specific version ID to get. Omitting this will get the current version of the file. | |
query.depth |
number | Optional | Positive integer representing how deep into the node tree to traverse. For example, setting this to 1 will return only the children directly underneath the desired nodes. Not setting this parameter returns all nodes. Note: this parameter behaves differently from the same parameter in the GET /v1/files/:key endpoint. In this endpoint, the depth will be counted starting from the desired node rather than the document root node. |
|
query.geometry |
string | Optional | Set to "paths" to export vector data. | |
query.plugin_data |
string | Optional | A comma separated list of plugin IDs and/or the string "shared". Any data present in the document written by those plugins will be included in the result in the pluginData and sharedPluginData properties. |
Full JSON Schema
Example input
{
"path": {
"file_key": "example"
},
"query": {
"ids": "example"
}
}
At most 1 provider requests per invocation; timeout: 30 seconds.
Render images of file nodes — figma.getimages
Run Render images of file nodes with Figma. This is a read command; it does not grant access beyond the connected account's permissions.
This is a read operation. Provider rate limits and data access rules still apply.
Parameters
Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.
| Parameter | Type | Required in parent | Description | Constraints |
|---|---|---|---|---|
path |
object | Required | additionalProperties: false |
|
path.file_key |
string | Required | File to export images 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. |
|
query |
object | Required | additionalProperties: false |
|
query.ids |
string | Required | A comma separated list of node IDs to render. | |
query.version |
string | Optional | A specific version ID to get. Omitting this will get the current version of the file. | |
query.scale |
number | Optional | A number between 0.01 and 4, the image scaling factor. | minimum: 0.01; maximum: 4 |
query.format |
string | Optional | A string enum for the image output format. | enum: ["jpg","png","svg","pdf"]; default: "png" |
query.svg_outline_text |
boolean | Optional | Whether text elements are rendered as outlines (vector paths) or as <text> elements in SVGs. Rendering text elements as outlines guarantees that the text looks exactly the same in the SVG as it does in the browser/inside Figma. Exporting as <text> allows text to be selectable inside SVGs and generally makes the SVG easier to read. However, this relies on the browser's rendering engine which can vary between browsers and/or operating systems. As such, visual accuracy is not guaranteed as the result could look different than in Figma. |
default: true |
query.svg_include_id |
boolean | Optional | Whether to include id attributes for all SVG elements. Adds the layer name to the id attribute of an svg element. |
default: false |
query.svg_include_node_id |
boolean | Optional | Whether to include node id attributes for all SVG elements. Adds the node id to a data-node-id attribute of an svg element. |
default: false |
query.svg_simplify_stroke |
boolean | Optional | Whether to simplify inside/outside strokes and use stroke attribute if possible instead of <mask>. |
default: true |
query.contents_only |
boolean | Optional | Whether content that overlaps the node should be excluded from rendering. Passing false (i.e., rendering overlaps) may increase processing time, since more of the document must be included in rendering. | default: true |
query.use_absolute_bounds |
boolean | Optional | Use the full dimensions of the node regardless of whether or not it is cropped or the space around it is empty. Use this to export text nodes without cropping. | default: false |
Full JSON Schema
Example input
{
"path": {
"file_key": "example"
},
"query": {
"ids": "example"
}
}
At most 1 provider requests per invocation; timeout: 30 seconds.
Get image fills — figma.getimagefills
Run Get image fills with Figma. This is a read command; it does not grant access beyond the connected account's permissions.
This is a read operation. Provider rate limits and data access rules still apply.
Parameters
Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.
| Parameter | Type | Required in parent | Description | Constraints |
|---|---|---|---|---|
path |
object | Required | additionalProperties: false |
|
path.file_key |
string | Required | File to get image URLs 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. |
Full JSON Schema
Example input
{
"path": {
"file_key": "example"
}
}
At most 1 provider requests per invocation; timeout: 30 seconds.
Get file metadata — figma.getfilemeta
Run Get file metadata with Figma. This is a read command; it does not grant access beyond the connected account's permissions.
This is a read operation. Provider rate limits and data access rules still apply.
Parameters
Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.
| Parameter | Type | Required in parent | Description | Constraints |
|---|---|---|---|---|
path |
object | Required | additionalProperties: false |
|
path.file_key |
string | Required | File to get metadata for. 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. |
Full JSON Schema
Example input
{
"path": {
"file_key": "example"
}
}
At most 1 provider requests per invocation; timeout: 30 seconds.
Duplicate a file — figma.postfileduplicate
Run Duplicate a file with Figma. This command can change provider data. Review the target and input before invoking it.
This operation can change provider data. Review the input before allowing an agent to call it.
Parameters
Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.
| Parameter | Type | Required in parent | Description | Constraints |
|---|---|---|---|---|
path |
object | Required | additionalProperties: false |
|
path.file_key |
string | Required | The key of the main file or branch to duplicate. | |
body |
object | Required | ||
body.folder_id |
string | Required | The ID of the folder to create the duplicated file in. |
Full JSON Schema
Example input
{
"path": {
"file_key": "example"
},
"body": {
"folder_id": "example"
}
}
At most 1 provider requests per invocation; timeout: 30 seconds.
Create a team — figma.postteam
Run Create a team with Figma. This command can change provider data. Review the target and input before invoking it.
This operation can change provider data. Review the input before allowing an agent to call it.
Parameters
Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.
| Parameter | Type | Required in parent | Description | Constraints |
|---|---|---|---|---|
body |
— | Required | $ref: "#/definitions/CreateTeamRequest" |
Full JSON Schema
Example input
{
"body": {
"name": "example",
"sharing_audience_control": "org_view"
}
}
At most 1 provider requests per invocation; timeout: 30 seconds.
Get a team — figma.getteam
Run Get a team with Figma. This is a read command; it does not grant access beyond the connected account's permissions.
This is a read operation. Provider rate limits and data access rules still apply.
Parameters
Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.
| Parameter | Type | Required in parent | Description | Constraints |
|---|---|---|---|---|
path |
object | Required | additionalProperties: false |
|
path.team_id |
string | Required | The ID of the team. |
Full JSON Schema
Example input
{
"path": {
"team_id": "example"
}
}
At most 1 provider requests per invocation; timeout: 30 seconds.
Invite users to a team — figma.postteaminvites
Run Invite users to a team with Figma. This command can change provider data. Review the target and input before invoking it.
This operation can change provider data. Review the input before allowing an agent to call it.
Parameters
Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.
| Parameter | Type | Required in parent | Description | Constraints |
|---|---|---|---|---|
path |
object | Required | additionalProperties: false |
|
path.team_id |
string | Required | The ID of the team to invite users to. | |
body |
— | Required | $ref: "#/definitions/InviteTeamMembersRequest" |
Full JSON Schema
Example input
{
"path": {
"team_id": "example"
},
"body": {
"emails": [
"[email protected]"
],
"role": "viewer"
}
}
At most 1 provider requests per invocation; timeout: 30 seconds.
Create a folder — figma.postteamfolder
Run Create a folder with Figma. This command can change provider data. Review the target and input before invoking it.
This operation can change provider data. Review the input before allowing an agent to call it.
Parameters
Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.
| Parameter | Type | Required in parent | Description | Constraints |
|---|---|---|---|---|
path |
object | Required | additionalProperties: false |
|
path.team_id |
string | Required | The ID of the team in which to create the folder. | |
body |
— | Required | $ref: "#/definitions/CreateFolderRequest" |
Full JSON Schema
Example input
{
"path": {
"team_id": "example"
},
"body": {
"name": "example",
"sharing_audience_control": "plan_view"
}
}
At most 1 provider requests per invocation; timeout: 30 seconds.
Get top-level folders in a team — figma.getteamfolders
Run Get top-level folders in a team with Figma. This is a read command; it does not grant access beyond the connected account's permissions.
This is a read operation. Provider rate limits and data access rules still apply.
Parameters
Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.
| Parameter | Type | Required in parent | Description | Constraints |
|---|---|---|---|---|
path |
object | Required | additionalProperties: false |
|
path.team_id |
string | Required | ID of the team to list folders from |
Full JSON Schema
Example input
{
"path": {
"team_id": "example"
}
}
At most 1 provider requests per invocation; timeout: 30 seconds.
Get subfolders in a folder — figma.getfolderfolders
Run Get subfolders in a folder with Figma. This is a read command; it does not grant access beyond the connected account's permissions.
This is a read operation. Provider rate limits and data access rules still apply.
Parameters
Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.
| Parameter | Type | Required in parent | Description | Constraints |
|---|---|---|---|---|
path |
object | Required | additionalProperties: false |
|
path.folder_id |
string | Required | ID of the parent folder to list subfolders from |
Full JSON Schema
Example input
{
"path": {
"folder_id": "example"
}
}
At most 1 provider requests per invocation; timeout: 30 seconds.
Get files in a folder — figma.getfolderfiles
Run Get files in a folder with Figma. This is a read command; it does not grant access beyond the connected account's permissions.
This is a read operation. Provider rate limits and data access rules still apply.
Parameters
Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.
| Parameter | Type | Required in parent | Description | Constraints |
|---|---|---|---|---|
path |
object | Required | additionalProperties: false |
|
path.folder_id |
string | Required | ID of the folder to list files from | |
query |
object | Optional | additionalProperties: false |
|
query.branch_data |
boolean | Optional | Returns branch metadata in the response for each main file with a branch inside the folder. | default: false |
Full JSON Schema
Example input
{
"path": {
"folder_id": "example"
}
}
At most 1 provider requests per invocation; timeout: 30 seconds.
Get folder metadata — figma.getfoldermeta
Run Get folder metadata with Figma. This is a read command; it does not grant access beyond the connected account's permissions.
This is a read operation. Provider rate limits and data access rules still apply.
Parameters
Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.
| Parameter | Type | Required in parent | Description | Constraints |
|---|---|---|---|---|
path |
object | Required | additionalProperties: false |
|
path.folder_id |
string | Required | ID of the folder to get metadata for |
Full JSON Schema
Example input
{
"path": {
"folder_id": "example"
}
}
At most 1 provider requests per invocation; timeout: 30 seconds.
Get versions of a file — figma.getfileversions
Run Get versions of a file with Figma. This is a read command; it does not grant access beyond the connected account's permissions.
This is a read operation. Provider rate limits and data access rules still apply.
Parameters
Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.
| Parameter | Type | Required in parent | Description | Constraints |
|---|---|---|---|---|
path |
object | Required | additionalProperties: false |
|
path.file_key |
string | Required | File to get version history 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. |
|
query |
object | Optional | additionalProperties: false |
|
query.page_size |
number | Optional | The number of items returned in a page of the response. If not included, page_size is 30. |
maximum: 50 |
query.before |
number | Optional | A version ID for one of the versions in the history. Gets versions before this ID. Used for paginating. If the response is not paginated, this link returns the same data in the current response. | |
query.after |
number | Optional | A version ID for one of the versions in the history. Gets versions after this ID. Used for paginating. If the response is not paginated, this property is not included. |
Full JSON Schema
Example input
{
"path": {
"file_key": "example"
}
}
At most 1 provider requests per invocation; timeout: 30 seconds.
Get comments in a file — figma.getcomments
Run Get comments in a file with Figma. This is a read command; it does not grant access beyond the connected account's permissions.
This is a read operation. Provider rate limits and data access rules still apply.
Parameters
Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.
| Parameter | Type | Required in parent | Description | Constraints |
|---|---|---|---|---|
path |
object | Required | additionalProperties: false |
|
path.file_key |
string | Required | File to get comments 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. |
|
query |
object | Optional | additionalProperties: false |
|
query.as_md |
boolean | Optional | If enabled, will return comments as their markdown equivalents when applicable. |
Full JSON Schema
Example input
{
"path": {
"file_key": "example"
}
}
At most 1 provider requests per invocation; timeout: 30 seconds.
Add a comment to a file — figma.postcomment
Run Add a comment to a file with Figma. This command can change provider data. Review the target and input before invoking it.
This operation can change provider data. Review the input before allowing an agent to call it.
Parameters
Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.
| Parameter | Type | Required in parent | Description | Constraints |
|---|---|---|---|---|
path |
object | Required | additionalProperties: false |
|
path.file_key |
string | Required | File to add comments in. 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. |
|
body |
object | Required | ||
body.message |
string | Required | The text contents of the comment to post. | |
body.comment_id |
string | Optional | The ID of the comment to reply to, if any. This must be a root comment. You cannot reply to other replies (a comment that has a parent_id). | |
body.client_meta |
— | Optional | The position where to place the comment. | |
body.client_meta |
— | Optional | oneOf[1]; $ref: "#/definitions/Vector" |
|
body.client_meta |
— | Optional | oneOf[2]; $ref: "#/definitions/FrameOffset" |
|
body.client_meta |
— | Optional | oneOf[3]; $ref: "#/definitions/Region" |
|
body.client_meta |
— | Optional | oneOf[4]; $ref: "#/definitions/FrameOffsetRegion" |
Full JSON Schema
Example input
{
"path": {
"file_key": "example"
},
"body": {
"message": "example"
}
}
At most 1 provider requests per invocation; timeout: 30 seconds.
Delete a comment — figma.deletecomment
Run Delete a comment with Figma. This command can change provider data. Review the target and input before invoking it.
This operation can change provider data. Review the input before allowing an agent to call it.
Parameters
Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.
| Parameter | Type | Required in parent | Description | Constraints |
|---|---|---|---|---|
path |
object | Required | additionalProperties: false |
|
path.file_key |
string | Required | File to delete comment 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. |
|
path.comment_id |
string | Required | Comment id of comment to delete |
Full JSON Schema
Example input
{
"path": {
"file_key": "example",
"comment_id": "example"
}
}
At most 1 provider requests per invocation; timeout: 30 seconds.
Get reactions for a comment — figma.getcommentreactions
Run Get reactions for a comment with Figma. This is a read command; it does not grant access beyond the connected account's permissions.
This is a read operation. Provider rate limits and data access rules still apply.
Parameters
Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.
| Parameter | Type | Required in parent | Description | Constraints |
|---|---|---|---|---|
path |
object | Required | additionalProperties: false |
|
path.file_key |
string | Required | 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. |
|
path.comment_id |
string | Required | ID of comment to get reactions from. | |
query |
object | Optional | additionalProperties: false |
|
query.cursor |
string | Optional | Cursor for pagination, retrieved from the response of the previous call. |
Full JSON Schema
Example input
{
"path": {
"file_key": "example",
"comment_id": "example"
}
}
At most 1 provider requests per invocation; timeout: 30 seconds.
Add a reaction to a comment — figma.postcommentreaction
Run Add a reaction to a comment with Figma. This command can change provider data. Review the target and input before invoking it.
This operation can change provider data. Review the input before allowing an agent to call it.
Parameters
Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.
| Parameter | Type | Required in parent | Description | Constraints |
|---|---|---|---|---|
path |
object | Required | additionalProperties: false |
|
path.file_key |
string | Required | 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. |
|
path.comment_id |
string | Required | ID of comment to react to. | |
body |
object | Required | ||
body.emoji |
— | Required | $ref: "#/definitions/Emoji" |
Full JSON Schema
Example input
{
"path": {
"file_key": "example",
"comment_id": "example"
},
"body": {
"emoji": "example"
}
}
At most 1 provider requests per invocation; timeout: 30 seconds.
Delete a reaction — figma.deletecommentreaction
Run Delete a reaction with Figma. This command can change provider data. Review the target and input before invoking it.
This operation can change provider data. Review the input before allowing an agent to call it.
Parameters
Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.
| Parameter | Type | Required in parent | Description | Constraints |
|---|---|---|---|---|
path |
object | Required | additionalProperties: false |
|
path.file_key |
string | Required | 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. |
|
path.comment_id |
string | Required | ID of comment to delete reaction from. | |
query |
object | Required | additionalProperties: false |
|
query.emoji |
— | Required | $ref: "#/definitions/Emoji" |
Full JSON Schema
Example input
{
"path": {
"file_key": "example",
"comment_id": "example"
},
"query": {
"emoji": "example"
}
}
At most 1 provider requests per invocation; timeout: 30 seconds.
Get current user — figma.getme
Run Get current user with Figma. This is a read command; it does not grant access beyond the connected account's permissions.
This is a read operation. Provider rate limits and data access rules still apply.
Parameters
Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.
This tool has no input parameters.
Full JSON Schema
Example input
{}
At most 1 provider requests per invocation; timeout: 30 seconds.
Get team components — figma.getteamcomponents
Run Get team components with Figma. This is a read command; it does not grant access beyond the connected account's permissions.
This is a read operation. Provider rate limits and data access rules still apply.
Parameters
Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.
| Parameter | Type | Required in parent | Description | Constraints |
|---|---|---|---|---|
path |
object | Required | additionalProperties: false |
|
path.team_id |
string | Required | Id of the team to list components from. | |
query |
object | Optional | additionalProperties: false |
|
query.page_size |
number | Optional | Number of items to return in a paged list of results. Defaults to 30. Maximum of 1000. | default: 30 |
query.after |
number | Optional | Cursor indicating which id after which to start retrieving components for. Exclusive with before. The cursor value is an internally tracked integer that doesn't correspond to any Ids. | |
query.before |
number | Optional | Cursor indicating which id before which to start retrieving components for. Exclusive with after. The cursor value is an internally tracked integer that doesn't correspond to any Ids. |
Full JSON Schema
Example input
{
"path": {
"team_id": "example"
}
}
At most 1 provider requests per invocation; timeout: 30 seconds.
Get file components — figma.getfilecomponents
Run Get file components with Figma. This is a read command; it does not grant access beyond the connected account's permissions.
This is a read operation. Provider rate limits and data access rules still apply.
Parameters
Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.
| Parameter | Type | Required in parent | Description | Constraints |
|---|---|---|---|---|
path |
object | Required | additionalProperties: false |
|
path.file_key |
string | Required | File to list components from. This must be a main file key, not a branch key, as it is not possible to publish from branches. |
Full JSON Schema
Example input
{
"path": {
"file_key": "example"
}
}
At most 1 provider requests per invocation; timeout: 30 seconds.
Get component — figma.getcomponent
Run Get component with Figma. This is a read command; it does not grant access beyond the connected account's permissions.
This is a read operation. Provider rate limits and data access rules still apply.
Parameters
Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.
| Parameter | Type | Required in parent | Description | Constraints |
|---|---|---|---|---|
path |
object | Required | additionalProperties: false |
|
path.key |
string | Required | The unique identifier of the component. |
Full JSON Schema
Example input
{
"path": {
"key": "example"
}
}
At most 1 provider requests per invocation; timeout: 30 seconds.
Get team component sets — figma.getteamcomponentsets
Run Get team component sets with Figma. This is a read command; it does not grant access beyond the connected account's permissions.
This is a read operation. Provider rate limits and data access rules still apply.
Parameters
Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.
| Parameter | Type | Required in parent | Description | Constraints |
|---|---|---|---|---|
path |
object | Required | additionalProperties: false |
|
path.team_id |
string | Required | Id of the team to list component sets from. | |
query |
object | Optional | additionalProperties: false |
|
query.page_size |
number | Optional | Number of items to return in a paged list of results. Defaults to 30. | default: 30 |
query.after |
number | Optional | Cursor indicating which id after which to start retrieving component sets for. Exclusive with before. The cursor value is an internally tracked integer that doesn't correspond to any Ids. | |
query.before |
number | Optional | Cursor indicating which id before which to start retrieving component sets for. Exclusive with after. The cursor value is an internally tracked integer that doesn't correspond to any Ids. |
Full JSON Schema
Example input
{
"path": {
"team_id": "example"
}
}
At most 1 provider requests per invocation; timeout: 30 seconds.
Get file component sets — figma.getfilecomponentsets
Run Get file component sets with Figma. This is a read command; it does not grant access beyond the connected account's permissions.
This is a read operation. Provider rate limits and data access rules still apply.
Parameters
Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.
| Parameter | Type | Required in parent | Description | Constraints |
|---|---|---|---|---|
path |
object | Required | additionalProperties: false |
|
path.file_key |
string | Required | File to list component sets from. This must be a main file key, not a branch key, as it is not possible to publish from branches. |
Full JSON Schema
Example input
{
"path": {
"file_key": "example"
}
}
At most 1 provider requests per invocation; timeout: 30 seconds.
Get component set — figma.getcomponentset
Run Get component set with Figma. This is a read command; it does not grant access beyond the connected account's permissions.
This is a read operation. Provider rate limits and data access rules still apply.
Parameters
Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.
| Parameter | Type | Required in parent | Description | Constraints |
|---|---|---|---|---|
path |
object | Required | additionalProperties: false |
|
path.key |
string | Required | The unique identifier of the component set. |
Full JSON Schema
Example input
{
"path": {
"key": "example"
}
}
At most 1 provider requests per invocation; timeout: 30 seconds.
Get team styles — figma.getteamstyles
Run Get team styles with Figma. This is a read command; it does not grant access beyond the connected account's permissions.
This is a read operation. Provider rate limits and data access rules still apply.
Parameters
Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.
| Parameter | Type | Required in parent | Description | Constraints |
|---|---|---|---|---|
path |
object | Required | additionalProperties: false |
|
path.team_id |
string | Required | Id of the team to list styles from. | |
query |
object | Optional | additionalProperties: false |
|
query.page_size |
number | Optional | Number of items to return in a paged list of results. Defaults to 30. | default: 30 |
query.after |
number | Optional | Cursor indicating which id after which to start retrieving styles for. Exclusive with before. The cursor value is an internally tracked integer that doesn't correspond to any Ids. | |
query.before |
number | Optional | Cursor indicating which id before which to start retrieving styles for. Exclusive with after. The cursor value is an internally tracked integer that doesn't correspond to any Ids. |
Full JSON Schema
Example input
{
"path": {
"team_id": "example"
}
}
At most 1 provider requests per invocation; timeout: 30 seconds.
Get file styles — figma.getfilestyles
Run Get file styles with Figma. This is a read command; it does not grant access beyond the connected account's permissions.
This is a read operation. Provider rate limits and data access rules still apply.
Parameters
Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.
| Parameter | Type | Required in parent | Description | Constraints |
|---|---|---|---|---|
path |
object | Required | additionalProperties: false |
|
path.file_key |
string | Required | File to list styles from. This must be a main file key, not a branch key, as it is not possible to publish from branches. |
Full JSON Schema
Example input
{
"path": {
"file_key": "example"
}
}
At most 1 provider requests per invocation; timeout: 30 seconds.
Get style — figma.getstyle
Run Get style with Figma. This is a read command; it does not grant access beyond the connected account's permissions.
This is a read operation. Provider rate limits and data access rules still apply.
Parameters
Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.
| Parameter | Type | Required in parent | Description | Constraints |
|---|---|---|---|---|
path |
object | Required | additionalProperties: false |
|
path.key |
string | Required | The unique identifier of the style. |
Full JSON Schema
Example input
{
"path": {
"key": "example"
}
}
At most 1 provider requests per invocation; timeout: 30 seconds.
Get webhooks by context or plan — figma.getwebhooks
Run Get webhooks by context or plan with Figma. This is a read command; it does not grant access beyond the connected account's permissions.
This is a read operation. Provider rate limits and data access rules still apply.
Parameters
Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.
| Parameter | Type | Required in parent | Description | Constraints |
|---|---|---|---|---|
query |
object | Optional | additionalProperties: false |
|
query.context |
string | Optional | Context to create the resource on. Should be "team", "project", or "file". | |
query.context_id |
string | Optional | The id of the context that you want to get attached webhooks for. If you're using context_id, you cannot use plan_api_id. | |
query.plan_api_id |
string | Optional | The id of your plan. Use this to get all webhooks for all contexts you have access to. If you're using plan_api_id, you cannot use context or context_id. When you use plan_api_id, the response is paginated. | |
query.cursor |
string | Optional | If you're using plan_api_id, this is the cursor to use for pagination. If you're using context or context_id, this parameter is ignored. Provide the next_page or prev_page value from the previous response to get the next or previous page of results. |
Full JSON Schema
Example input
{}
At most 1 provider requests per invocation; timeout: 30 seconds.
Create a webhook — figma.postwebhook
Run Create a webhook with Figma. This command can change provider data. Review the target and input before invoking it.
This operation can change provider data. Review the input before allowing an agent to call it.
Parameters
Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.
| Parameter | Type | Required in parent | Description | Constraints |
|---|---|---|---|---|
body |
object | Required | ||
body.event_type |
— | Required | $ref: "#/definitions/WebhookV2Event" |
|
body.team_id |
string | Optional | Team id to receive updates about. This is deprecated, use 'context' and 'context_id' instead. | |
body.context |
string | Required | Context to create the webhook for. Must be "team", "project", or "file". | |
body.context_id |
string | Required | The id of the context you want to receive updates about. | |
body.endpoint |
string | Required | The HTTP endpoint that will receive a POST request when the event triggers. Max length 2048 characters. | |
body.passcode |
string | Required | String that will be passed back to your webhook endpoint to verify that it is being called by Figma. Max length 100 characters. | |
body.status |
— | Optional | $ref: "#/definitions/WebhookV2Status" |
|
body.description |
string | Optional | User provided description or name for the webhook. Max length 150 characters. |
Full JSON Schema
Example input
{
"body": {
"event_type": "PING",
"endpoint": "example",
"passcode": "example",
"context": "example",
"context_id": "example"
}
}
At most 1 provider requests per invocation; timeout: 30 seconds.
Get a webhook — figma.getwebhook
Run Get a webhook with Figma. This is a read command; it does not grant access beyond the connected account's permissions.
This is a read operation. Provider rate limits and data access rules still apply.
Parameters
Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.
| Parameter | Type | Required in parent | Description | Constraints |
|---|---|---|---|---|
path |
object | Required | additionalProperties: false |
|
path.webhook_id |
string | Required | ID of webhook to get |
Full JSON Schema
Example input
{
"path": {
"webhook_id": "example"
}
}
At most 1 provider requests per invocation; timeout: 30 seconds.
Update a webhook — figma.putwebhook
Run Update a webhook with Figma. This command can change provider data. Review the target and input before invoking it.
This operation can change provider data. Review the input before allowing an agent to call it.
Parameters
Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.
| Parameter | Type | Required in parent | Description | Constraints |
|---|---|---|---|---|
path |
object | Required | additionalProperties: false |
|
path.webhook_id |
string | Required | ID of webhook to update | |
body |
object | Required | ||
body.event_type |
— | Required | $ref: "#/definitions/WebhookV2Event" |
|
body.endpoint |
string | Required | The HTTP endpoint that will receive a POST request when the event triggers. Max length 2048 characters. | |
body.passcode |
string | Required | String that will be passed back to your webhook endpoint to verify that it is being called by Figma. Max length 100 characters. | |
body.status |
— | Optional | $ref: "#/definitions/WebhookV2Status" |
|
body.description |
string | Optional | User provided description or name for the webhook. Max length 150 characters. |
Full JSON Schema
Example input
{
"path": {
"webhook_id": "example"
},
"body": {
"event_type": "PING",
"team_id": "example",
"endpoint": "example",
"passcode": "example"
}
}
At most 1 provider requests per invocation; timeout: 30 seconds.
Delete a webhook — figma.deletewebhook
Run Delete a webhook with Figma. This command can change provider data. Review the target and input before invoking it.
This operation can change provider data. Review the input before allowing an agent to call it.
Parameters
Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.
| Parameter | Type | Required in parent | Description | Constraints |
|---|---|---|---|---|
path |
object | Required | additionalProperties: false |
|
path.webhook_id |
string | Required | ID of webhook to delete |
Full JSON Schema
Example input
{
"path": {
"webhook_id": "example"
}
}
At most 1 provider requests per invocation; timeout: 30 seconds.
Get webhook requests — figma.getwebhookrequests
Run Get webhook requests with Figma. This is a read command; it does not grant access beyond the connected account's permissions.
This is a read operation. Provider rate limits and data access rules still apply.
Parameters
Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.
| Parameter | Type | Required in parent | Description | Constraints |
|---|---|---|---|---|
path |
object | Required | additionalProperties: false |
|
path.webhook_id |
string | Required | The id of the webhook subscription you want to see events from |
Full JSON Schema
Example input
{
"path": {
"webhook_id": "example"
}
}
At most 1 provider requests per invocation; timeout: 30 seconds.
Get activity logs — figma.getactivitylogs
Run Get activity logs with Figma. This is a read command; it does not grant access beyond the connected account's permissions.
This is a read operation. Provider rate limits and data access rules still apply.
Parameters
Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.
| Parameter | Type | Required in parent | Description | Constraints |
|---|---|---|---|---|
query |
object | Optional | additionalProperties: false |
|
query.events |
string | Optional | Event type(s) to include in the response. Can have multiple values separated by comma. All events are returned by default. | |
query.start_time |
number | Optional | Unix timestamp of the least recent event to include. This param defaults to one year ago if unspecified. | |
query.end_time |
number | Optional | Unix timestamp of the most recent event to include. This param defaults to the current timestamp if unspecified. | |
query.limit |
number | Optional | Maximum number of events to return. This param defaults to 1000 if unspecified. | |
query.order |
string | Optional | Event order by timestamp. This param can be either "asc" (default) or "desc". | enum: ["asc","desc"]; default: "asc" |
Full JSON Schema
Example input
{}
At most 1 provider requests per invocation; timeout: 30 seconds.
Get developer logs — figma.getdeveloperlogs
Run Get developer logs with Figma. This command can change provider data. Review the target and input before invoking it.
This operation can change provider data. Review the input before allowing an agent to call it.
Parameters
Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.
| Parameter | Type | Required in parent | Description | Constraints |
|---|---|---|---|---|
body |
object | Optional | ||
body.token_type |
string | Optional | Filter by the type of token used for authentication. | enum: ["plan_access_token","developer_token","oauth_token"] |
body.token |
string | Optional | Filter by token value(s). Multiple values can be separated by commas. | |
body.token_name |
string | Optional | Filter by token name prefix(es). Multiple values can be separated by commas. | |
body.user_email |
string | Optional | Filter by user email prefix(es). Multiple values can be separated by commas. | |
body.ip_address |
string | Optional | Filter by IP address prefix(es). Multiple values can be separated by commas. | |
body.event_source |
string | Optional | Filter by event source. | enum: ["rest_api","mcp_server"] |
body.date_range |
string | Optional | Filter by date range. | enum: ["last_24h","last_7d","last_30d"]; default: "last_30d" |
body.limit |
integer | Optional | Maximum number of entries to return. | default: 25; minimum: 1; maximum: 100 |
body.cursor |
string | Optional | A cursor returned from a previous request, used for pagination. |
Full JSON Schema
Example input
{}
At most 1 provider requests per invocation; timeout: 30 seconds.
Get daily AI credit usage — figma.getaiusagedaily
Run Get daily AI credit usage with Figma. This is a read command; it does not grant access beyond the connected account's permissions.
This is a read operation. Provider rate limits and data access rules still apply.
Parameters
Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.
| Parameter | Type | Required in parent | Description | Constraints |
|---|---|---|---|---|
query |
object | Required | additionalProperties: false |
|
query.start_date |
string | Required | The first day to include, inclusive, as a YYYY-MM-DD calendar date (UTC). Required. Must be on or after 2025-12-01 and no more than 366 days before the current UTC day. |
|
query.end_date |
string | Required | The last day to include, inclusive, as a YYYY-MM-DD calendar date (UTC). Required. Must be on or after start_date and the current UTC day or earlier. |
|
query.user_email |
string | Optional | Restrict the results to a single Figma user, identified by email. When omitted, rows for every user in the plan with usage in the range are returned. An email that matches no Figma user returns a 400. | |
query.limit |
integer | Optional | Maximum number of rows to return. This param defaults to 1000 if unspecified, and may not exceed 1000. | default: 1000; minimum: 1; maximum: 1000 |
query.cursor |
string | Optional | An opaque cursor returned from a previous request, used for pagination. |
Full JSON Schema
Example input
{
"query": {
"start_date": "example",
"end_date": "example"
}
}
At most 1 provider requests per invocation; timeout: 30 seconds.
Get payments — figma.getpayments
Run Get payments with Figma. This is a read command; it does not grant access beyond the connected account's permissions.
This is a read operation. Provider rate limits and data access rules still apply.
Parameters
Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.
| Parameter | Type | Required in parent | Description | Constraints |
|---|---|---|---|---|
query |
object | Optional | additionalProperties: false |
|
query.plugin_payment_token |
string | Optional | Short-lived token returned from "getPluginPaymentTokenAsync" in the plugin payments API and used to authenticate to this endpoint. Read more about generating this token through "Calling the Payments REST API from a plugin or widget" below. | |
query.user_id |
string | Optional | The ID of the user to query payment information about. You can get the user ID by having the user OAuth2 to the Figma REST API. | |
query.community_file_id |
string | Optional | The ID of the Community file to query a user's payment information on. You can get the Community file ID from the file's Community page (look for the number after "file/" in the URL). Provide exactly one of "community_file_id", "plugin_id", or "widget_id". | |
query.plugin_id |
string | Optional | The ID of the plugin to query a user's payment information on. You can get the plugin ID from the plugin's manifest, or from the plugin's Community page (look for the number after "plugin/" in the URL). Provide exactly one of "community_file_id", "plugin_id", or "widget_id". | |
query.widget_id |
string | Optional | The ID of the widget to query a user's payment information on. You can get the widget ID from the widget's manifest, or from the widget's Community page (look for the number after "widget/" in the URL). Provide exactly one of "community_file_id", "plugin_id", or "widget_id". |
Full JSON Schema
Example input
{}
At most 1 provider requests per invocation; timeout: 30 seconds.
Get local variables — figma.getlocalvariables
Run Get local variables with Figma. This is a read command; it does not grant access beyond the connected account's permissions.
This is a read operation. Provider rate limits and data access rules still apply.
Parameters
Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.
| Parameter | Type | Required in parent | Description | Constraints |
|---|---|---|---|---|
path |
object | Required | additionalProperties: false |
|
path.file_key |
string | Required | File to get variables 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. |
Full JSON Schema
Example input
{
"path": {
"file_key": "example"
}
}
At most 1 provider requests per invocation; timeout: 30 seconds.
Get published variables — figma.getpublishedvariables
Run Get published variables with Figma. This is a read command; it does not grant access beyond the connected account's permissions.
This is a read operation. Provider rate limits and data access rules still apply.
Parameters
Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.
| Parameter | Type | Required in parent | Description | Constraints |
|---|---|---|---|---|
path |
object | Required | additionalProperties: false |
|
path.file_key |
string | Required | File to get variables from. This must be a main file key, not a branch key, as it is not possible to publish from branches. |
Full JSON Schema
Example input
{
"path": {
"file_key": "example"
}
}
At most 1 provider requests per invocation; timeout: 30 seconds.
Get dev resources — figma.getdevresources
Run Get dev resources with Figma. This is a read command; it does not grant access beyond the connected account's permissions.
This is a read operation. Provider rate limits and data access rules still apply.
Parameters
Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.
| Parameter | Type | Required in parent | Description | Constraints |
|---|---|---|---|---|
path |
object | Required | additionalProperties: false |
|
path.file_key |
string | Required | The file to get the dev resources from. This must be a main file key, not a branch key. | |
query |
object | Optional | additionalProperties: false |
|
query.node_ids |
string | Optional | Comma separated list of nodes that you care about in the document. If specified, only dev resources attached to these nodes will be returned. If not specified, all dev resources in the file will be returned. |
Full JSON Schema
Example input
{
"path": {
"file_key": "example"
}
}
At most 1 provider requests per invocation; timeout: 30 seconds.
Create dev resources — figma.postdevresources
Run Create dev resources with Figma. This command can change provider data. Review the target and input before invoking it.
This operation can change provider data. Review the input before allowing an agent to call it.
Parameters
Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.
| Parameter | Type | Required in parent | Description | Constraints |
|---|---|---|---|---|
body |
object | Required | ||
body.dev_resources |
array | Required | An array of dev resources. | |
body.dev_resources[] |
object | Optional | ||
body.dev_resources[].name |
string | Required | The name of the dev resource. | |
body.dev_resources[].url |
string | Required | The URL of the dev resource. | |
body.dev_resources[].file_key |
string | Required | The file key where the dev resource belongs. | |
body.dev_resources[].node_id |
string | Required | The target node to attach the dev resource to. |
Full JSON Schema
Example input
{
"body": {
"dev_resources": []
}
}
At most 1 provider requests per invocation; timeout: 30 seconds.
Update dev resources — figma.putdevresources
Run Update dev resources with Figma. This command can change provider data. Review the target and input before invoking it.
This operation can change provider data. Review the input before allowing an agent to call it.
Parameters
Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.
| Parameter | Type | Required in parent | Description | Constraints |
|---|---|---|---|---|
body |
object | Required | ||
body.dev_resources |
array | Required | An array of dev resources. | |
body.dev_resources[] |
object | Optional | ||
body.dev_resources[].id |
string | Required | Unique identifier of the dev resource | |
body.dev_resources[].name |
string | Optional | The name of the dev resource. | |
body.dev_resources[].url |
string | Optional | The URL of the dev resource. |
Full JSON Schema
Example input
{
"body": {
"dev_resources": []
}
}
At most 1 provider requests per invocation; timeout: 30 seconds.
Delete dev resource — figma.deletedevresource
Run Delete dev resource with Figma. This command can change provider data. Review the target and input before invoking it.
This operation can change provider data. Review the input before allowing an agent to call it.
Parameters
Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.
| Parameter | Type | Required in parent | Description | Constraints |
|---|---|---|---|---|
path |
object | Required | additionalProperties: false |
|
path.file_key |
string | Required | The file to delete the dev resource from. This must be a main file key, not a branch key. | |
path.dev_resource_id |
string | Required | The id of the dev resource to delete. |
Full JSON Schema
Example input
{
"path": {
"file_key": "example",
"dev_resource_id": "example"
}
}
At most 1 provider requests per invocation; timeout: 30 seconds.
Get library analytics component action data. — figma.getlibraryanalyticscomponentactions
Run Get library analytics component action data. with Figma. This is a read command; it does not grant access beyond the connected account's permissions.
This is a read operation. Provider rate limits and data access rules still apply.
Parameters
Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.
| Parameter | Type | Required in parent | Description | Constraints |
|---|---|---|---|---|
path |
object | Required | additionalProperties: false |
|
path.file_key |
string | Required | File key of the library to fetch analytics data for. | |
query |
object | Required | additionalProperties: false |
|
query.cursor |
string | Optional | Cursor indicating what page of data to fetch. Obtained from prior API call. | |
query.group_by |
string | Required | A dimension to group returned analytics data by. | enum: ["component","team"] |
query.start_date |
string | Optional | ISO 8601 date string (YYYY-MM-DD) of the earliest week to include. Dates are rounded back to the nearest start of a week. Defaults to one year prior. | |
query.end_date |
string | Optional | ISO 8601 date string (YYYY-MM-DD) of the latest week to include. Dates are rounded forward to the nearest end of a week. Defaults to the latest computed week. |
Full JSON Schema
Example input
{
"path": {
"file_key": "example"
},
"query": {
"group_by": "component"
}
}
At most 1 provider requests per invocation; timeout: 30 seconds.
Get library analytics component usage data. — figma.getlibraryanalyticscomponentusages
Run Get library analytics component usage data. with Figma. This is a read command; it does not grant access beyond the connected account's permissions.
This is a read operation. Provider rate limits and data access rules still apply.
Parameters
Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.
| Parameter | Type | Required in parent | Description | Constraints |
|---|---|---|---|---|
path |
object | Required | additionalProperties: false |
|
path.file_key |
string | Required | File key of the library to fetch analytics data for. | |
query |
object | Required | additionalProperties: false |
|
query.cursor |
string | Optional | Cursor indicating what page of data to fetch. Obtained from prior API call. | |
query.group_by |
string | Required | A dimension to group returned analytics data by. | enum: ["component","file"] |
Full JSON Schema
Example input
{
"path": {
"file_key": "example"
},
"query": {
"group_by": "component"
}
}
At most 1 provider requests per invocation; timeout: 30 seconds.
Get library analytics style action data. — figma.getlibraryanalyticsstyleactions
Run Get library analytics style action data. with Figma. This is a read command; it does not grant access beyond the connected account's permissions.
This is a read operation. Provider rate limits and data access rules still apply.
Parameters
Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.
| Parameter | Type | Required in parent | Description | Constraints |
|---|---|---|---|---|
path |
object | Required | additionalProperties: false |
|
path.file_key |
string | Required | File key of the library to fetch analytics data for. | |
query |
object | Required | additionalProperties: false |
|
query.cursor |
string | Optional | Cursor indicating what page of data to fetch. Obtained from prior API call. | |
query.group_by |
string | Required | A dimension to group returned analytics data by. | enum: ["style","team"] |
query.start_date |
string | Optional | ISO 8601 date string (YYYY-MM-DD) of the earliest week to include. Dates are rounded back to the nearest start of a week. Defaults to one year prior. | |
query.end_date |
string | Optional | ISO 8601 date string (YYYY-MM-DD) of the latest week to include. Dates are rounded forward to the nearest end of a week. Defaults to the latest computed week. |
Full JSON Schema
Example input
{
"path": {
"file_key": "example"
},
"query": {
"group_by": "style"
}
}
At most 1 provider requests per invocation; timeout: 30 seconds.
Get library analytics style usage data. — figma.getlibraryanalyticsstyleusages
Run Get library analytics style usage data. with Figma. This is a read command; it does not grant access beyond the connected account's permissions.
This is a read operation. Provider rate limits and data access rules still apply.
Parameters
Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.
| Parameter | Type | Required in parent | Description | Constraints |
|---|---|---|---|---|
path |
object | Required | additionalProperties: false |
|
path.file_key |
string | Required | File key of the library to fetch analytics data for. | |
query |
object | Required | additionalProperties: false |
|
query.cursor |
string | Optional | Cursor indicating what page of data to fetch. Obtained from prior API call. | |
query.group_by |
string | Required | A dimension to group returned analytics data by. | enum: ["style","file"] |
Full JSON Schema
Example input
{
"path": {
"file_key": "example"
},
"query": {
"group_by": "style"
}
}
At most 1 provider requests per invocation; timeout: 30 seconds.
Get library analytics variable action data. — figma.getlibraryanalyticsvariableactions
Run Get library analytics variable action data. with Figma. This is a read command; it does not grant access beyond the connected account's permissions.
This is a read operation. Provider rate limits and data access rules still apply.
Parameters
Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.
| Parameter | Type | Required in parent | Description | Constraints |
|---|---|---|---|---|
path |
object | Required | additionalProperties: false |
|
path.file_key |
string | Required | File key of the library to fetch analytics data for. | |
query |
object | Required | additionalProperties: false |
|
query.cursor |
string | Optional | Cursor indicating what page of data to fetch. Obtained from prior API call. | |
query.group_by |
string | Required | A dimension to group returned analytics data by. | enum: ["variable","team"] |
query.start_date |
string | Optional | ISO 8601 date string (YYYY-MM-DD) of the earliest week to include. Dates are rounded back to the nearest start of a week. Defaults to one year prior. | |
query.end_date |
string | Optional | ISO 8601 date string (YYYY-MM-DD) of the latest week to include. Dates are rounded forward to the nearest end of a week. Defaults to the latest computed week. |
Full JSON Schema
Example input
{
"path": {
"file_key": "example"
},
"query": {
"group_by": "variable"
}
}
At most 1 provider requests per invocation; timeout: 30 seconds.
Get library analytics variable usage data. — figma.getlibraryanalyticsvariableusages
Run Get library analytics variable usage data. with Figma. This is a read command; it does not grant access beyond the connected account's permissions.
This is a read operation. Provider rate limits and data access rules still apply.
Parameters
Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.
| Parameter | Type | Required in parent | Description | Constraints |
|---|---|---|---|---|
path |
object | Required | additionalProperties: false |
|
path.file_key |
string | Required | File key of the library to fetch analytics data for. | |
query |
object | Required | additionalProperties: false |
|
query.cursor |
string | Optional | Cursor indicating what page of data to fetch. Obtained from prior API call. | |
query.group_by |
string | Required | A dimension to group returned analytics data by. | enum: ["variable","file"] |
Full JSON Schema
Example input
{
"path": {
"file_key": "example"
},
"query": {
"group_by": "variable"
}
}
At most 1 provider requests per invocation; timeout: 30 seconds.
Get oEmbed data — figma.getoembed
Run Get oEmbed data with Figma. This is a read command; it does not grant access beyond the connected account's permissions.
This is a read operation. Provider rate limits and data access rules still apply.
Parameters
Requiredness is local to the containing object. A required child is required only when its parent object or array item is provided. Alternative schemas are identified in the Constraints column; the linked full JSON Schema is authoritative.
| Parameter | Type | Required in parent | Description | Constraints |
|---|---|---|---|---|
query |
object | Required | additionalProperties: false |
|
query.url |
string | Required | The URL of the Figma file or published Make site to retrieve oEmbed data for. | |
query.maxwidth |
integer | Optional | Maximum width of the embed in pixels. Defaults to 800. The response width will be adjusted to maintain a 16:9 aspect ratio with maxheight. | default: 800 |
query.maxheight |
integer | Optional | Maximum height of the embed in pixels. Defaults to 450. The response height will be adjusted to maintain a 16:9 aspect ratio with maxwidth. | default: 450 |
Full JSON Schema
Example input
{
"query": {
"url": "example"
}
}
At most 1 provider requests per invocation; timeout: 30 seconds.
Errors
Check the key's expiry, revocation, workspace and allowed operations.
Reuse the same idempotency key only for the same request.
The connection or provider limit has been reached. Check the receipt before retrying.
Test the connection
Open the integration's commands below to inspect parameters and examples. Start with a read command for an account or resource you can access. Refresh your client's tool list, use the returned tool name, and check the execution result and usage. Provider charges and permissions still apply. Never test a write against production data without reviewing it.