GET /state
Returns the engine's version, pause state, listeners, permissions, trigger sources, library counts and live runs.
Details #
A cheap health check. If this answers, the engine is up.
curl -s -H "Authorization: Bearer $TOKEN" http://127.0.0.1:48080/state
{
"engine": { "version": "0.1.0", "pid": 4121, "startedAt": "2026-10-24T08:00:00Z", "paused": false, "pausedUntil": null },
"listeners": { "socket": "listening", "http": "listening 127.0.0.1:48080" },
"secureInput": false,
"permissions": { "accessibility": "unknown", "inputMonitoring": "unknown", "screenRecording": "unknown" },
"library": { "macros": 24, "groups": 5, "issues": 0 },
"runs": { "live": 0, "queued": 0 },
"triggers": { "sources": {}, "count": 9 }
}
Parameters #
curl --unix-socket "$SWITCHBOARD_HOME/engine.sock" -X GET http://localhost/state
The engine's state: permissions, secure input, pause. The Unix socket needs no token; loopback 127.0.0.1:48080 needs Authorization: Bearer <api-token>.
Gotchas #
The
permissionsvalues areunknownuntil the app reports them.Over loopback every request needs
Authorization: Bearer <token>; see GET /macros.