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

# API Reference

> Hill90 REST API endpoint documentation.

# API Reference

The Hill90 API provides endpoints for agent management, chat, knowledge, model configuration, and platform operations.

## Base URL

```
https://api.hill90.com
```

## Authentication

Most endpoints require a valid JWT bearer token issued by Keycloak:

```
Authorization: Bearer YOUR_JWT_TOKEN
```

See [Authentication](/getting-started/authentication) for details on obtaining tokens. Health endpoints (`/health`, `/health/detailed`) are public.

## Endpoint Groups

<CardGroup cols={2}>
  <Card title="Agents" icon="robot" href="/api-reference/overview#agents">
    Create, configure, start, stop agents. Manage skills, webhooks, and runtime.
  </Card>

  <Card title="Chat" icon="comments" href="/api-reference/overview#chat">
    Create threads, send messages, stream responses, browser control.
  </Card>

  <Card title="Knowledge" icon="book-open" href="/api-reference/knowledge">
    Agent memory (AKM), shared knowledge library, hybrid search with pgvector.
  </Card>

  <Card title="Models & Policies" icon="sliders" href="/api-reference/overview#models">
    Provider connections, user models, model policies, usage tracking.
  </Card>
</CardGroup>

***

### Agents

Agent lifecycle management — CRUD, start/stop, status, logs, skills, webhooks.

| Method   | Endpoint              | Description             |
| -------- | --------------------- | ----------------------- |
| `GET`    | `/agents`             | List agents             |
| `POST`   | `/agents`             | Create agent            |
| `GET`    | `/agents/{id}`        | Get agent detail        |
| `PUT`    | `/agents/{id}`        | Update agent            |
| `DELETE` | `/agents/{id}`        | Delete agent (admin)    |
| `POST`   | `/agents/{id}/start`  | Start container (admin) |
| `POST`   | `/agents/{id}/stop`   | Stop container (admin)  |
| `GET`    | `/agents/{id}/status` | Get runtime status      |
| `GET`    | `/agents/{id}/logs`   | Stream logs (admin)     |

### Chat

Real-time chat with agents — threads, messages, SSE streaming, browser control.

| Method | Endpoint                              | Description         |
| ------ | ------------------------------------- | ------------------- |
| `GET`  | `/chat/threads`                       | List threads        |
| `POST` | `/chat/threads`                       | Create thread       |
| `POST` | `/chat/threads/{id}/messages`         | Send message        |
| `GET`  | `/chat/threads/{id}/stream`           | SSE response stream |
| `GET`  | `/chat/threads/{id}/screenshot`       | Browser screenshot  |
| `POST` | `/chat/threads/{id}/browser-click`    | Click in browser    |
| `POST` | `/chat/threads/{id}/browser-navigate` | Navigate browser    |
| `POST` | `/chat/threads/{id}/browser-element`  | Get element info    |
| `POST` | `/chat/threads/{id}/browser-scroll`   | Scroll browser      |
| `POST` | `/chat/threads/{id}/browser-type`     | Type in browser     |

### Models

Provider connections, user models, and model policies for BYOK inference.

| Method     | Endpoint                              | Description                |
| ---------- | ------------------------------------- | -------------------------- |
| `GET/POST` | `/provider-connections`               | Manage API key connections |
| `POST`     | `/provider-connections/{id}/validate` | Test provider key          |
| `GET/POST` | `/user-models`                        | Manage models              |
| `GET/POST` | `/model-policies`                     | Manage access policies     |
| `GET`      | `/usage`                              | Query usage statistics     |

<Tip>
  Model names are resolved through a chain: **requested model** → **alias resolution** → **BYOK provider model**. See the [OpenAPI spec](/openapi.yaml) for full schema details.
</Tip>

## Auto-Generated Pages

The individual endpoint pages below are auto-generated from the [OpenAPI specification](/openapi.yaml) with request/response schemas and example payloads.
