GET
/api/settings/esphome/runtime
Load the native ESPHome runtime view used by Settings -> ESPHome.
Returns the current Satellites, Settings, and Stats payload so the WebUI can render discovery state, device cards, voice metrics, and runtime controls.
POST
/api/settings/esphome/runtime/action
Run a native ESPHome runtime action from the WebUI.
Handles refresh, connect/disconnect, save/forget satellite actions, live log lifecycle, and direct entity-control actions from the ESPHome settings screen.
GET
/tater-ha/v1/voice/native/status
Inspect current voice-pipeline runtime state and backend availability.
Returns selected speech backends, effective fallback state, model roots, discovery state, selector sessions, and availability of local STT/TTS backends.
WS
/api/openwakeword/stream
Accept live remote openWakeWord audio streams from satellites or the standalone Tater OWW Server contract.
Runs the configured OWW model with threshold, patience, debounce, and stale-frame handling, then sends wake detections back to the device over the same stream.
WS
/api/nanowakeword/stream
Accept live remote NanoWakeWord audio streams from satellites or the standalone Tater NWW Server contract.
Runs the configured NanoWakeWord model with threshold, patience, debounce, per-detector reset handling, and optional diagnostic logging, then sends wake detections back to the device over the same stream.
POST
/api/settings/nanowakeword/trainer-models
Load available NanoWakeWord artifacts from a trainer URL.
Reads /api/artifacts and /api/trained_wake_words/catalog from the NanoWakeWord trainer so operators can pick newly trained models from Settings -> Models.
POST
/api/settings/nanowakeword/download-trainer-model
Download a NanoWakeWord trainer artifact into Tater's local model store.
Downloads the selected artifact into agent_lab/models/nanowakeword/trainer/{model}, saves it as the active model source, and resets NanoWakeWord detectors so a same-name replacement model is loaded on the next stream.
POST
/tater-ha/v1/voice/esphome/entities
Fetch live ESPHome entity rows for one connected satellite.
Returns the live entity snapshot so verbas and operators can inspect sensors, buttons, numbers, switches, lights, wake-engine controls, openWakeWord/NanoWakeWord URL state, and other exposed device entities.
POST
/tater-ha/v1/voice/esphome/entities/command
Command a writable ESPHome entity on one satellite.
Supports button, number, switch, select, text, and light-control actions so device-local flows can act directly on the speaking device.
POST
/tater-ha/v1/voice/esphome/play
Queue direct audio playback on a selected ESPHome satellite.
Used for device-local playback flows such as announcements, generated audio, and other responses that should play on the speaking satellite itself.
GET/POST
/tater-ha/v1/display/feed
Serve compact display sensor data for ESPHome screens.
Returns display-ready slot values, flat readings, text labels, online state, and clock data; firmware profiles can map slots to Environment Core readings instead of hard-coded Home Assistant entity IDs.
GET
/tater-ha/v1/display/events
Poll queued display events for a target screen.
Returns transient notification/display cards after a sequence number, with optional target filtering so one display can receive a specific camera, doorbell, tool-call, voice, status, or alert event.
POST
/tater-ha/v1/display/events
Publish a display event card.
Accepts display event payloads with kind, title, message, image_url, snapshot_id, target, TTL, and optional metadata such as tool phase/status and step counts.
GET
/tater-ha/v1/display/snapshots/{snapshot_id}
Serve Redis-backed awareness snapshots to displays.
Allows ESPHome displays to show camera snapshots that were stored by Awareness Core, using the same display API token rules as the feed and event endpoints.