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

# Get the calling key

> Any valid key can call it; no scope is needed. Use it first to learn which scopes the key has, the plan (and Starter trial end), how many agents, metrics, services, SLOs and status pages the plan allows and how many are used, and the organization's API rate limits.



## OpenAPI

````yaml api-reference/openapi.json GET /me
openapi: 3.1.0
info:
  title: Observer API
  version: 1.0.0
  description: >-
    Public API for Observer: read services, metrics, SLOs and SLA statements;
    manage incidents, maintenance windows, manual metric status, config as code
    and Observer Agents. Bearer-auth via API keys (obs_pub_…), scoped per key.
    RFC 7807 problem-detail errors. Cursor pagination. Rate limits are per
    organization.
servers:
  - url: https://use.observer/api/v1
security:
  - bearerAuth: []
paths:
  /me:
    get:
      tags:
        - account
      summary: >-
        Who this API key is: organization, scopes, plan, quotas with usage, rate
        limits
      description: >-
        Any valid key can call it; no scope is needed. Use it first to learn
        which scopes the key has, the plan (and Starter trial end), how many
        agents, metrics, services, SLOs and status pages the plan allows and how
        many are used, and the organization's API rate limits.
      operationId: getMe
      responses:
        '200':
          description: ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Me'
        '401':
          description: >-
            `unauthenticated`: no bearer token was sent, or the key is invalid
            or revoked. `detail` distinguishes the two.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: >-
            `forbidden`: the key does not carry the scope this endpoint
            requires. `plan_does_not_permit_api`: the organization's plan does
            not include the public API.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: '`not_found`: not found. Cross-tenant ids return the same response.'
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: >-
            `rate_limited`: the organization's per-minute or daily request limit
            is used up (`limit.window` says which). Limits are per organization,
            shared by every key. The response carries `Retry-After` and
            `retry_after`, in seconds.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: '`internal_error`: an unhandled server error. Safe to retry.'
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
      security:
        - bearerAuth: []
components:
  schemas:
    Me:
      type: object
      properties:
        org:
          type: object
          properties:
            id:
              type: string
            name:
              type:
                - string
                - 'null'
        key:
          type: object
          properties:
            id:
              type: string
              format: uuid
            name:
              type:
                - string
                - 'null'
            scopes:
              type: array
              items:
                type: string
            created_at:
              type:
                - string
                - 'null'
              format: date-time
        plan:
          type: object
          properties:
            slug:
              type:
                - string
                - 'null'
            label:
              type:
                - string
                - 'null'
            status:
              type:
                - string
                - 'null'
            trial_ends_at:
              type:
                - string
                - 'null'
              format: date-time
              description: When the Starter trial ends, during one.
            billing_enforced:
              type: boolean
              description: >-
                false: plan limits are not enforced on this installation (limits
                are null).
        quotas:
          type: object
          description: 'Per capability: used now and the plan''s limit.'
          properties:
            agents:
              type: object
              properties:
                used:
                  type: integer
                limit:
                  type:
                    - integer
                    - string
                    - 'null'
                  description: >-
                    The plan's cap, "unlimited", or null when billing is not
                    enforced.
            metrics:
              type: object
              properties:
                used:
                  type: integer
                limit:
                  type:
                    - integer
                    - string
                    - 'null'
                  description: >-
                    The plan's cap, "unlimited", or null when billing is not
                    enforced.
            services:
              type: object
              properties:
                used:
                  type: integer
                limit:
                  type:
                    - integer
                    - string
                    - 'null'
                  description: >-
                    The plan's cap, "unlimited", or null when billing is not
                    enforced.
            slos:
              type: object
              properties:
                used:
                  type: integer
                limit:
                  type:
                    - integer
                    - string
                    - 'null'
                  description: >-
                    The plan's cap, "unlimited", or null when billing is not
                    enforced.
            status_pages:
              type: object
              properties:
                used:
                  type: integer
                limit:
                  type:
                    - integer
                    - string
                    - 'null'
                  description: >-
                    The plan's cap, "unlimited", or null when billing is not
                    enforced.
            custom_domains:
              type: object
              properties:
                used:
                  type: integer
                limit:
                  type:
                    - integer
                    - string
                    - 'null'
                  description: >-
                    The plan's cap, "unlimited", or null when billing is not
                    enforced.
            customers:
              type: object
              properties:
                used:
                  type: integer
                limit:
                  type:
                    - integer
                    - string
                    - 'null'
                  description: >-
                    The plan's cap, "unlimited", or null when billing is not
                    enforced.
            webhook_endpoints:
              type: object
              properties:
                used:
                  type: integer
                limit:
                  type:
                    - integer
                    - string
                    - 'null'
                  description: >-
                    The plan's cap, "unlimited", or null when billing is not
                    enforced.
        rate_limits:
          type: object
          properties:
            scope:
              type: string
              enum:
                - organization
            per_minute:
              type:
                - integer
                - 'null'
              description: null = unlimited.
            daily:
              type:
                - integer
                - 'null'
              description: null = unlimited.
            used_today:
              type: integer
              description: >-
                Requests counted today (UTC) across all of the organization's
                keys.
    Problem:
      type: object
      required:
        - type
        - title
        - status
      example:
        type: https://docs.use.observer/api/getting-started/errors#forbidden
        title: forbidden
        status: 403
        detail: 'missing scope: write:incidents'
      properties:
        type:
          type: string
          format: uri
          description: Errors reference URI with the title token as the fragment.
          example: https://docs.use.observer/api/getting-started/errors#forbidden
        title:
          type: string
          description: Stable error token. Branch on this, not on detail.
        status:
          type: integer
        detail:
          type: string
          description: Human-readable explanation. Wording may change.
        retry_after:
          type: integer
          description: >-
            429 only: seconds until the exhausted window resets (mirrors
            Retry-After).
        limit:
          type: object
          description: '429 only: which organization limit was hit.'
          properties:
            scope:
              type: string
              enum:
                - organization
            window:
              type: string
              enum:
                - minute
                - day
            max:
              type: integer
            plan:
              type: string
        errors:
          type: array
          description: >-
            Validation failures (config_invalid, invalid_customer_targeting):
            one entry per problem.
          items:
            type: object
            properties:
              path:
                type: string
              message:
                type: string
        warnings:
          type: array
          description: >-
            config_invalid only: the same non-fatal warnings a successful apply
            returns.
          items:
            type: object
            properties:
              path:
                type: string
              message:
                type: string
        unknown_customers:
          type: array
          description: >-
            unknown_customers only: the submitted values that matched no
            customer in your organization.
          items:
            type: string
        referenced_by:
          type: object
          description: >-
            in_use only: what depends on the object (slos, pages: lists of { id,
            config_key, name }; subscribers: a count).
        quota:
          type: object
          description: >-
            quota_exceeded / feature_locked on a create only: the plan limit
            that blocked it.
          properties:
            capability:
              type: string
            used:
              type:
                - integer
                - 'null'
            cap:
              type:
                - integer
                - 'null'
            plan:
              type:
                - string
                - 'null'
        upgrade:
          type: object
          description: >-
            Plan-limit problems only, when a higher plan lifts the limit: the
            smallest such plan and the pricing page.
          properties:
            plan:
              type: string
            label:
              type: string
            url:
              type: string
              format: uri
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: obs_pub_
      description: >-
        An organization API key (obs_pub_…) sent as `Authorization: Bearer
        <key>`. Each key carries scopes; an endpoint lists the scope it needs.

````

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