Virtualisation

Proxmox VE and Proxmox Backup Server hosts, their guests and backup coverage, and links between a PVE host and the PBS that backs it up.

MethodPathSummary
GET/v2/app/rmm/hypervisor-hostsTenant-wide list of devices flagged as Proxmox/PBS hosts, for the link picker on a device's Hypervisor tab and the site Backups tab
GET/v2/app/rmm/hypervisor-linksList PVE ↔ PBS links
POST/v2/app/rmm/hypervisor-linksLink a PVE host to its backup server
DELETE/v2/app/rmm/hypervisor-links/:idRemove a PVE ↔ PBS link
GET/v2/app/rmm/virtualisationEverything RMM2's Virtualisation view needs in one call: each Proxmox host with its live guests (status, CPU, RAM from the agent's inventory) and each guest'…

#Tenant-wide list of devices flagged as Proxmox/PBS hosts, for the link picker on a device's Hypervisor tab and the site Backups tab

GET/v2/app/rmm/hypervisor-hosts

Tenant-wide list of devices flagged as Proxmox/PBS hosts, for the link picker on a device's Hypervisor tab and the site Backups tab. Deliberately cross-site (see note above).

Address
https://<your-org>.brambleit.cloud/api/v2/app/rmm/hypervisor-hosts
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: RMM.

Response 200

FieldTypeDescription
proxmoxarray of any
pbsarray of any
Example response
JSON
{
  "proxmox": [],
  "pbs": []
}

Errors

StatusMessage
404User not found

Example request

Bash
curl -X GET 'https://<your-org>.brambleit.cloud/api/v2/app/rmm/hypervisor-hosts' \
  -H "X-API-Key: $BRAMBLE_KEY"

#Link a PVE host to its backup server

POST/v2/app/rmm/hypervisor-links
Address
https://<your-org>.brambleit.cloud/api/v2/app/rmm/hypervisor-links
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: RMM.

Request body JSON

NameTypeDescription
proxmox_device_idrequiredintegerThe Proxmox VE host's device.
pbs_device_idrequiredintegerThe Proxmox Backup Server's device.

Response 201

FieldTypeDescription
messagestring
Example response
JSON
{
  "message": "Saved"
}

Errors

StatusMessage
400proxmox_device_id and pbs_device_id are required
400Target device is not a Proxmox host
400Target device is not a PBS host
404User not found
404Device not found
409These hosts are already linked

Example request

Bash
curl -X POST 'https://<your-org>.brambleit.cloud/api/v2/app/rmm/hypervisor-links' \
  -H "X-API-Key: $BRAMBLE_KEY" \
  -H "Content-Type: application/json" \
  -d '{"proxmox_device_id":7,"pbs_device_id":7}'

#Everything RMM2's Virtualisation view needs in one call: each Proxmox host with its live guests (status, CPU, RAM from the agent's inventory) and each guest'…

GET/v2/app/rmm/virtualisation

Everything RMM2's Virtualisation view needs in one call: each Proxmox host with its live guests (status, CPU, RAM from the agent's inventory) and each guest's backup posture (same computeGuestBackupPosture as backup-coverage), plus every PBS host as a backup target with its datastores. Tenant-wide unless site_id is given — a PBS host is always included when a listed PVE host links to it, wherever it lives.

Guests are matched to the RMM device running inside them so the UI can open the agent's own device page: by NIC MAC first (the PVE agent reports each guest's MACs from its config since 6.12.0; every agent reports its own interfaces' MACs), then by name (guest name == the device's hostname or display name, case-insensitive, ignoring any domain suffix). An ambiguous MAC or name matches nothing rather than the wrong device.

Each host also carries issues — its health (agent >= 6.12.0) reduced to error/warn/info lines by summariseProxmoxHealth.

Address
https://<your-org>.brambleit.cloud/api/v2/app/rmm/virtualisation
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: RMM.

Query parameters

NameTypeDescription
site_idnumber

Response 200

FieldTypeDescription
hostsarray of any
pbsarray of any
summaryany
Example response
JSON
{
  "hosts": [],
  "pbs": [],
  "summary": null
}

Errors

StatusMessage
404User not found

Example request

Bash
curl -X GET 'https://<your-org>.brambleit.cloud/api/v2/app/rmm/virtualisation' \
  -H "X-API-Key: $BRAMBLE_KEY"