Some checks failed
Master CI / yarn_install_and_build (push) Has been cancelled
- Complete Unraid WebGUI inventory (~100 pages documented) - Unraid GraphQL API research and documentation - Homarr architecture documentation - Orchis GTK theme design tokens (TypeScript) - Project README with implementation plan Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
3.6 KiB
3.6 KiB
Unraid API Research (Live from XTRM-Unraid v7.2.3)
API: unraid-api v4.29.2 (NestJS + Apollo GraphQL)
Connection
- HTTP:
http://192.168.10.20/graphql - WebSocket:
ws://192.168.10.20/graphql(graphql-ws protocol) - Unix socket:
/var/run/unraid-api.sock - Auth:
x-api-keyheader
GraphQL Queries
| Query | Description |
|---|---|
info |
System info (cpu, memory, os, baseboard, devices, display, versions) |
array |
Array state, capacity, disks, parities, caches, parity check status |
disks / disk(id) |
Physical disks with SMART status, temp, serial |
docker |
Containers (id, names, state, status, image, ports, autoStart) + networks |
vms |
VMs (id, name, state) |
shares |
Shares (name, free, used, size, include, exclude, cache, color) |
notifications |
Notifications (title, subject, description, importance, type, timestamp) |
vars |
Server variables (version, name, timezone, network, SMB/NFS settings) |
services |
Running services (name, online, uptime, version) |
flash |
Flash drive (guid, vendor, product) |
registration |
License (type, state, keyFile, expiration) |
network |
Network info (accessUrls) |
server |
Server details (owner, guid, wanip, lanip, localurl, remoteurl) |
connect |
Connect status (dynamicRemoteAccess, settings) |
plugins |
Installed plugins (name, version) |
logFiles / logFile(path) |
Log file listing and content |
upsDevices / upsConfiguration |
UPS monitoring |
apiKeys |
API key management |
customization |
Theme + activation code |
me / owner |
Current user / server owner |
GraphQL Mutations
| Mutation | Description |
|---|---|
array.setState |
Start/stop array |
array.addDiskToArray / removeDiskFromArray |
Disk management |
array.mountArrayDisk / unmountArrayDisk |
Mount/unmount |
docker.start(id) / docker.stop(id) |
Container start/stop |
vm.start/stop/pause/resume/forceStop/reboot/reset(id) |
VM power management |
parityCheck.start/pause/resume/cancel |
Parity check control |
notification.create/delete/archive/unread |
Notification CRUD |
apiKey.create/update/delete |
API key management |
customization.setTheme |
Theme switching |
connectSignIn/SignOut |
Unraid Connect |
setupRemoteAccess |
Remote access config |
GraphQL Subscriptions (Real-time)
systemMetricsCpu/systemMetricsCpuTelemetry/systemMetricsMemoryarraySubscription/parityHistorySubscriptionnotificationAdded/notificationsOverviewlogFile(live log streaming)upsUpdatesownerSubscription/serversSubscription
Enums
- ArrayState: STARTED, STOPPED, NEW_ARRAY, RECON_DISK, DISABLE_DISK, etc.
- ArrayDiskStatus: DISK_NP, DISK_OK, DISK_INVALID, DISK_WRONG, DISK_DSBL, etc.
- ArrayDiskType: DATA, PARITY, FLASH, CACHE
- ContainerState: RUNNING, EXITED
- VmState: NOSTATE, RUNNING, IDLE, PAUSED, SHUTDOWN, SHUTOFF, CRASHED, PMSUSPENDED
- DiskFsType: XFS, BTRFS, VFAT, ZFS, EXT4, NTFS
- DiskInterfaceType: SAS, SATA, USB, PCIE, UNKNOWN
- ThemeName: azure, black, gray, white
Legacy PHP/Nchan Endpoints
- Nchan WebSocket channels:
/sub/var,/sub/docker,/sub/update1-3,/sub/diskload, etc. - PHP includes: DashboardApps.php, Control.php, SmartInfo.php, Syslog.php, etc.
- State INI files at
/var/local/emhttp/: var.ini, disks.ini, shares.ini, etc. - Legacy control: POST to
/update.htmfor commands
NOT Available via GraphQL
- Docker create/delete/restart/logs
- VM create/delete
- Share CRUD, User CRUD
- Detailed SMART attributes
- Disk format/clear, spin up/down
- System reboot/shutdown
- Mover operations