Public beta scope: AD workflows have real-system path validation, but NOBA is still under active verification. Treat compliance evidence and self-healing claims as evaluation surfaces unless the source and configured state are shown. Read validation boundaries.

API Reference

Complete REST API reference for NOBA Command Center.

Base URL

http://<host>:<port> (default port 8080)

Authentication

All endpoints except /api/health and /api/login require a valid session token.

Tokens are valid for 24 hours and expire automatically. A cleanup job runs every 5 minutes to purge expired tokens.

Roles

RoleAccess
viewerRead-only: stats, history, logs, dashboards
operatorViewer + service control, automations, agent commands, approvals
adminFull access: settings, user management, system update, audit log

Interactive Docs

When enabled (NOBA_OPENAPI=1), Swagger UI is available at /api/docs and ReDoc at /api/redoc. These cover 490+ endpoints across 57 routers with request/response schemas.

Core Endpoints

MethodEndpointAuthDescription
GET/api/healthNoneHealth check with version and uptime
GET/api/meReadCurrent user info and permissions
GET/api/statsReadLive system metrics snapshot
GET/api/streamSSEServer-Sent Events metrics stream
GET/api/history/{metric}ReadTime-series history for a metric
GET/api/alert-rulesReadList configured alert rules
GET/api/notificationsReadUser notifications with unread count
POST/api/loginNoneAuthenticate and get session token
POST/api/logoutNoneRevoke current session token

Key Endpoint Groups

RouterEndpointsAuthDescription
agents.py25+Read/AdminAgent report, commands, file transfer, deploy, capabilities
integrations.py100+Read/Admin50+ integration endpoints: Proxmox, Docker, K8s, Pi-hole, etc.
automations.py30+Operator/AdminAutomations CRUD, jobs, webhooks, maintenance windows, approvals
healing.py20+Operator/AdminHeal ledger, trust levels, chaos testing, dry-run, rollback
security.py15+Read/AdminSecurity scan, findings, posture, baseline drift
admin_core.py30+AdminSettings, audit log, backup, plugins, runbooks, reports
enterprise_core.py25+AdminSAML, SCIM, WebAuthn, database status, compliance
enterprise_governance.py20+AdminRBAC, freeze, vault, password policy, retention

Rate Limiting

Per-IP and per-user rate limiting with automatic lockout. Login endpoint: 5 attempts per 5-minute window. Lockout duration: 30 minutes (configurable).

Error Codes

CodeMeaning
400Bad request — invalid parameters or configuration
401Unauthorized — missing or invalid session token
403Forbidden — insufficient role/permissions
404Not found — resource does not exist
409Conflict — resource already exists or state conflict
422Validation error — request body failed schema validation
429Too many requests — rate limit exceeded
500Internal server error — generic error handler (details never exposed)