All routes live under /api/v1. When authentication is enabled, every route
except /auth/login, /auth/config, /auth/refresh and /prom/write
(ingest-token authenticated) requires a JWT session; write actions additionally
require the Editor or Admin role.
Clusters
| Method | Endpoint | Description |
|---|
| GET | /clusters | List all registered clusters (kubeconfig contexts + agent-connected) |
| POST | /clusters/switch | Switch active cluster |
| POST | /clusters | Register a cluster |
| PUT | /clusters/:context/rename | Rename a cluster (admin) |
| DELETE | /clusters/:context | Remove a cluster (admin) |
| GET | /cluster/overview | Full cluster summary with counts, CPU/memory, health, events, workloads |
| GET | /cluster/health | Health score detail |
| GET | /cluster/permissions | Probed RBAC permissions per resource type |
| GET | /coverage | Data-source coverage for the active cluster |
Resources
| Method | Endpoint | Description |
|---|
| GET | /resources/:type | List with pagination (?limit=50), filtering (?namespace=, ?search=, ?status=) |
| GET | /resources/:type/:ns/:name | Detail with metrics injection |
| GET | /resources/:type/:ns/:name/yaml | Raw YAML (secrets redacted, managedFields stripped) |
| GET | /resources/:type/:ns/:name/describe | kubectl-describe style output |
| GET | /resources/pods/:ns/:name/logs | Pod logs (?container=, ?tailLines=100) |
| GET | /resources/pods/:ns/:name/files | Pod file browser (list, content, download) |
| GET | /resources/:workload/:ns/:name/pods | Pods owned by deployment/statefulset/daemonset/job |
| GET | /resources/:type/:ns/:name/history | Revision history (Deployments via ReplicaSets; StatefulSets/DaemonSets via ControllerRevisions) |
| GET | /resources/cronjobs/:ns/:name/jobs | Job children of a CronJob |
| GET | /search | Global search across resource types |
Actions (Editor/Admin, audited)
| Method | Endpoint | Description |
|---|
| PUT | /resources/:type/:ns/:name/yaml | Apply edited YAML |
| POST | /resources/:type/:ns | Create a resource |
| DELETE | /resources/:type/:ns/:name | Delete a resource |
| POST | /resources/:type/:ns/:name/restart | Rolling restart |
| POST | /resources/:type/:ns/:name/scale | Scale replicas |
| POST | /resources/:type/:ns/:name/rollback | Roll back to a revision |
| POST | /resources/:type/:ns/:name/set-image | Set container image |
| POST | /resources/:type/:ns/:name/set-resources | Set requests/limits |
| POST | /resources/:type/:ns/:name/set-env | Set environment variables |
| POST | /resources/:type/:ns/:name/cordon · /uncordon | Node scheduling toggle |
| POST | /resources/:type/:ns/:name/drain | Drain a node (GET/DELETE the same path track/cancel the session) |
| POST | /resources/:type/:ns/:name/evict | Evict a pod |
| POST | /resources/:type/:ns/:name/rollout-pause · /rollout-resume | Pause/resume a rollout |
| POST | /resources/:type/:ns/:name/suspend · /resume · /trigger | CronJob controls |
Metrics & network
| Method | Endpoint | Description |
|---|
| GET | /metrics/:type/:ns/:name | CPU/memory/network series for a workload, pod, or node |
| GET | /metrics/query | PromQL instant query against the embedded metrics store |
| GET | /metrics/query_range | PromQL range query |
| GET | /flows/edges | Network flow edges (Hubble, when the agent ships flows) |
| GET | /deploys | Recent deploys detected in the range |
| POST | /prom/write | Remote-write ingest (agent/ingest-token authenticated) |
Port-forward
| Method | Endpoint | Description |
|---|
| POST | /portforward | Create a forward (raw TCP listener) |
| GET | /portforward | List active forwards |
| DELETE | /portforward/:id | Stop a forward |
Helm
| Method | Endpoint | Description |
|---|
| GET | /helm/releases | All releases in the cluster |
| GET | /helm/releases/:ns/:name | Release detail (values, manifest, history, dependencies) |
Copilot & account
| Method | Endpoint | Description |
|---|
| POST | /copilot/chat | Kobi chat (SSE stream) |
| POST | /copilot/compact | Compact the conversation |
| GET/PATCH/DELETE | /copilot/conversations[/:id] | Conversation history |
| GET | /account/plan · /account/usage | Plan and usage (where plans apply) |
Integrations
| Method | Endpoint | Description |
|---|
| GET | /integrations | Detected integrations (OpenCost, Hubble, …) |
| POST | /integrations/:id/install | Install via the wizard |
| GET/PUT | /integrations/:id/config | Integration configuration |
| GET | /integrations/agent/install-defaults | Values the Add-Cluster wizard bakes into the helm command |
Admin surfaces (users, teams, API tokens, settings, Copilot usage analytics,
action audit, agents, admin metrics) live under /users, /teams and
/admin/* and require the Admin role.
Real-time
| Method | Endpoint | Description |
|---|
| WS | /ws | WebSocket for real-time updates — see WebSocket Events |
| WS | /ws/exec/:ns/:name | Pod terminal |