API Reference · Control Plane
Update one signal rule
Change what happens when the signal fires: `report` (activity + the resource's alert channel), `dispatch` (hand it to the AI master — falls back to report when no AI is connected; not valid for `drift`), or `converge` (drift only — re-apply the machine's recorded state). `hold` additionally parks agent-initiated runs on the resource until released. Owner-only — the workspace agent identity is refused.
PUT/v1/tenants/{name}/master/rules/{event}
Authorization
x-api-keystringrequired
Your per-workspace API key, e.g. llc_AbC123…. Also accepted as Authorization: Bearer <key>. Mint keys on your workspace's API keys page — each key belongs to one workspace.
Path parameters
namestringrequired
Workspace (tenant) name.
eventenumrequired
One of: drift · alert · build_failed · deploy_unhealthy.
Body
actionenumoptional
One of: report · dispatch · converge.
holdbooleanoptional
enabledbooleanoptional
Response
200 — The updated rule.
eventenum
One of: drift · alert · build_failed · deploy_unhealthy.
actionenum
One of: report · dispatch · converge.
holdboolean
Also park agent-initiated runs on the resource.
enabledboolean
labelstring
descstring
needsAIboolean
True when the action is `dispatch` \u2014 it degrades to `report` without a connected AI.
lastFiredstring · date-time
lastActionstring
What actually happened last time (e.g. "reported (no AI)").
curl -X PUT https://api.live-llm.com/v1/tenants/acme/master/rules/event \
-H "x-api-key: $LIVELLM_KEY" \
-H "Content-Type: application/json" \
-d '{
"action": "report",
"hold": false,
"enabled": false
}'Try itPUThttps://api.live-llm.com/v1/tenants/{name}/master/rules/{event}
Fill required path params: name, event.
Example response200
{
"event": "drift",
"action": "report",
"hold": true,
"enabled": true,
"label": "machine drifted",
"lastFired": "2026-08-13T09:00:00Z",
"lastAction": "reported \\u00b7 agent runs held"
}