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

# Endpoint groups

> A map of the six route groups, plus where to find the raw OpenAPI spec and interactive docs.

The API is organised into six groups. This page is the map; the per-endpoint reference in the
*Endpoints* section of this tab is the territory.

| Group             | Prefix               | What it does                                                                                |
| ----------------- | -------------------- | ------------------------------------------------------------------------------------------- |
| **Auth**          | `/api/auth`          | `me`, consent, and the browser-only register / login / verification flows                   |
| **API keys**      | `/api/keys`          | Create, list, and revoke personal access tokens (session-authenticated)                     |
| **Query**         | `/api/query`         | Feed a user message to the agent and stream its steps back as Server-Sent Events            |
| **Conversations** | `/api/conversations` | List conversations, fetch the trajectory **graph**, and **branch** at a turn                |
| **Workspace**     | `/api/workspace`     | CRUD on the shared workspace: objective, document, todos, preferences, artifacts, snapshots |
| **Feedback**      | `/api/feedback`      | Upsert or toggle one per-turn feedback row, and read your feedback for a thread             |

<Note>
  Exact request and response fields for each route are in the **Endpoints** reference, generated
  from the OpenAPI spec. Treat that as the source of truth. Admin routes are deliberately not
  published: they are not part of the contract offered to API consumers.
</Note>

## Spec and interactive docs

The raw spec and FastAPI's own interactive docs are served from the same host:

| What                            | URL                                 |
| ------------------------------- | ----------------------------------- |
| OpenAPI spec (JSON)             | `https://haico.gr/api/openapi.json` |
| Swagger UI                      | `https://haico.gr/api/docs`         |
| ReDoc                           | `https://haico.gr/api/redoc`        |
| Health probe (no `/api` prefix) | `https://haico.gr/health`           |

<Note>
  In the OpenAPI spec, the `servers` entries are the **host roots** (`https://haico.gr`) because
  every path already carries the `/api` prefix. That is why the playground targets the host root
  while the base URL table shows the prefix included.
</Note>
