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

200The 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"
}