Skip to content

Admin UI API Contract

The Admin UI at office.growing-europe.com exposes three API tiers. This page documents the surface.

AUTHORITATIVE SOURCE: The Admin UI codebase (Next.js app in ge-system namespace). This wiki page is documentation, not the source of truth. If endpoints have changed, update this page.

Tier 1: Public APIs (no auth required -- used by agents and internal services)

Endpoint Methods Purpose
/api/discussions GET, POST List/create discussions
/api/discussions/{id} GET Get discussion details
/api/discussions/{id}/messages GET, POST List/add messages
/api/discussions/{id}/proposals GET, POST List/submit proposals
/api/discussions/{id}/vote POST Vote on proposal
/api/discussions/{id}/escalate POST Escalate to human
/api/discussions/{id}/decide POST Human decision
/api/agent-tasks GET, POST List/create agent tasks
/api/agent-tasks/approve POST Approve a task plan
/api/authority GET, POST Authority decisions
/api/authority/halt GET, POST, DELETE HALT flag management
/api/authority/check POST Check authority status
/api/system/health GET Health check
/api/system/sync-completions POST Sync COMP files to DB
/api/system/sync-notifications POST Sync notifications to DB

Tier 2: Internal APIs (token-authenticated -- executor -> admin-ui)

Endpoint Methods Purpose
/api/internal/agents/{id} GET Get agent config (provider, model)
/api/internal/consumption/llm POST Record token consumption
/api/internal/budget/check POST Pre-execution budget check
/api/internal/budget/status GET Current budget status
/api/internal/discussions GET, POST Internal discussion access
/api/internal/discussions/{id}/notify-decided POST Notify agents of decision

Tier 3: Authenticated APIs (WebAuthn session -- human via browser)

Endpoint Methods Purpose
/api/agents GET List all agents
/api/agents/{id}/chat GET, POST Chat with agent
/api/agents/{id}/identity GET View agent identity
/api/agents/{id}/provider PATCH Change agent LLM provider
/api/billing GET, POST Billing management
/api/billing/consumption GET Token consumption reports
/api/billing/budgets GET Budget status
/api/billing/overview GET Billing dashboard data
/api/clients GET, POST Client management
/api/projects GET, POST Project management
/api/tasks GET, POST Task management
/api/inbox GET, POST Inbox management
/api/queue GET, POST Queue management
/api/knowledge GET Knowledge patterns
/api/audit GET Audit log
/api/sse GET Server-sent events (real-time updates)
/api/auth/challenge GET WebAuthn challenge
/api/auth/verify POST WebAuthn verification
/api/auth/logout POST Logout

Known DNS Issue

DNS from executor pods to admin-ui is unreliable. Agents trying to curl the discussion API may fail with "Could not resolve host." Workaround: host cron + scripts/k8s-health-dump.sh -> public/k8s-health.json.