Skip to content

Reference

Figma

Set up Figma OAuth for collaborative design and prototyping

Connect your users to Figma for accessing design files, variables, comments, and developer resources.

PropertyValue
Provider IDfigma
CategoryDesign
PKCESupported
Token refreshAutomatic
Redirect URIShown in Developer Portal

Go to the Figma My apps page

Navigate to figma.com/developers/apps (or click My Apps in the Figma top toolbar) and sign in.

Create a new app

Click Create a new app in the upper-right corner. Enter a name for the app, select the team or organization it belongs to, and click Create.

Get credentials

Copy the Client ID and Client Secret immediately and store them securely — this is the only time Figma shows the Client Secret.

Configure the redirect URL

In the configuration flow, open the OAuth credentials page, click Add a redirect URL, and add the Alter callback URL from the Developer Portal.

Select OAuth scopes

On the OAuth scopes page, select every scope the integration will request — only a subset of the scopes selected here can be requested at authorization time.

Publish the app

Publish the app: private apps (the default) publish immediately for the selected team or organization; public apps are reviewed by Figma before they can authorize users.

Open the Developer Portal

Go to portal.alterauth.com and navigate to the application.

Add Figma provider

Go to OAuth Providers > Add Provider > Figma.

Enter credentials

  • Client ID: Paste your Figma Client ID
  • Client Secret: Paste your Figma Client Secret

Select scopes

Choose the scopes the application needs.

Save

Click Save. The provider is now active.

ScopeDescription
current_user:readRead the authenticated user’s name, email, and profile image
file_content:readRead the contents of files (nodes, layers, editor type)
file_metadata:readRead metadata of files (name, last modified, folder, team)
file_comments:readRead comments and comment reactions in files
file_comments:writePost and delete comments and reactions in files
file_versions:readRead the version history for accessible files
file_dev_resources:readRead developer resources linked to Figma files
file_dev_resources:writeCreate and modify developer resources in Figma files
file_variables:readRead variables in Figma files (Enterprise plan only)
file_variables:writeCreate and modify variables in Figma files (Enterprise plan only)
selections:readRead the most recent selection in accessible files
library_analytics:readRead design system analytics (Enterprise plan only)
library_assets:readRead data of individual published components and styles
library_content:readRead published components and styles of files
folder_metadata:readRead metadata of folders (v2 folders endpoints; replaces project_metadata:read for apps created after August 2026)
folders:readList folders and the files in them (v2 folders endpoints; private OAuth apps only; replaces projects:read for apps created after August 2026)
project_metadata:readRead metadata of projects via the v1 endpoints (deprecated by Figma in August 2026; only apps created before then can still enable it)
projects:readList projects and the files in them via the v1 endpoints (deprecated by Figma in August 2026; only apps created before then can still enable it)
team_library_content:readRead published components and styles of teams
webhooks:readRead metadata of webhooks
webhooks:writeCreate and manage Figma webhooks
  • Figma deprecated the legacy files:read / file_read scopes in favor of the granular scopes above. For most read-only integrations, file_content:read plus file_metadata:read is sufficient.
  • Figma renamed projects to folders in August 2026. Apps created since then can only select folders:read / folder_metadata:read (the v2 folders endpoints; folders:read is limited to private OAuth apps). Apps created before then keep projects:read / project_metadata:read, which the v1 project endpoints still require: request the family the app has enabled, and enable the folder scopes on the Figma app before switching an integration to the v2 endpoints.
  • A newly created app starts in a draft state: only the creator and plan admins can test it. It must be published (privately or publicly) before other users can authorize it; only public apps go through Figma’s review.
  • See the Figma OAuth apps documentation for more details.

Alter policy rules can target these attested operations and families for operation-level and parameter-aware controls.

Operation IDFamiliesMethodProvider path
postCommentwritePOST/v1/files/{file_key}/comments
deleteCommentdeleteDELETE/v1/files/{file_key}/comments/{comment_id}
getCommentsreadGET/v1/files/{file_key}/comments
postVariablesdelete, writePOST/v1/files/{file_key}/variables
postWebhookadminPOST/v2/webhooks
putWebhookadminPUT/v2/webhooks/{webhook_id}
deleteWebhookadmin, deleteDELETE/v2/webhooks/{webhook_id}
getWebhookreadGET/v2/webhooks/{webhook_id}
getWebhooksreadGET/v2/webhooks
getTeamWebhooksreadGET/v2/teams/{team_id}/webhooks
getFilereadGET/v1/files/{file_key}
getFileNodesreadGET/v1/files/{file_key}/nodes
getFileMetareadGET/v1/files/{file_key}/meta
getFileVersionsreadGET/v1/files/{file_key}/versions
getFileComponentsreadGET/v1/files/{file_key}/components
getFileStylesreadGET/v1/files/{file_key}/styles
getDevResourcesreadGET/v1/files/{file_key}/dev_resources
getImagesreadGET/v1/images/{file_key}
getLocalVariablesreadGET/v1/files/{file_key}/variables/local
getPublishedVariablesreadGET/v1/files/{file_key}/variables/published
getComponentreadGET/v1/components/{key}
getStylereadGET/v1/styles/{key}
getMereadGET/v1/me
getProjectFilesreadGET/v1/projects/{project_id}/files
getTeamProjectsreadGET/v1/teams/{team_id}/projects
getTeamComponentsreadGET/v1/teams/{team_id}/components
getTeamStylesreadGET/v1/teams/{team_id}/styles

Report an issue with this page

Necessary

Required for sign-in, security, authorization, and remembering your choices.

Always active

Analytics

Helps us understand which product and documentation features are useful.

Performance diagnostics

Uses performance tracing and privacy-masked session replay to diagnose problems.

You can change these choices at any time from Cookie settings.