Skip to main content
Local admin access only

This REST API is for local control by a client with direct access to the Kerrigan admin interface. Normal cloud controllers cannot access it; use the cloud-control interfaces instead.

Set local maintenance intent

PUT 

/v1/maintenance/:scope/:scope_id

Requires an administrator authenticated by the kerrigan_session cookie. Set persistent intent for global/all, pool/{pool_id}, or device/{target_id}. Returns 202 after saving intent, not after runner operations finish; poll GET on the same path for device reconciliation. Entry blocks new work and SDK pairing, waits for active work, and disables runner services. Exit rediscovers all actions.runner.*.service units and enables and starts them, including previously disabled or newly installed runners; it does not restore prior enabled/disabled state. Devices remain blocked while restoration is pending or failed. Clearing one scope does not clear other applicable scopes. There is no automatic expiry or scheduled start; explicitly send enabled: false to end the window. OTA updates are admitted after affected devices reach the active phase; they remain blocked while maintenance is entering, exiting, or in error. Maintenance is independent of firmware-update job state.

Request​

Responses​

Intent saved. Response contains scope intent, inherited scopes, and current device maintenance states.