> ## Documentation Index
> Fetch the complete documentation index at: https://docs.modernloop.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Get current identity

> Returns the acting user, organization, granted scopes, and registry-level MCP tool access for the authenticated token. tool_access predicts whether each public tool can succeed with the granted scopes; endpoint variant and connection-level tool filtering can further restrict visibility. A tool can still appear in tools/list yet return INSUFFICIENT_SCOPE, so use tool_access to plan calls and tools/list for this connection's visibility. Available to every valid token; no scope is required. No parameters are accepted because identity is determined entirely from authentication.



## OpenAPI

````yaml /openapi.json get /v1/me
openapi: 3.1.0
info:
  title: ModernLoop Platform API
  version: 0.1.0
  description: The ModernLoop Platform API for managing recruiting workflows.
  contact:
    email: support@modernloop.io
servers:
  - url: https://api.modernloop.io
security: []
tags:
  - name: Activity
  - name: Application
  - name: Candidate
  - name: Interview Event
  - name: Interview Module
  - name: Job
  - name: Job Stage
  - name: Me
  - name: Organization
  - name: Schedule
  - name: Scheduling Task
  - name: Task Queue
  - name: Template
  - name: User
paths:
  /v1/me:
    get:
      tags:
        - Me
      summary: Get current identity
      description: >-
        Returns the acting user, organization, granted scopes, and
        registry-level MCP tool access for the authenticated token. tool_access
        predicts whether each public tool can succeed with the granted scopes;
        endpoint variant and connection-level tool filtering can further
        restrict visibility. A tool can still appear in tools/list yet return
        INSUFFICIENT_SCOPE, so use tool_access to plan calls and tools/list for
        this connection's visibility. Available to every valid token; no scope
        is required. No parameters are accepted because identity is determined
        entirely from authentication.
      operationId: getMe
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Me'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - bearerAuth: []
components:
  schemas:
    Me:
      type: object
      properties:
        id:
          type: string
          pattern: ^usr_[0-9a-f]{32}$
          description: >-
            Canonical user ID (usr_ followed by 32 lowercase hexadecimal UUID
            characters).
          example: usr_a1b2c3d4e5f64789a1b2c3d4e5f64789
        name:
          type: string
        email:
          type: string
          format: email
        app_url:
          type: string
          format: uri
          description: Link that opens this resource in the ModernLoop app.
        organization:
          type: object
          properties:
            id:
              type: string
              pattern: ^org_[0-9a-f]{32}$
              description: >-
                Canonical organization ID (org_ followed by 32 lowercase
                hexadecimal UUID characters).
              example: org_a1b2c3d4e5f64789a1b2c3d4e5f64789
            name:
              type: string
            app_url:
              type: string
              format: uri
              description: Link that opens this resource in the ModernLoop app.
          required:
            - id
            - name
            - app_url
        scopes:
          type: array
          items:
            type: string
          description: Scopes granted to the presented token, sorted ascending.
        tool_access:
          type: array
          items:
            type: object
            properties:
              tool:
                type: string
              available:
                type: boolean
              missing_scope:
                type: string
            required:
              - tool
              - available
          description: >-
            For every public MCP tool in stable registry order, available
            predicts whether a call can succeed with the granted scopes.
            Endpoint variant and connection-level include_tools/exclude_tools
            can further restrict visibility. A tool may appear in tools/list yet
            return INSUFFICIENT_SCOPE, so use this field to plan calls and
            tools/list for per-connection visibility.
      required:
        - id
        - name
        - email
        - app_url
        - organization
        - scopes
        - tool_access
    ErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              enum:
                - UNAUTHENTICATED
                - INSUFFICIENT_SCOPE
                - VALIDATION_FAILED
                - INVALID_CURSOR
                - PAYLOAD_TOO_LARGE
                - NOT_FOUND
                - PERMISSION_DENIED
                - IDEMPOTENCY_KEY_REQUIRED
                - IDEMPOTENCY_KEY_REUSED
                - RATE_LIMITED
                - CONFLICT
                - CANNOT_UPDATE_SYNC_MANAGED_FIELDS
                - NOT_IMPLEMENTED
                - INTERNAL
                - UPSTREAM_TIMEOUT
                - UNAVAILABLE
            message:
              type: string
            docs_url:
              type: string
              format: uri
            details:
              type: array
              items:
                type: object
                additionalProperties:
                  type: string
          required:
            - code
            - message
      required:
        - error
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: API tokens are passed as Bearer tokens.

````