The admin plane — manage your catalog, keys, and policies
The control plane is the admin API behind the dashboard. It listens on
RELAY_CONTROL_PORT (separate from the inference port) and serves the admin
UI, CRUD for every catalog entity, auth, and operational endpoints.
GET /{plural} listGET /{plural}/{ref} read by slug or id (UUID form prefers id)POST /{plural} create (server stamps id + slug)PUT /{plural}/by-id/{id} updateDELETE /{plural}/by-id/{id} delete
Every write triggers a Postgres NOTIFY; the change propagates to every
pod’s in-memory snapshot within ~1 second. No manual reload needed for
CRUD operations.
A relay key is the inbound bearer your callers use. The server generates
the plaintext via crypto/rand, stores only sha256(plaintext) + a short
display prefix, and returns the plaintext once on create.
POST /auth/login username + password → session cookiePOST /auth/logout destroy sessionGET /auth/whoami return the authenticated callerPOST /master-key/generate mint a candidate RELAY_MASTER_KEYPOST /reload force full snapshot rebuild from PostgresGET /version build version (public)GET /openapi.json generated typed spec
/reload is a manual fallback; normal CRUD writes propagate automatically
via NOTIFY.