Networks
- DELETE /network/guest-networks
Delete a guest network
Delete a network and clean up bridges, physical network, and Atlas entries
- Status Codes:
200 OK – Deletion result
400 Bad Request – Invalid request payload
500 Internal Server Error – Failed to delete network
- PUT /network/guest-networks
Update a guest network
Update network properties. ID must be provided in request body.
- Status Codes:
200 OK – Updated network
400 Bad Request – Invalid request payload
500 Internal Server Error – Failed to update network
- POST /network/guest-networks/eligible-nics
List eligible NICs across all compute nodes
Aggregate physical and bond NICs (admin up, oper up, not enslaved) from all configured nodes — keyset paginated over BMCInfo
- Request JSON Object:
after_id (integer) – keyset pagination: ID of last item on previous page
page (integer)
page_size (integer)
- Status Codes:
200 OK – Eligible NICs per node
500 Internal Server Error – Failed to collect eligible NICs
- Response JSON Object:
count (integer) – total configured nodes
has_more (boolean)
next_id (integer)
nodes[].error (string)
nodes[].fqdn (string)
nodes[].interfaces[].admin_state (string)
nodes[].interfaces[].allmulticast (boolean)
nodes[].interfaces[].carrier (boolean)
nodes[].interfaces[].current_speed (integer)
nodes[].interfaces[].flags[] (string)
nodes[].interfaces[].hardware.bus_info (string) – PCI/USB bus address (e.g., “0000:01:00.0”)
nodes[].interfaces[].hardware.device_type (string) – “physical”, “virtual”, “bridge”, “vlan”, etc.
nodes[].interfaces[].hardware.driver (string) – Kernel driver name (e.g., “e1000e”, “ixgbe”)
nodes[].interfaces[].hardware.driver_version (string) – Driver version
nodes[].interfaces[].hardware.firmware_version (string) – Firmware version
nodes[].interfaces[].hardware.is_sriov_pf (boolean) – true if SR-IOV physical function
nodes[].interfaces[].hardware.is_sriov_vf (boolean) – true if SR-IOV virtual function
nodes[].interfaces[].hardware.mac_vendor (string) – Human-readable vendor name derived from PCI vendor ID
nodes[].interfaces[].hardware.modalias (string) – Device modalias string
nodes[].interfaces[].hardware.pci_device (string) – PCI device ID
nodes[].interfaces[].hardware.pci_subsystem (string) – PCI subsystem ID
nodes[].interfaces[].hardware.pci_vendor (string) – PCI vendor ID (e.g., “8086” for Intel)
nodes[].interfaces[].ip_addresses[] (string)
nodes[].interfaces[].last_state_change_secs (integer) – State change tracking
nodes[].interfaces[].mac_address (string)
nodes[].interfaces[].master (string)
nodes[].interfaces[].max_speed (integer)
nodes[].interfaces[].mtu (integer)
nodes[].interfaces[].name (string)
nodes[].interfaces[].offloads (object)
nodes[].interfaces[].oper_state (string)
nodes[].interfaces[].overall_state (string) – Computed display fields
nodes[].interfaces[].promiscuous (boolean)
nodes[].interfaces[].raw_flags (integer)
nodes[].interfaces[].sdwan_type (string)
nodes[].interfaces[].throughput_rx_mbps (number) – Throughput — 1-minute rolling average computed by the interface poller
nodes[].interfaces[].throughput_tx_mbps (number)
nodes[].interfaces[].tx_queue_len (integer)
nodes[].interfaces[].type (string)
nodes[].nic_count (integer)
nodes[].node_ip (string)
page_size (integer)
- GET /network/guest-networks/jobs/last
Get latest job per network
Returns one job per unique network name — the most recent create, delete, or check
- Status Codes:
200 OK – Latest job per network
500 Internal Server Error – Database error
- Response JSON Object:
[].bridge_result.bridge_name (string)
[].bridge_result.failed (integer)
[].bridge_result.failed_nodes[].error (string)
[].bridge_result.failed_nodes[].fqdn (string)
[].bridge_result.failed_nodes[].node_ip (string)
[].bridge_result.failed_nodes[].reachable (boolean) – false = unreachable before ansible ran
[].bridge_result.nodes[] (string)
[].bridge_result.succeeded (integer)
[].bridge_result.total (integer)
[].error (string)
[].job_id (string)
[].network (string)
[].progress (integer)
[].state (string)
[].status (string)
[].total_nodes (integer)
- GET /network/guest-networks/jobs/latest
Get latest guest network job by network name
Returns the most recent create or delete job for the given network name
- Query Parameters:
network (string) – Network name
- Status Codes:
200 OK – Job status
400 Bad Request – Missing network param
404 Not Found – No job found
- Response JSON Object:
bridge_result.bridge_name (string)
bridge_result.failed (integer)
bridge_result.failed_nodes[].error (string)
bridge_result.failed_nodes[].fqdn (string)
bridge_result.failed_nodes[].node_ip (string)
bridge_result.failed_nodes[].reachable (boolean) – false = unreachable before ansible ran
bridge_result.nodes[] (string)
bridge_result.succeeded (integer)
bridge_result.total (integer)
error (string)
job_id (string)
network (string)
progress (integer)
state (string)
status (string)
total_nodes (integer)
- POST /network/guest-networks/list
List guest networks
Get a list of guest networks with optional filters
- Status Codes:
200 OK – List of networks
400 Bad Request – Invalid request payload
500 Internal Server Error – Failed to list networks
- POST /network/guest-networks/{id}/restart
Restart a guest network
Restart a guest network by ID provided in request body
- Status Codes:
201 Created – Success response
400 Bad Request – Invalid request payload
500 Internal Server Error – Internal server error
- POST /network/stats
Get network statistics
Returns guest networks grouped by type and public IPs grouped by state
- Status Codes:
200 OK – Network statistics
500 Internal Server Error – Failed to collect network statistics
- Response JSON Object:
dashboard.allocation.percentage (number)
dashboard.allocation.total (integer)
dashboard.allocation.used (integer)
dashboard.bandwidth.estimated_usage (boolean)
dashboard.bandwidth.percentage (number)
dashboard.bandwidth.received_bytes (integer)
dashboard.bandwidth.sent_bytes (integer) – VR-tracked traffic counters aggregated across all guest networks (Network.Sentbytes / Receivedbytes)
dashboard.bandwidth.source (string)
dashboard.bandwidth.total_bytes (integer)
dashboard.bandwidth.total_gbps (number)
dashboard.bandwidth.total_mbps (integer)
dashboard.bandwidth.used_gbps (number)
dashboard.bandwidth.used_mbps (integer)
dashboard.implemented.percentage (number)
dashboard.implemented.total (integer)
dashboard.implemented.used (integer)
dashboard.ip_usage.percentage (number)
dashboard.ip_usage.total (integer)
dashboard.ip_usage.used (integer)
dashboard.setup.percentage (number)
dashboard.setup.total (integer)
dashboard.setup.used (integer)
guest_networks_by_type.segments[].label (string)
guest_networks_by_type.segments[].value (integer)
guest_networks_by_type.title (string)
guest_networks_by_type.total (integer)
public_ips_by_state.segments[].label (string)
public_ips_by_state.segments[].value (integer)
public_ips_by_state.title (string)
public_ips_by_state.total (integer)