Skip to main content

OS endpoints

Minimum role: manager for all /os paths except POST /os/datadisk/wipe, which is explicitly carved out of the manager set and requires admin. GET /os/info is also readable by any role via the info-path rule.

MethodPathRoleDescription
GET/os/infodefaultOS version, board, boot slot info
POST/os/updatemanagerUpdate the OS
GET/os/config/swapmanagerRead swap settings
POST/os/config/swapmanagerChange swap settings
POST/os/config/syncmanagerTrigger OS config reload
POST/os/datadisk/movemanagerMigrate the data disk to another device
GET/os/datadisk/listmanagerList candidate data-disk targets
POST/os/datadisk/wipeadminWipe the data disk
POST/os/boot-slotmanagerSwitch active boot slot and reboot
GET/os/boards/greenmanagerGreen board LED settings
POST/os/boards/greenmanagerChange green board LEDs
GET/os/boards/yellowmanagerYellow board LED settings
POST/os/boards/yellowmanagerChange yellow board LEDs
GET/os/boards/raspberrypi/firmwaremanagerRaspberry Pi firmware state
POST/os/boards/raspberrypi/firmware/updatemanagerTrigger Raspberry Pi firmware update
GET/os/boards/{board}managerEmpty success if {board} is the board in use

GET /os/info

Response data keys: version, version_latest, update_available, board, boot (active slot), data_disk (device ID in use), boot_slots — a map keyed by boot name (A/B) with state, status, and version per slot.

POST /os/update

FieldTypeDefault
versionversion taglatest

GET /os/config/swap

Response data: swap_size, swappiness. Requires an OS version that ships swap settings support; otherwise returns 404.

POST /os/config/swap

FieldTypeDescription
swap_sizestring matching \d+[KMG](i?B)? or \d+BSwap file size
swappinessint 0–200Kernel swappiness

Changing either value creates a reboot-required issue in the resolution center.

POST /os/datadisk/move

FieldTypeRequired
devicestringyes

GET /os/datadisk/list

Response data: devices (list of disk IDs) and disks — objects with name, vendor, model, serial, size, id, dev_path.

POST /os/boot-slot

FieldTypeRequiredValues
boot_slotstringyes"A" or "B"

Board endpoints

GET /os/boards/green returns / POST accepts: activity_led, power_led, system_health_led (booleans).

GET /os/boards/yellow returns / POST accepts: disk_led, heartbeat_led, power_led (booleans). Changing yellow board settings creates a reboot-required issue.

GET /os/boards/raspberrypi/firmware returns: current_version, latest_version, update_available, update_blocked, update_pending, blocked_reason. Requires OS Agent 1.9.0+ and a board exposing firmware management; otherwise 404. POST .../firmware/update takes no body and is rejected while the update is blocked for the current boot device.

GET /os/boards/{board} returns empty data if the named board is in use, otherwise an error.