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

# Identify the token

> Tells a personal access token who it is: the user it acts as, its name, its scopes, the organizations it was limited to and when it expires. It says nothing about any organization, and it needs neither the `X-RootKey-Organization` header nor a scope. Only a personal access token can call it: a request with an API key gets the `404` that any path the API does not have gets.



## OpenAPI

````yaml get /me
openapi: 3.0.3
info:
  title: ROOTKey Documentation
  description: >-
    Your API of choice for creating, managing, and validating information easily
    and securely!
  termsOfService: https://www.rootkey.ai/legal/privacy-policy
  contact:
    name: ROOTKey
    url: https://www.rootkey.ai/contact
    email: support@rootkey.ai
  version: 1.0.0
servers:
  - description: Production
    url: https://api.rootkey.ai/api-v1/
security:
  - x-api-key: []
  - personalAccessToken: []
tags:
  - name: api-v1-public
    description: Unauthenticated top-level /api-v1 endpoints (health, plans, annual report)
  - name: api-v1-files
    description: >-
      File anchoring, versioning, validation and compliance reporting
      (/api-v1/platform/files)
  - name: api-v1-records
    description: Structured-data record anchoring (/api-v1/platform/records)
  - name: api-v1-vaults
    description: 'Vault lifecycle: create / update / delete (/api-v1/platform/vaults)'
  - name: api-v1-recovery-points
    description: >-
      Backup archives created from vault contents
      (/api-v1/platform/recovery-point)
  - name: api-v1-organizations
    description: >-
      The identity of a personal access token and the organizations it can act
      in (/api-v1/me, /api-v1/organizations, /api-v1/organization)
paths:
  /me:
    get:
      tags:
        - api-v1-organizations
      summary: Identify the token
      description: >-
        Tells a personal access token who it is: the user it acts as, its name,
        its scopes, the organizations it was limited to and when it expires. It
        says nothing about any organization, and it needs neither the
        `X-RootKey-Organization` header nor a scope. Only a personal access
        token can call it: a request with an API key gets the `404` that any
        path the API does not have gets.
      responses:
        '200':
          description: The identity of the token
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PersonalAccessTokenIdentity'
        '400':
          description: >-
            An `x-api-key` sent together with `Authorization: Bearer rk_...`
            (`conflicting_credentials`).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DomainErrorResponse'
        '401':
          description: >-
            Unauthenticated. A missing, malformed, unknown, inactive, revoked or
            expired credential all get the same answer.
        '403':
          description: >-
            The user has not verified their email address and the grace period
            has run out (`email_verification_required`).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DomainErrorResponse'
        '429':
          description: >-
            Too many requests. The `Retry-After` header says how many seconds to
            wait. See [Rate Limits](/pages/rate-limits).
        '500':
          $ref: '#/components/responses/InternalError'
      security:
        - personalAccessToken: []
components:
  schemas:
    PersonalAccessTokenIdentity:
      type: object
      description: >-
        Who a personal access token acts as and what it was granted. Identity
        only: it says nothing about any organization.
      properties:
        user:
          type: object
          properties:
            id:
              type: string
            name:
              type: string
            email:
              type: string
        credential:
          type: object
          properties:
            id:
              type: string
            type:
              type: string
              enum:
                - PAT
            name:
              type: string
              description: The name the user gave the token.
            scopes:
              type: array
              items:
                type: string
                enum:
                  - rootkey.read
                  - rootkey.write
                  - rootkey.delete
            allOrganizations:
              type: boolean
              description: >-
                True when the token covers every organization the user belongs
                to, now and later.
            organizationIds:
              type: array
              items:
                type: string
              description: >-
                The organizations the token was limited to. Empty when
                `allOrganizations` is true.
            expiresAt:
              type: string
              format: date-time
    DomainErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            requestId:
              type: string
            message:
              type: string
            errorCode:
              type: string
            docUrl:
              type: string
            timestamp:
              type: string
              format: date-time
  responses:
    InternalError:
      description: Internal server error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/DomainErrorResponse'
  securitySchemes:
    x-api-key:
      type: apiKey
      name: x-api-key
      in: header
      description: >-
        ROOTKey API key. A test key works on your organization's test data and a
        live key on its live data; both are used with the same API.
    personalAccessToken:
      type: http
      scheme: bearer
      bearerFormat: rk_pat_...
      description: >-
        Personal access token of a ROOTKey user, sent as `Authorization: Bearer
        rk_pat_...`. A token acts as the user who created it, in the
        organization named by the `X-RootKey-Organization` header, and never
        with more access than that user has in the ROOTKey app: the
        organization's agent policy, the user's own role and teams, and the
        token's scopes (`rootkey.read`, `rootkey.write`, `rootkey.delete`) all
        apply. A missing, malformed, unknown, revoked or expired token gets the
        same `401`. Send either an `x-api-key` or a bearer token, never both: a
        request with both gets `conflicting_credentials`. See
        [Authentication](/api-reference/auth).

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.