Browse the docs

GET /not-fired

Returns events that matched a trigger but did not start a macro, with the reason for each candidate.

Details #

curl -s -H "Authorization: Bearer $TOKEN" "http://127.0.0.1:48080/not-fired?since=2h"
[
  {
    "at": "2026-10-24T09:14:02Z",
    "trigger": "hotkey",
    "event": { "app": "com.apple.Safari" },
    "candidates": [
      { "macroId": "m_4f2a9c", "reason": "scope" },
      { "macroId": "m_77d0e1", "reason": "conditionFalse", "which": "frontApp", "values": { "app": "com.apple.Safari" } }
    ]
  }
]

reason is one of groupOff, scope, conflict, secureInput, conditionFalse, paused or disabled. For conditionFalse, which names the condition and values holds what it compared.

Parameters #

curl --unix-socket "$SWITCHBOARD_HOME/engine.sock" -X GET http://localhost/not-fired

Why events did not fire anything. The Unix socket needs no token; loopback 127.0.0.1:48080 needs Authorization: Bearer <api-token>.

Gotchas #

  • An unreadable since returns 400 with since must be like 10m, 2h, a number or an ISO date.

  • Over loopback every request needs Authorization: Bearer <token>; see GET /macros.

See also #