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

# List valid metric names

> Discovery endpoint — returns every metric column name that can
be passed to `/universes/{id}/metrics/{metric}`. Use this to
avoid hard-coding the whitelist in your client.




## OpenAPI

````yaml /openapi.yaml get /metrics
openapi: 3.1.0
info:
  title: Verseodin API
  version: 1.0.0
  description: |
    Read-only HTTP API for pulling Verseodin dashboard data:
    universes, history rows (per-day aggregates of brand visibility,
    citations, and mentions across AI search engines), and full prompt
    records including the AI's response text and cited URLs.

    The same key authorises the Verseodin Claude / MCP connector — one
    credential, two surfaces.
servers:
  - url: https://verseodin.com/api/v1
    description: Production
security:
  - BearerAuth: []
paths:
  /metrics:
    get:
      tags:
        - Discovery
      summary: List valid metric names
      description: |
        Discovery endpoint — returns every metric column name that can
        be passed to `/universes/{id}/metrics/{metric}`. Use this to
        avoid hard-coding the whitelist in your client.
      operationId: listMetrics
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: string
              example:
                data:
                  - ai_trust_mentions
                  - ai_avg_trust_position
                  - prompts_rows
                  - geo_competitor_analysis
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/RateLimited'
components:
  responses:
    Unauthorized:
      description: Missing / invalid / revoked API key.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    RateLimited:
      description: >-
        Rate-limit window exceeded. Honour the `Retry-After` header before
        retrying.
      headers:
        Retry-After:
          schema:
            type: integer
          description: Seconds to wait before retrying.
        X-RateLimit-Limit:
          schema:
            type: integer
        X-RateLimit-Remaining:
          schema:
            type: integer
        X-RateLimit-Reset:
          schema:
            type: integer
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    Error:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - type
            - message
          properties:
            type:
              type: string
              enum:
                - authentication_error
                - permission_error
                - not_found
                - invalid_request_error
                - rate_limit_error
                - api_error
              description: Machine-readable error category.
            message:
              type: string
              description: Human-readable explanation.
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: vso_<48 hex chars>
      description: |
        Generate a key at `/dashboard/settings/api-keys`. Pass it as
        `Authorization: Bearer vso_xxx` on every request.

````