Get automation rule details
Returns the full definition of an automation rule including filter, condition, schedule, and action configuration.
Authorization
LuxorAPIKey Use your API key here.
In: header
Path Parameters
Rule ID
Response Body
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v2/commander/automation/rules/r-a1b2c3d4-e5f6-7890-abcd-ef1234567890"{ "id": "r-a1b2c3d4-e5f6-7890-abcd-ef1234567890", "name": "Miner Overheat Alert", "rule_type": "trigger", "status": "enabled", "site_ids": [ "ab580781-02e2-4a18-ac1b-8fc9be2f4ad4" ], "frequency": "every_15_min", "filter": { "apply_to_all": true, "combinator": "AND", "groups": [ { "combinator": "AND", "conditions": [ { "field": "site_id", "operator": "eq", "value": "string" } ] } ] }, "condition": { "type": "metric", "metric": "site_id", "operator": ">", "value": "string" }, "schedule": { "cron": "0 19 * * *", "timezone": "UTC" }, "actions": [ { "action_type": "Reboot", "params": {} } ], "stop_condition": { "max_executions": 0, "period_minutes": 0 }, "last_triggered_at": "2026-04-13T18:22:00Z", "times_triggered": 4, "created_at": "2026-01-10T14:30:00Z", "url": "/v2/commander/automation/rules/r-a1b2c3d4-e5f6-7890-abcd-ef1234567890"}{ "statusCode": 400, "code": "FST_ERR_VALIDATION", "error": "Bad Request", "message": "body/end_date Required"}{ "statusCode": 403, "code": "7", "error": "Forbidden", "message": "[permission_denied] site_id does not belong to this workspace"}{ "statusCode": 404, "code": "5", "error": "Not Found", "message": "[not_found] agent not found"}Get automation rules
Returns a paginated list of automation rules (triggers and schedules) with optional filtering by site, rule type, and status.
Create automation rule
Creates a new automation rule. Set rule_type to 'trigger' for condition-based rules or 'schedule' for time-based rules. Each action's params object is action-specific JSON; for 'Change Temperature Control' it accepts the ATM bucket (enabled, startupMinutes, postRampMinutes, minimumProfile, maximumProfile, temperatureBuffer) plus the watt floor minimumPower (0 to remove an existing floor, otherwise a whole number of watts from 500 to 8000; the snake_case spelling minimum_power is rejected here), plus chip and water-inlet thresholds (e.g. chipHotTemperature, chipTargetTemperature, chipDangerousTemperature, waterInletHotTemperature, waterInletStartupTemperature, waterInletDangerousTemperature). For 'Change Mining Profile' it accepts settings: a non-empty array of per-firmware entries, each keyed by firmware. luxos takes powerTarget (whole watts from 500 to 8000) and optionally the AutoTuner band powerLimit and powerMin in the same range, ordered powerMin <= powerTarget <= powerLimit; powerMin accepts 0 to remove an existing floor. The band is LuxOS-only and requires a recent LuxOS build — older firmware rejects the whole power-target command. antminer and whatsminer take profileStep only; avalon is rejected, as Avalon firmware does not support power changes; fluxos takes exactly one of powerTarget or profileStep. Unknown keys are rejected per entry, including snake_case spellings such as power_limit and power_min.