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.
Authorization
LuxorAPIKey Use your API key here.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
curl -X POST "https://example.com/v2/commander/automation/rules" \ -H "Content-Type: application/json" \ -d '{ "name": "Miner Overheat Alert", "rule_type": "trigger", "site_ids": [ "ab580781-02e2-4a18-ac1b-8fc9be2f4ad4" ], "filter": {}, "actions": [ { "action_type": "Reboot" } ] }'{ "id": "r-a1b2c3d4-e5f6-7890-abcd-ef1234567890", "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"}Get automation rule details
Returns the full definition of an automation rule including filter, condition, schedule, and action configuration.
Update automation rule
Updates an existing automation rule. Accepts any subset of creation fields, and validates action params on the same terms as create. Common use: flip status between enabled/disabled.