Skip to content
Console

For AI agents

For AI agents

Copy page

How an AI agent or coding assistant reads these docs — llms.txt, a Markdown copy of every page, and the OpenAPI document.

These docs are written to be read by people and by agents alike. Everything on this site is also plain Markdown, at stable addresses, with nothing to scrape.

Address What it is
https://docs.lumavox.ai/llms.txt The index: what the API does, then every page with a one-line summary, in reading order. Start here.
https://docs.lumavox.ai/llms-full.txt Every guide in one file, for a model with room for all of it. The reference’s sections are left out — llms.txt links each one, and the OpenAPI document is the whole contract.
Any page’s address plus .md That page as Markdown — https://docs.lumavox.ai/quickstart.md, https://docs.lumavox.ai/agents/websocket.md. Its links point at the other pages’ Markdown, so an agent that follows one stays in Markdown. Every page names its copy in its head, as <link rel="alternate" type="text/markdown">.
https://api.lumavox.ai/openapi.json The API’s OpenAPI 3.1 document: every operation, parameter and schema, as deployed. The TypeScript SDKs are typed from it; for another language, generate a client from it.

The API reference on this site is rendered from that same document, so the two never disagree.

Give a coding assistant the index and let it fetch what it needs:

Prompt
Read https://docs.lumavox.ai/llms.txt, then the pages it links to that this task needs.
Use the API at https://api.lumavox.ai; its OpenAPI document is https://api.lumavox.ai/openapi.json.
Read the API key from the API_KEY environment variable, never from source code.
  • Base URL: https://api.lumavox.ai. Every operation but GET /health and a template’s example images takes Authorization: Bearer <key> (or X-API-Key: <key>). See Authentication.
  • One way to write every value: fields are snake_case; a time is UTC with milliseconds (2026-10-24T09:30:00.000Z); credits are integers of micro-credits, in fields ending _micros; every list is {"data": [...], "next_cursor": ...}, the next page asked for with cursor; a response has every field, null for none. See Conventions.
  • Keys stay on a server. An API key in a browser or a mobile app can spend your credit. An end user’s device gets a short-lived ephemeral token instead — see End users and their keys.
  • Errors are JSON with one envelope — switch on error.code, read error.issues for the fields a 422 refused — and every response carries X-Request-Id. See Errors and limits.
  • Speech answers in the request; images, video, stored audio and long transcriptions are queued: a 202 with an id, then poll. See Queued jobs.
  • Agents talk on a WebSocket, which the OpenAPI document cannot describe: The WebSocket is the whole protocol.
  • A 403 is a missing scope, not a bad key — the key is valid, but it may not call that operation. See Authentication.