Figma API 
Basic API client for Figma. You can find some usage examples in these references:
typescript
declare function createFigmaApi(params: CreateFigmaApiParams): FigmaApi;
const figma = createFigmaApi({
  /* ... */
});CreateFigmaApiParams 
typescript
export interface CreateFigmaApiParams {
  /**
   * The base URL of the Figma API (with version).
   * @default 'https://api.figma.com/v1'
   */
  baseUrl?: string;
  /**
   * The fetch function to use.
   * @default globalThis.fetch
   * @attention Will be replaced with our fetch client in the future.
   */
  fetch?: typeof fetch;
  /**
   * The logger implementation.
   * @see `@neodx/logger`
   * @default Logger with `debug` level.
   */
  log?: LoggerMethods<'info' | 'error' | 'debug'>;
  /**
   * The access token of the Figma API (OAuth2).
   * @see https://www.figma.com/developers/api#access-tokens
   */
  accessToken?: string;
  /**
   * The personal access token of the Figma API.
   * @default process.env.FIGMA_TOKEN
   * @see https://www.figma.com/developers/api#access-tokens
   */
  personalAccessToken?: string;
}FigmaApi 
For details about the Figma API, see Figma API Reference or our Types for Figma API.
Files 
- getFile({ id, ...params }: GetFileParams): GetFileResult
- getFileNodes<Node extends AnyNode>({ id, ...params }: GetFileNodesParams): GetFileNodesResult<Node>
- getImage({ id, ...params }: GetImageParams):- GetImageResult
- getImageFills({ id }: GetImageFillsParams):- GetImageFillsResult
Comments 
- getComments({ id }: GetCommentsParams):- GetCommentsResult
- postComments({ id, ...body }: PostCommentsParams):- PostCommentResult
- deleteComments({ id, comment_id }: DeleteCommentsParams):- void
Users 
- getMe():- GetUserMeResult
Versions 
- getVersions({ id }: GetVersionsParams):- GetVersionsResult
Teams and projects 
- getTeamProjects({ team_id }: GetTeamProjectsParams):- GetTeamProjectsResult- GET /v1/teams/:team_id/projects 
- getProjectFiles({ project_id }: GetProjectFilesParams):- GetProjectFilesResult- GET /v1/projects/:project_id/files 
Components and styles 
WARNING
These APIs are required at least Figma Professional plan
- getTeamComponents({ team_id }: GetTeamComponentsParams):- GetTeamComponentsResult- GET /v1/teams/:team_id/components 
- getFileComponents({ id }: GetFileComponentsParams):- GetFileComponentsResult- GET /v1/files/:file_key/components 
- getComponent({ key }: GetComponentParams):- GetComponentResult- GET /v1/components/:key 
- getTeamComponentSets({ team_id }: GetTeamComponentSetsParams):- GetTeamComponentSetsResult- GET /v1/teams/:team_id/component_sets 
- getFileComponentSets({ id }: GetFileComponentSetsParams):- GetFileComponentSetsResult- GET /v1/files/:file_key/component_sets 
- getComponentSet({ key }: GetComponentSetParams):- GetComponentSetResult- GET /v1/component_sets/:key 
- getTeamStyles({ team_id }: GetTeamStylesParams):- GetTeamStylesResult- GET /v1/teams/:team_id/styles 
- getFileStyles({ id }: GetFileStylesParams):- GetFileStylesResult- GET /v1/files/:file_key/styles 
- getStyle({ key }: GetStyleParams):- GetStyleResult- GET /v1/styles/:key 
Variables 
Not ready
Work in progress...
