Skip to content

Web API

The WebUI uses internal HTTP and SSE endpoints. They are part of the local dashboard contract and require authentication unless explicitly used during first-run setup or login.

Authentication and profile

Endpoint groupPurpose
/api/auth/meCurrent authenticated user
/api/dashboard/logoutLogout
/api/profileProfile data and preferences
/api/profile/passwordChange password
/api/profile/logout-other-sessionsRevoke other sessions
/api/profile/mfa/totp/*Setup, enable, disable, and recover authenticator MFA
/api/profile/webauthn/*Register or remove passkeys
/api/profile/api-tokensCreate and revoke scoped API tokens
/api/profile/sessions/:idRevoke an own web session

Browser sessions use the nr_session cookie plus CSRF tokens for mutations. Automation can use scoped Bearer API tokens created from the profile menu; token calls still go through the normal permission and scope checks.

Dashboard and runtime

Endpoint groupPurpose
/api/bootstrapInitial WebUI bootstrap data
/api/healthConnector health
/api/snapshotDashboard snapshot
/api/active-sessionsActive local and peer sessions
/api/tasksQueue and task data
/api/progressRuntime progress stream/data
/api/metricsCurrent metrics
/api/metrics/historyMetrics history
/api/metrics/observabilityPoller, cache, peer roundtrip, and SSE diagnostics
/api/jobsUnified jobs
/api/traceTrace timeline

Sessions and prompts

Endpoint groupPurpose
/api/sessionsSession listing and details
/api/promptSubmit prompts
/api/prompt/uploadUpload attachments
/api/abortAbort active work
/api/stopStop active work
/api/retryRetry prompt/message
/api/syncSync selected session state
/api/chat/historyWebUI chat history
/api/chat/mirrorMirror settings

Administration

Endpoint groupPurpose
/api/usersUser management
/api/groupsGroup management
/api/telegram-chatsRegistered Telegram chats
/api/discord-channelsRegistered Discord channels
/api/slack-channelsRegistered Slack channels
/api/matrix-roomsRegistered Matrix rooms
/api/auditAudit events
/api/locksUser lock state
/api/settingsRuntime settings
/api/doctorDoctor checks
/api/diagnosticsDiagnostics and support bundles

Operations

Endpoint groupPurpose
/api/versionNordRelay and agent versions
/api/updateNordRelay update
/api/agent-updatesAgent update jobs
/api/adapters/healthAdapter health
/api/adapters/conformanceAdapter conformance
/api/logsLogs
/api/artifactsArtifact listing and actions
/api/projectsProject records, linked sessions, summaries, plans, and analysis jobs
/api/workflowsWorkflow and template management
/api/workflow-triggers/:token/runToken-authenticated workflow trigger webhook
/api/peersPeer management and proxying

Runtime contract coverage

The docs check verifies that every namespace below exists in the generated WebUI route contract:

NamespaceArea
/api/abort/*Prompt abort alias
/api/active-sessions/*Active local and peer sessions
/api/activity/*Session activity
/api/adapters/*Adapter health and conformance
/api/agent/*Selected agent
/api/agent-update/*Agent update job detail
/api/agent-updates/*Agent update jobs
/api/approvals/*Runtime approval responses
/api/artifacts/*Artifact management
/api/audit/*Audit events
/api/auth/*Authentication
/api/bootstrap/*WebUI bootstrap
/api/chat/*WebUI chat state
/api/control-options/*Control dropdown data
/api/dashboard/*Dashboard session lifecycle
/api/diagnostics/*Diagnostics and support bundles
/api/discord-channels/*Discord channel access
/api/doctor/*Doctor checks and fixes
/api/groups/*User groups
/api/handback/*Session handback
/api/health/*Health
/api/jobs/*Unified jobs
/api/locks/*Locks
/api/logs/*Logs
/api/matrix-rooms/*Matrix room access
/api/metrics/*Metrics and observability
/api/models/*Agent model choices
/api/peers/*Peer management, proxying, relay, and debugging
/api/permissions/*Permission metadata
/api/plugins/*Plugins, marketplace, panels, jobs, and commands
/api/profile/*Profile, MFA, passkeys, tokens, and sessions
/api/progress/*Runtime progress
/api/projects/*Projects, linked sessions, summaries, plans, and analysis jobs
/api/prompt/*Prompt submission and uploads
/api/queue/*Runtime and planned queues
/api/retry/*Prompt retry
/api/runtime/*Runtime control
/api/session/*Session settings
/api/sessions/*Session listing, details, names, attach, and worktrees
/api/settings/*Settings and setup wizard
/api/slack-channels/*Slack channel access
/api/snapshot/*Dashboard snapshot
/api/stop/*Prompt stop alias
/api/sync/*Session sync
/api/tasks/*Tasks
/api/telegram-chats/*Telegram chat access
/api/templates/*Workflow templates
/api/trace/*Trace timeline
/api/update/*NordRelay update
/api/users/*Users and linked identities
/api/version/*Version checks
/api/workflow-runs/*Workflow run lifecycle
/api/workflow-triggers/*Token-authenticated workflow triggers
/api/workflows/*Workflows, versions, triggers, and runs

Use the generated route and type files in src/web/ when integrating with the internal WebUI contract.

Released under the MIT License.