The Web UI runs on Python’s ThreadingHTTPServer. It serves a small browser app and local API endpoints for chat, tasks, approvals, triggers, Realtime setup, and local voice turns.

Authentication

/api/health is public. Every other API endpoint requires the Web session token when auth is enabled. Token locations:
  • X-Eyra-Web-Token header.
  • token query parameter for event streams and the initial page URL.

GET endpoints

EndpointPurposeAuth
/Browser UIToken in query when auth is required
/api/healthRedacted health and capability summaryNo
/api/eventsServer-sent task eventsYes
/api/tasksActive and recent tasksYes
/api/task/<id>One taskYes
/api/job/<id>/logsDurable job logsYes
/api/job/<id>/artifactsDurable job artifactsYes
/api/triggersTrigger listYes
/api/approvalsPending approvalsYes
/api/capabilitiesRedacted capability snapshotYes
/api/memoryMemory status, compact summary, and instruction file statusYes
/api/route/lastLast route traceYes
/api/connectorsConnector config, manifest snapshots, acceptance states, and privacy summariesYes
/api/connector/<id>One connector snapshotYes

POST endpoints

EndpointPurpose
/api/chatText chat or task request
/api/cancelCancel task
/api/tasks/clear-completedClear terminal tasks
/api/triggerPause, resume, or cancel trigger
/api/approveApprove pending action
/api/rejectReject pending action
/api/memoryRemember, forget, enable, disable, or reload memory
/api/local-voice-turnUpload audio and run local voice turn
/api/local-speakSpeak local text through Local Whisper
/api/realtime-sessionMint OpenAI Realtime ephemeral client secret
/api/realtime-tool-callCall a safe server-side Realtime tool
/api/connector/testRun connector acceptance checks; accepts optional approvalId for a previously approved acceptance run
/api/connector/runStart a connector background job
/api/connector/cancelCancel a running connector job by connector id

Request limits

WEB_UI_MAX_REQUEST_BYTES applies to chat requests, task APIs, connector APIs, and browser audio uploads. /api/local-voice-turn has a hard server-side cap for browser audio.

Redaction

Web payload helpers redact:
  • Token query strings.
  • Key, secret, password, and token-looking values.
  • OpenAI-style API keys.
  • Local home paths.
  • Connector privacy destinations and connector output.
Connector Web responses expose manifest snapshots, acceptance state, capped check output, and redacted policy metadata. They do not return raw connector stdin payloads, raw task text, local filenames from route traces, or unredacted local home paths.

Runtime scope

/api/health reports whether the server is standalone or shared. Shared mode means the Web UI is attached to the terminal-owned runtime. Standalone mode means the Web server owns its own runtime objects.