openapi: 3.1.0 info: title: Figma API version: 0.21.0 description: >- This is the OpenAPI specification for the [Figma REST API](https://www.figma.com/developers/api). Note: we are releasing the OpenAPI specification as a beta given the large surface area and complexity of the REST API. If you notice any inaccuracies with the specification, please [file an issue](https://github.com/figma/rest-api-spec/issues). termsOfService: https://www.figma.com/developer-terms/ contact: email: support@figma.com servers: - url: https://api.figma.com description: Figma Production API Server tags: - name: Users description: Operations related to user information and authentication paths: /v1/me: get: tags: - 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: | { "dispatcher": "FALLBACK", "fallback": "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 bearerFormat: Figma Personal Access Token description: Personal Access Token for authentication OAuth2: type: oauth2 flows: authorizationCode: authorizationUrl: https://www.figma.com/oauth tokenUrl: https://api.figma.com/v1/oauth/token scopes: files:read: Read files responses: GetMeResponse: description: Response from the GET /v1/me endpoint. content: application/json: schema: $ref: '#/components/schemas/GetMeResponseBody' examples: GetMeSuccessExample: $ref: '#/components/examples/GetMeSuccessExample' ForbiddenErrorResponse: description: >- The request was valid, but the server is refusing action. The user might not have the necessary permissions for a resource. content: application/json: schema: $ref: '#/components/schemas/ErrorResponsePayload' examples: ForbiddenExample: $ref: '#/components/examples/ForbiddenExample' TooManyRequestsErrorResponse: description: >- API requests may be throttled or rate limited. Please wait a while before attempting the request again. content: application/json: schema: $ref: '#/components/schemas/ErrorResponsePayload' examples: TooManyRequestsExample: $ref: '#/components/examples/TooManyRequestsExample' InternalServerErrorResponse: description: An internal server error occurred. content: application/json: schema: $ref: '#/components/schemas/ErrorResponsePayload' examples: InternalServerErrorExample: $ref: '#/components/examples/InternalServerErrorExample' schemas: GetMeResponseBody: 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 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 imgUrl: type: string description: URL link to the user's profile image. example: https://www.example.com required: - id - handle - imgUrl 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 examples: GetMeSuccessExample: summary: Successful user profile response value: id: "1234567890" handle: "John Doe" imgUrl: "https://s3-alpha.figma.com/profile/1234567890" email: "john.doe@example.com" ForbiddenExample: summary: Forbidden error value: status: 403 err: "You do not have permission to access this resource" TooManyRequestsExample: summary: Rate limit error value: status: 429 err: "Rate limit exceeded. Please wait before making another request" InternalServerErrorExample: summary: Internal server error value: status: 500 err: "An internal server error occurred"