Figma Me API

Figma Me API provides the endpoint for retrieving information about the currently authenticated user.

OpenAPI Specification

figma-me-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Figma Me API
  version: 0.21.0
  description: >-
    This is the OpenAPI specification for the [Figma REST
    API](https://www.figma.com/developers/api).
  termsOfService: https://www.figma.com/developer-terms/
  contact:
    email: [email protected]

servers:
- url: https://api.figma.com
  description: Figma Production API Server

tags:
- name: Me
  description: Operations for the currently authenticated user

- name: Users
  description: Operations for managing and retrieving user information
paths:
  /v1/me:
    get:
      tags:
      - Me
      - Users
      summary: Figma Get Current User
      security:
      - PersonalAccessToken: []
      - OAuth2:
        - files:read
      description: Returns the user information for the currently authenticated user.
      operationId: getMe
      x-microcks-operation:
        dispatcher: FALLBACK
        dispatcherRules: ""
        defaultResponse: GetMeSuccessExample
      responses:
        '200':
          $ref: '#/components/responses/GetMeResponse'
        '403':
          $ref: '#/components/responses/ForbiddenErrorResponse'
        '429':
          $ref: '#/components/responses/TooManyRequestsErrorResponse'
        '500':
          $ref: '#/components/responses/InternalServerErrorResponse'

components:
  securitySchemes:
    PersonalAccessToken:
      type: http
      scheme: bearer
      description: Personal access token for authentication
    OAuth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://www.figma.com/oauth
          tokenUrl: https://www.figma.com/api/oauth/token
          scopes:
            files:read: Read access to files

  schemas:
    User:
      type: object
      description: A description of a user.
      properties:
        id:
          type: string
          description: Unique stable id of the user.
          example: abc123
        handle:
          type: string
          description: Name of the user.
          example: example_value
        img_url:
          type: string
          description: URL link to the user's profile image.
          example: https://www.example.com
      required:
      - id
      - handle
      - img_url
      example:
        id: "1234567890"
        handle: "John Designer"
        img_url: "https://s3-alpha.figma.com/profile/abc123-xyz789"

    UserWithEmail:
      allOf:
      - $ref: '#/components/schemas/User'
      - type: object
        properties:
          email:
            type: string
            description: >-
              Email associated with the user's account. This property is
              only present on the /v1/me endpoint.
        required:
        - email
      example:
        id: "1234567890"
        handle: "John Designer"
        img_url: "https://s3-alpha.figma.com/profile/abc123-xyz789"
        email: "[email protected]"

    ErrorResponsePayload:
      type: object
      description: A response indicating an error occurred.
      properties:
        status:
          type: number
          description: Status code
          example: 42.5
        err:
          type: string
          description: A string describing the error
          example: example_value
      required:
      - status
      - err

    ForbiddenError:
      allOf:
      - $ref: '#/components/schemas/ErrorResponsePayload'
      - type: object
        properties:
          status:
            type: number
            description: Status code
            enum:
            - 403
        required:
        - status
      example:
        status: 403
        err: "Invalid token"

    TooManyRequestsError:
      allOf:
      - $ref: '#/components/schemas/ErrorResponsePayload'
      - type: object
        properties:
          status:
            type: number
            description: Status code
            enum:
            - 429
        required:
        - status
      example:
        status: 429
        err: "Rate limit exceeded. Please wait before retrying."

    InternalServerError:
      allOf:
      - $ref: '#/components/schemas/ErrorResponsePayload'
      - type: object
        properties:
          status:
            type: number
            description: Status code
            enum:
            - 500
        required:
        - status
      example:
        status: 500
        err: "Internal server error"

  responses:
    GetMeResponse:
      description: Response from the GET /v1/me endpoint.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/UserWithEmail'
          examples:
            GetMeSuccessExample:
              summary: Successful user information response
              value:
                id: "1234567890"
                handle: "John Designer"
                img_url: "https://s3-alpha.figma.com/profile/abc123-xyz789"
                email: "[email protected]"

    ForbiddenErrorResponse:
      description: >-
        The request was valid, but the server is refusing action. The user might
        not have the necessary permissions for a resource, or may need an
        account of some sort.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ForbiddenError'
          examples:
            ForbiddenExample:
              summary: Invalid token error
              value:
                status: 403
                err: "Invalid token"

    TooManyRequestsErrorResponse:
      description: >-
        In some cases API requests may be throttled or rate limited. Please wait
        a while before attempting the request again (typically a minute).
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/TooManyRequestsError'
          examples:
            TooManyRequestsExample:
              summary: Rate limit exceeded error
              value:
                status: 429
                err: "Rate limit exceeded. Please wait before retrying."

    InternalServerErrorResponse:
      description: An internal server error occurred.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/InternalServerError'
          examples:
            InternalServerErrorExample:
              summary: Internal server error
              value:
                status: 500
                err: "Internal server error"

  examples:
    GetMeSuccessExample:
      summary: Successful user information response
      value:
        id: "1234567890"
        handle: "John Designer"
        img_url: "https://s3-alpha.figma.com/profile/abc123-xyz789"
        email: "[email protected]"