openapi: 3.0.3
info:
  title: VoiceOS public surface
  version: "1.0.0"
  description: |
    Public, no-auth endpoints exposed by the voiceos.com marketing site.
    VoiceOS itself is a desktop application — this spec only documents the
    discovery surface used by AI plugins and crawlers (LLM-readable content,
    referral helpers, IndexNow ping). The product API is internal.
  contact:
    name: VoiceOS support
    email: support@voiceos.com
    url: https://www.voiceos.com/contact
  license:
    name: Proprietary
    url: https://www.voiceos.com/terms
servers:
  - url: https://www.voiceos.com
    description: Production
paths:
  /llms.txt:
    get:
      summary: Short LLM-readable site description
      operationId: getLlmsTxt
      responses:
        "200":
          description: Plain-text summary of VoiceOS for LLM ingestion
          content:
            text/plain: {}
  /llms-full.txt:
    get:
      summary: Full LLM-readable VoiceOS documentation
      operationId: getLlmsFullTxt
      responses:
        "200":
          description: Comprehensive plain-text knowledge base for LLM ingestion
          content:
            text/plain: {}
  /agents.md:
    get:
      summary: Agent instructions for autonomous AI clients
      operationId: getAgentsMd
      responses:
        "200":
          description: Markdown describing how AI agents should reason about VoiceOS
          content:
            text/markdown: {}
  /pricing.md:
    get:
      summary: Machine-readable pricing
      operationId: getPricingMd
      responses:
        "200":
          description: Markdown summary of current VoiceOS pricing tiers
          content:
            text/markdown: {}
  /index.md:
    get:
      summary: Markdown homepage
      operationId: getIndexMd
      responses:
        "200":
          description: Markdown rendering of the VoiceOS homepage
          content:
            text/markdown: {}
  /.well-known/agent-card.json:
    get:
      summary: Agent card describing VoiceOS capabilities, platforms, and pricing
      operationId: getAgentCard
      responses:
        "200":
          description: JSON document with VoiceOS capabilities, integrations, and contact
          content:
            application/json: {}
  /api/indexnow:
    get:
      summary: IndexNow configuration metadata
      operationId: getIndexNowConfig
      responses:
        "200":
          description: Current IndexNow host, key location, and usage notes
          content:
            application/json: {}
    post:
      summary: Submit one or more URLs to the IndexNow protocol
      operationId: submitIndexNow
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required: [urls]
              properties:
                urls:
                  type: array
                  items:
                    type: string
                    format: uri
                  description: Absolute URLs on https://www.voiceos.com to re-index
      responses:
        "200":
          description: IndexNow accepted the submission
          content:
            application/json: {}
        "401":
          description: Trigger secret missing or invalid
        "502":
          description: IndexNow returned an error
