WebUI Runbook Endpoints
Private Stack Exposure
Remote benchmark workers must reach the Metrum Insights control plane over a
public URL. When you run a private or local stack, expose PostgREST before
launch and use the public HTTPS URL for METRUM_PUBLIC_API_URL,
INSIGHTS_API_URL, and INSIGHTS_CONTROL_PLANE_URL:
cloudflared tunnel --url http://localhost:${POSTGREST_PORT:-3000}
export METRUM_PUBLIC_API_URL="https://<cloudflared-host>.trycloudflare.com"
export INSIGHTS_API_URL="$METRUM_PUBLIC_API_URL"
export INSIGHTS_CONTROL_PLANE_URL="$METRUM_PUBLIC_API_URL"
curl -fsS "$METRUM_PUBLIC_API_URL/" >/dev/null
Do not give a remote worker localhost, 127.0.0.1, host.docker.internal,
or a private-only DNS name. Keep the tunnel alive through onboarding, polling,
result upload, and teardown; expose any private package/WebUI endpoint through
a public URL too when the worker downloads artifacts from that stack.
These endpoints sit in front of the control plane for browser, report, and worker-bootstrap workflows. They should be documented with authentication, expected caller, and response examples.
Cloud Onboarding
POST /api/cloud/onboard: managed provider onboarding used for disposable Shadeform and RunPod benchmark workers.GET /api/scripts/worker-startup.sh: startup script fetched by cloud workers during managed onboarding.GET /api/packages/:filename: static worker/runtime artifact download path.
Reports
POST /api/ai-eval: AI-assisted run report text for a benchmark run.GET /api/benchmark-report/:runId: benchmark run HTML report.GET /api/benchmark-report/:runId?ai=1: benchmark run HTML report with AI assistance.GET /api/run-report/:runId: benchmark run spreadsheet export.GET /api/project-report/:projectId: project-level HTML report.GET /api/project-report/:projectId?ai=1: project-level HTML report with AI assistance.GET /api/project-run-report/:projectId: project-level spreadsheet export.GET /api/deterministic-benchmark-report/:runId: deterministic benchmark report.GET /api/deterministic-benchmark-report/:runId/pdf: deterministic benchmark report PDF.GET /api/project-deterministic-benchmark-report/:projectId: deterministic project report.GET /api/project-deterministic-benchmark-report/:projectId/pdf: deterministic project report PDF.
Job Artifacts
GET /api/jobs/:jobId/sut.csv: system-under-test CSV for a job.GET /api/jobs/:jobId/logs.txt: combined framework and tool logs for a job.
Hardware Sizer
GET /api/sizer/status: Sizer configuration and workspace enablement status.GET /api/sizer/health: diagnostic readiness check when an enabled Sizer appears unavailable.GET /api/sizer/gpu-skus: catalog GPU SKUs available for sizing requests.POST /api/sizer/solve: structured solve request for sizing recommendations or scalar targets.POST /api/sizer/agent: natural-language sizer agent request.
Health And Runtime
GET /api/health: WebUI health check.GET /api/version: WebUI build/runtime version.
Do not add WebUI endpoints to this section just because they exist. Add them when a supported runbook calls them.