Skip to content

API endpoints

MethodPathDescription
GET/api/healthLiveness (ok, app, version)
GET/api/versionInstalled version + update source
GET/api/accountStructured registration / devices
GET/api/snapshotAggregated warp-cli reads (see keys below)
GET/api/configEffective layered config + sources
POST/api/config/sessionSession overrides (until daemon restart)
POST/api/config/tray-autostartTray autostart preference
POST/api/config/webuiPersist Web UI enablement (restart required)
POST/api/config/serverPersist HTTP port/bind (restart required)
POST/api/config/uiPersist UI preferences (notifications)
GET/api/killswitchKill switch desired/active state
POST/api/killswitchEnable/disable kill switch
POST/api/killswitch/enrollment-pausePause KS during enrollment
GET/api/update/checkCheck for client updates
GET/api/update/releasesList releases for source
GET/api/update/forksFork list for update source UI
POST/api/update/sourceSet update GitHub source
POST/api/update/prepareStage update download
POST/api/update/applyApply staged update (AppImage)
GET/api/eventsSSE stream of warp-cli live output
GET/api/logsIn-memory command log (?since=timestamp)
GET/api/appsDesktop apps for proxy launcher
POST/api/apps/proxy-launcherCreate .desktop proxy shortcut
POST/api/actionWhitelisted warp-cli mutation

Snapshot command keys

The commands object in /api/snapshot includes keys from COMMANDS in server.js, for example:

status, settings, registration, organization, devices, stats, tunnelStats, dnsStats, splitTunnelDump, splitTunnelIps, splitTunnelHosts, targets, vnet, mdm, override, localNetworkOverride, trustedSsids, posture, network, certs, and more.

Each value is { ok, command, code, stdout, stderr, durationMs } with redacted secrets.

Static UI

When webui.enabled is true, non-API paths serve public/ (SPA fallback to index.html).

When disabled, non-API routes return 503 with a plain-text explanation.

Unofficial client — not affiliated with Cloudflare.