ui_settings
const url = 'https://example.com/v1/ui-settings';const options = {method: 'GET'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://example.com/v1/ui-settingsResponses
Section titled “Responses”UI policy: undo window, primary action side, HTML network access, remote mode/warning, relay pairing, calling device
Read-only UI policy derived from daemon config; never includes secrets.
object
decisions.undo_window in milliseconds (0 = approvals send instantly).
decisions.primary_side: right or left, the edge of decision footers
that holds the primary (approve) action. Apps may override it per device.
previews.html.allow_network.
remote.mode: off, tailscale, or direct.
Direct-mode risk warning; UIs show it as a persistent banner when set.
remote.relay.url is set, so local callers can pair through the relay
(POST /v1/pair {relay: true}). Always false for paired devices.
The calling paired device on the remote listener; null for local callers.
object
view (read-only) or decide (adds decision, cancel and test requests).
Examplegenerated
{ "undo_window_ms": 1, "primary_side": "example", "html_allow_network": true, "remote_mode": "example", "remote_warning": "example", "pair_relay": true, "device": { "id": "example", "name": "example", "scope": "example", "enabled": true, "push": true, "created_at": 1, "last_seen": 1 }}