DOCS / DASHBOARD / FEATURES

Features

Overview (/)

30-day totals — requests, tokens, estimated spend — computed from the usage summary endpoint, plus provider health badges (green/closed, amber/half-open, red/open) from the providers endpoint.

Applications (/applications)

A table of every application: name, status (derived from disabledAt), monthly quota, routing strategy. A "New application" modal creates one with just a name — see Applications for what happens next.

Application detail (/applications/{id})

Three tabs:

  • Settings — monthly quota, rate limit, an allowed-models multi-select (populated from the live registry), routing strategy, and a disable switch. Saves via PATCH /management/v1/applications/{id}.
  • API keys — create issues a new key and reveals the raw secret exactly once in an alert banner (it cannot be shown again — see API Keys); the table lists existing keys by prefix with a revoke action per row.
  • Usage — a 30-day usage table scoped to this application.

Providers (/providers)

One card per provider: circuit state badge and a per-model average latency list. Read-only — this is Provider Health rendered, not a control surface (there's no "manually open/close a circuit" action).

Requests (/requests)

A table of recent request log entries across every application, filterable by status (all / success / error). Status cells show either the HTTP status or the error_code. Backed by the request log endpoint.

How data loading works

Every page reads through Pinia Colada queries (app/queries/*.ts) keyed hierarchically (e.g. ['applications', id, 'usage', { days }]), which call the dashboard's own server/api/* routes — thin proxies that attach the management key server-side and forward to the gateway (gatewayFetch). Writes go through matching mutations (app/mutations/*.ts) that invalidate the affected query keys on completion, so, for example, revoking a key immediately refreshes that application's key list without a manual page reload.

LATTICE — INTERNAL AI INFRASTRUCTURE
GITHUB © 2026