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

# Setup status

> "Where am I, and what is next?" — also the cheapest possible key check: a 200 proves the key is live and names its workspace.

Returns logging state, logged-traffic count (null when the log store is unreachable — deliberately distinct from zero), grade and judge progress, and `next`: the ONE next step, ordered by dependency. Send `Accept: text/plain` for flat `key=value` lines (what `setup.sh` consumes).



## OpenAPI

````yaml /openapi.json get /v1/setup/status
openapi: 3.1.0
info:
  title: Omnia Management API
  description: >-
    The management API behind the improvement loop: capture and setup, request
    logs and datasets, grades (labels), judges (criteria), evals and deploy
    gates, fine-tuning and reinforcement learning, dedicated GPU endpoints, and
    model aliases and versions. Authenticated with a workspace API key
    (sk_sovereign_...). The inference API (chat, embeddings, rerank, responses)
    is OpenAI-compatible and documented separately.


    Responses are snake_case, list endpoints on the loop products use the
    {"object": "list", "data": [...]} envelope, and refusals use the same nested
    error shape the gateway emits: {"error": {"message", "type", "code"}}.
    Request bodies on the loop products (logs, labels, criteria, evals,
    datasets, aliases) are snake_case; the training and infrastructure products
    (fine-tuning, GRPO, environment tools, dedicated, model-version adoption)
    validate camelCase bodies, and each schema below says which it is. Endpoints
    that spend money require a key minted by a workspace owner or admin and
    return 403 otherwise.
  version: 1.0.0
servers:
  - url: https://gateway.omnia-voice.com
    description: Production
  - url: https://platform.omnia-voice.com/api
    description: Production (legacy alias — same API, older base URL)
security:
  - bearerAuth: []
paths:
  /v1/setup/status:
    get:
      summary: Setup status
      description: >-
        "Where am I, and what is next?" — also the cheapest possible key check:
        a 200 proves the key is live and names its workspace.


        Returns logging state, logged-traffic count (null when the log store is
        unreachable — deliberately distinct from zero), grade and judge
        progress, and `next`: the ONE next step, ordered by dependency. Send
        `Accept: text/plain` for flat `key=value` lines (what `setup.sh`
        consumes).
      operationId: getSetupStatus
      responses:
        '200':
          description: Current setup state and the single next step.
          content:
            application/json:
              schema:
                type: object
                properties:
                  workspace:
                    type: object
                    properties:
                      slug:
                        type: string
                      name:
                        type: string
                  logging:
                    type: object
                    properties:
                      enabled:
                        type: boolean
                      retention_days:
                        type: integer
                  traffic:
                    type: object
                    properties:
                      logged_conversations:
                        type: integer
                        nullable: true
                  grades:
                    type: object
                    properties:
                      total:
                        type: integer
                      needed_to_calibrate:
                        type: integer
                  judges:
                    type: object
                    properties:
                      total:
                        type: integer
                      calibrated:
                        type: integer
                      trustworthy:
                        type: integer
                      fail_grades_needed:
                        type: integer
                        nullable: true
                  next:
                    type: object
                    properties:
                      action:
                        type: string
                      detail:
                        type: string
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Your workspace API key, e.g. `sk_sovereign_...`, sent as `Authorization:
        Bearer <key>`.

````