### GET /pools Source: https://devnullvoid.github.io/pvetui-openapi/pve-openapi.yaml API endpoint for GET /pools ```markdown ### Parameters - **poolid** (string (pve-poolid), query, optional) - **type** (string (qemu|lxc|storage), query, optional) ### Responses #### 200 - OK - Array of object - **comment** (string) - **members** (array (object)) Array items: - **id** (string) - **node** (string) - **storage** (string) - **type** (string (qemu|lxc|openvz|storage)) ("qemu"|"lxc"|"openvz"|"storage") - **vmid** (integer) - **poolid** (string) ### Example Usage ```bash curl -X GET "https://api.example.com/pools?poolid=string&type=qemu" ``` ``` -------------------------------- ### GET /nodes/{node}/qemu/{vmid}/cloudinit Source: https://devnullvoid.github.io/pvetui-openapi/pve-openapi.yaml API endpoint for GET /nodes/{node}/qemu/{vmid}/cloudinit ```markdown ### Parameters - **node** (string (pve-node), path, required): The cluster node name. - **vmid** (integer, path, required): The (unique) ID of the VM. ### Responses #### 200 - OK - Array of object - **delete** (integer): Indicates a pending delete request if present and not 0. - **key** (string): Configuration option name. - **pending** (string): The new pending value. - **value** (string): Value as it was used to generate the current cloudinit image. ### Example Usage ```bash curl -X GET "https://api.example.com/nodes/{node}/qemu/{vmid}/cloudinit" ``` ``` -------------------------------- ### GET /nodes Source: https://devnullvoid.github.io/pvetui-openapi/pve-openapi.yaml API endpoint for GET /nodes ```markdown ### Responses #### 200 - OK - Array of object - **cpu** (number): CPU utilization. - **level** (string): Support level. - **maxcpu** (integer): Number of available CPUs. - **maxmem** (integer): Number of available memory in bytes. - **mem** (integer): Used memory in bytes. - **node** (string (pve-node)): The cluster node name. - **ssl_fingerprint** (string): The SSL fingerprint for the node certificate. - **status** (string (unknown|online|offline)): Node status. ("unknown"|"online"|"offline") - **uptime** (integer): Node uptime in seconds. ### Example Usage ```bash curl -X GET "https://api.example.com/nodes" ``` ``` -------------------------------- ### PUT /nodes/{node}/qemu/{vmid}/cloudinit Source: https://devnullvoid.github.io/pvetui-openapi/pve-openapi.yaml API endpoint for PUT /nodes/{node}/qemu/{vmid}/cloudinit ```markdown ### Parameters - **node** (string (pve-node), path, required): The cluster node name. - **vmid** (integer, path, required): The (unique) ID of the VM. ### Request Body **Content-Type:** application/json - **node** (string (pve-node)): The cluster node name. - **vmid** (integer): The (unique) ID of the VM. ### Responses #### 200 - OK ### Example Usage ```bash curl -X PUT "https://api.example.com/nodes/{node}/qemu/{vmid}/cloudinit" \ -H "Content-Type: application/json" \ -d '{ "node": "string", "vmid": "0" }' ``` ``` -------------------------------- ### GET /cluster/tasks Source: https://devnullvoid.github.io/pvetui-openapi/pve-openapi.yaml API endpoint for GET /cluster/tasks ```markdown ### Responses #### 200 - OK - Array of object - **upid** (string) ### Example Usage ```bash curl -X GET "https://api.example.com/cluster/tasks" ``` ``` -------------------------------- ### GET /nodes/{node}/qemu/{vmid}/cloudinit/dump Source: https://devnullvoid.github.io/pvetui-openapi/pve-openapi.yaml API endpoint for GET /nodes/{node}/qemu/{vmid}/cloudinit/dump ```markdown ### Parameters - **node** (string (pve-node), path, required): The cluster node name. - **type** (string (user|network|meta), query, optional): Config type. - **vmid** (integer, path, required): The (unique) ID of the VM. ### Responses #### 200 - OK ### Example Usage ```bash curl -X GET "https://api.example.com/nodes/{node}/qemu/{vmid}/cloudinit/dump?type=user" ``` ``` -------------------------------- ### POST /nodes/{node}/startall Source: https://devnullvoid.github.io/pvetui-openapi/pve-openapi.yaml API endpoint for POST /nodes/{node}/startall ```markdown ### Parameters - **force** (boolean, query, optional): Issue start command even if virtual guest have 'onboot' not set or set to off. - **max-workers** (integer, query, optional): Defines the maximum number of tasks running concurrently. If not set, uses 'max_workers' from datacenter.cfg, and if that's not set, the available CPU threads, clamped to a maximum of 8, are used. - **node** (string (pve-node), path, required): The cluster node name. - **vms** (string (pve-vmid-list), query, optional): Only consider guests from this comma separated list of VMIDs. ### Request Body **Content-Type:** application/json - **force** (boolean): Issue start command even if virtual guest have 'onboot' not set or set to off. - **max-workers** (integer): Defines the maximum number of tasks running concurrently. If not set, uses 'max_workers' from datacenter.cfg, and if that's not set, the available CPU threads, clamped to a maximum of 8, are used. - **node** (string (pve-node)): The cluster node name. - **vms** (string (pve-vmid-list)): Only consider guests from this comma separated list of VMIDs. ### Responses #### 200 - OK ### Example Usage ```bash curl -X POST "https://api.example.com/nodes/{node}/startall?force=true&max-workers=0&vms=string" \ -H "Content-Type: application/json" \ -d '{ "force": "true", "max-workers": "0", "node": "string", "vms": "string" }' ``` ``` -------------------------------- ### GET /cluster/status Source: https://devnullvoid.github.io/pvetui-openapi/pve-openapi.yaml API endpoint for GET /cluster/status ```markdown ### Responses #### 200 - OK - Array of object - **id** (string) - **ip** (string): [node] IP of the resolved nodename. - **level** (string): [node] Proxmox VE Subscription level, indicates if eligible for enterprise support as well as access to the stable Proxmox VE Enterprise Repository. - **local** (boolean): [node] Indicates if this is the responding node. - **name** (string) - **nodeid** (integer): [node] ID of the node from the corosync configuration. - **nodes** (integer): [cluster] Nodes count, including offline nodes. - **online** (boolean): [node] Indicates if the node is online or offline. - **quorate** (boolean): [cluster] Indicates if there is a majority of nodes online to make decisions - **type** (string (cluster|node)): Indicates the type, either cluster or node. The type defines the object properties e.g. quorate available for type cluster. ("cluster"|"node") - **version** (integer): [cluster] Current version of the corosync configuration file. ### Example Usage ```bash curl -X GET "https://api.example.com/cluster/status" ``` ``` -------------------------------- ### GET /cluster/sdn/zones Source: https://devnullvoid.github.io/pvetui-openapi/pve-openapi.yaml API endpoint for GET /cluster/sdn/zones ```markdown ### Parameters - **pending** (boolean, query, optional): Display pending config. - **running** (boolean, query, optional): Display running config. - **type** (string (evpn|faucet|qinq|simple|vlan|vxlan), query, optional): Only list SDN zones of specific type ### Responses #### 200 - OK - Array of object - **advertise-subnets** (boolean): Advertise IP prefixes (Type-5 routes) instead of MAC/IP pairs (Type-2 routes). EVPN zone only. - **bridge** (string): the bridge for which VLANs should be managed. VLAN & QinQ zone only. - **bridge-disable-mac-learning** (boolean): Disable auto mac learning. VLAN zone only. - **controller** (string): ID of the controller for this zone. EVPN zone only. - **dhcp** (string (dnsmasq)): Name of DHCP server backend for this zone. ("dnsmasq") - **digest** (string): Digest of the controller section. - **disable-arp-nd-suppression** (boolean): Suppress IPv4 ARP && IPv6 Neighbour Discovery messages. EVPN zone only. - **dns** (string): ID of the DNS server for this zone. - **dnszone** (string): Domain name for this zone. - **exitnodes** (string (pve-node-list)): List of PVE Nodes that should act as exit node for this zone. EVPN zone only. - **exitnodes-local-routing** (boolean): Create routes on the exit nodes, so they can connect to EVPN guests. EVPN zone only. - **exitnodes-primary** (string (pve-node)): Force traffic through this exitnode first. EVPN zone only. - **ipam** (string): ID of the IPAM for this zone. - **mac** (string): MAC address of the anycast router for this zone. - **mtu** (integer): MTU of the zone, will be used for the created VNet bridges. - **nodes** (string): Nodes where this zone should be created. - **peers** (string (ip-list)): Comma-separated list of peers, that are part of the VXLAN zone. Usually the IPs of the nodes. VXLAN zone only. - **pending** (object): Changes that have not yet been applied to the running configuration. - **reversedns** (string): ID of the reverse DNS server for this zone. - **rt-import** (string (pve-sdn-bgp-rt-list)): Route-Targets that should be imported into the VRF of this zone via BGP. EVPN zone only. - **secondary-controllers** (array (string)): Additional controllers. - **state** (string (new|changed|deleted)): State of the SDN configuration object. ("new"|"changed"|"deleted") - **tag** (integer): Service-VLAN Tag (outer VLAN). QinQ zone only - **type** (string (evpn|faucet|qinq|simple|vlan|vxlan)): Type of the zone. ("evpn"|"faucet"|"qinq"|"simple"|"vlan"|"vxlan") - **vlan-protocol** (string (802.1q|802.1ad)): VLAN protocol for the creation of the QinQ zone. QinQ zone only. ("802.1q"|"802.1ad") - **vrf-vxlan** (integer): VNI for the zone VRF. EVPN zone only. - **vxlan-port** (integer): UDP port that should be used for the VXLAN tunnel (default 4789). VXLAN zone only. - **zone** (string): Name of the zone. ### Example Usage ```bash curl -X GET "https://api.example.com/cluster/sdn/zones?pending=true&running=true&type=evpn" ``` ``` -------------------------------- ### POST /nodes/{node}/qemu/{vmid}/status/start Source: https://devnullvoid.github.io/pvetui-openapi/pve-openapi.yaml API endpoint for POST /nodes/{node}/qemu/{vmid}/status/start ```markdown ### Parameters - **force-cpu** (string, query, optional): Override QEMU's -cpu argument with the given string. - **machine** (string, query, optional): Specify the QEMU machine. - **migratedfrom** (string (pve-node), query, optional): The cluster node name. - **migration_network** (string (CIDR), query, optional): CIDR of the (sub) network that is used for migration. - **migration_type** (string (secure|insecure), query, optional): Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance. - **nets-host-mtu** (string, query, optional): Used for migration compat. List of VirtIO network devices and their effective host_mtu setting according to the QEMU object model on the source side of the migration. A value of 0 means that the host_mtu parameter is to be avoided for the corresponding device. - **node** (string (pve-node), path, required): The cluster node name. - **skiplock** (boolean, query, optional): Ignore locks - only root is allowed to use this option. - **stateuri** (string, query, optional): Some command save/restore state from this location. - **targetstorage** (string (storage-pair-list), query, optional): Mapping from source to target storages. Providing only a single storage ID maps all source storages to that storage. Providing the special value '1' will map each source storage to itself. - **timeout** (integer, query, optional): Wait maximal timeout seconds. - **vmid** (integer, path, required): The (unique) ID of the VM. - **with-conntrack-state** (boolean, query, optional): Whether to migrate conntrack entries for running VMs. ### Request Body **Content-Type:** application/json - **force-cpu** (string): Override QEMU's -cpu argument with the given string. - **machine** (string): Specify the QEMU machine. - **migratedfrom** (string (pve-node)): The cluster node name. - **migration_network** (string (CIDR)): CIDR of the (sub) network that is used for migration. - **migration_type** (string (secure|insecure)): Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance. ("secure"|"insecure") - **nets-host-mtu** (string): Used for migration compat. List of VirtIO network devices and their effective host_mtu setting according to the QEMU object model on the source side of the migration. A value of 0 means that the host_mtu parameter is to be avoided for the corresponding device. - **node** (string (pve-node)): The cluster node name. - **skiplock** (boolean): Ignore locks - only root is allowed to use this option. - **stateuri** (string): Some command save/restore state from this location. - **targetstorage** (string (storage-pair-list)): Mapping from source to target storages. Providing only a single storage ID maps all source storages to that storage. Providing the special value '1' will map each source storage to itself. - **timeout** (integer): Wait maximal timeout seconds. - **vmid** (integer): The (unique) ID of the VM. - **with-conntrack-state** (boolean): Whether to migrate conntrack entries for running VMs. ### Responses #### 200 - OK ### Example Usage ```bash curl -X POST "https://api.example.com/nodes/{node}/qemu/{vmid}/status/start?force-cpu=string&machine=string&migratedfrom=string&migration_network=string&migration_type=secure&nets-host-mtu=string&skiplock=true&stateuri=string&targetstorage=string&timeout=0&with-conntrack-state=true" \ -H "Content-Type: application/json" \ -d '{ "force-cpu": "string", "machine": "string", "migratedfrom": "string", "migration_network": "string", "migration_type": "secure", "nets-host-mtu": "string", "node": "string", "skiplock": "true", "stateuri": "string", "targetstorage": "string", "timeout": "0", "vmid": "0", "with-conntrack-state": "true" }' ``` ``` -------------------------------- ### GET /nodes/{node}/capabilities/qemu/migration Source: https://devnullvoid.github.io/pvetui-openapi/pve-openapi.yaml API endpoint for GET /nodes/{node}/capabilities/qemu/migration ```markdown ### Parameters - **node** (string (pve-node), path, required): The cluster node name. ### Responses #### 200 - OK - **has-dbus-vmstate** (boolean): Whether the host supports live-migrating additional VM state via the dbus-vmstate helper. ### Example Usage ```bash curl -X GET "https://api.example.com/nodes/{node}/capabilities/qemu/migration" ``` ``` -------------------------------- ### GET /cluster/sdn/vnets Source: https://devnullvoid.github.io/pvetui-openapi/pve-openapi.yaml API endpoint for GET /cluster/sdn/vnets ```markdown ### Parameters - **pending** (boolean, query, optional): Display pending config. - **running** (boolean, query, optional): Display running config. ### Responses #### 200 - OK - Array of object - **alias** (string): Alias name of the VNet. - **digest** (string): Digest of the VNet section. - **isolate-ports** (boolean): If true, sets the isolated property for all interfaces on the bridge of this VNet. - **pending** (object): Changes that have not yet been applied to the running configuration. - **alias** (string): Alias name of the VNet. - **isolate-ports** (boolean): If true, sets the isolated property for all interfaces on the bridge of this VNet. - **tag** (integer): VLAN Tag (for VLAN or QinQ zones) or VXLAN VNI (for VXLAN or EVPN zones). - **vlanaware** (boolean): Allow VLANs to pass through this VNet. - **zone** (string): Name of the zone this VNet belongs to. - **state** (string (new|changed|deleted)): State of the SDN configuration object. ("new"|"changed"|"deleted") - **tag** (integer): VLAN Tag (for VLAN or QinQ zones) or VXLAN VNI (for VXLAN or EVPN zones). - **type** (string (vnet)): Type of the VNet. ("vnet") - **vlanaware** (boolean): Allow VLANs to pass through this VNet. - **vnet** (string): Name of the VNet. - **zone** (string): Name of the zone this VNet belongs to. ### Example Usage ```bash curl -X GET "https://api.example.com/cluster/sdn/vnets?pending=true&running=true" ``` ``` -------------------------------- ### GET /cluster/sdn/route-maps/entries Source: https://devnullvoid.github.io/pvetui-openapi/pve-openapi.yaml API endpoint for GET /cluster/sdn/route-maps/entries ```markdown ### Parameters - **pending** (boolean, query, optional): Display pending config. - **running** (boolean, query, optional): Display running config. ### Responses #### 200 - OK - Array of object - **action** (string (permit|deny)): Matching policy of a route map entry. ("permit"|"deny") - **call** (string (pve-sdn-route-map-id)): The SDN route map identifier - **digest** (string): Prevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications. - **exit-action** (string) - **match** (array (string)) - **order** (integer): The index of this route map entry - **route-map-id** (string (pve-sdn-route-map-id)): The SDN route map identifier - **set** (array (string)) ### Example Usage ```bash curl -X GET "https://api.example.com/cluster/sdn/route-maps/entries?pending=true&running=true" ``` ``` -------------------------------- ### GET /nodes/{node}/capabilities/qemu Source: https://devnullvoid.github.io/pvetui-openapi/pve-openapi.yaml API endpoint for GET /nodes/{node}/capabilities/qemu ```markdown ### Parameters - **node** (string (pve-node), path, required): The cluster node name. ### Responses #### 200 - OK - Array of object ### Example Usage ```bash curl -X GET "https://api.example.com/nodes/{node}/capabilities/qemu" ``` ``` -------------------------------- ### GET /nodes/{node}/apt Source: https://devnullvoid.github.io/pvetui-openapi/pve-openapi.yaml API endpoint for GET /nodes/{node}/apt ```markdown ### Parameters - **node** (string (pve-node), path, required): The cluster node name. ### Responses #### 200 - OK - Array of object - **id** (string) ### Example Usage ```bash curl -X GET "https://api.example.com/nodes/{node}/apt" ``` ``` -------------------------------- ### GET /cluster/sdn/route-maps Source: https://devnullvoid.github.io/pvetui-openapi/pve-openapi.yaml API endpoint for GET /cluster/sdn/route-maps ```markdown ### Parameters - **running** (boolean, query, optional): Display running config. ### Responses #### 200 - OK - Array of object - **id** (string (pve-sdn-route-map-id)): The SDN route map identifier ### Example Usage ```bash curl -X GET "https://api.example.com/cluster/sdn/route-maps?running=true" ``` ``` -------------------------------- ### GET /nodes/{node}/capabilities/qemu/cpu Source: https://devnullvoid.github.io/pvetui-openapi/pve-openapi.yaml API endpoint for GET /nodes/{node}/capabilities/qemu/cpu ```markdown ### Parameters - **arch** (string (x86_64|aarch64), query, optional): Virtual processor architecture. Defaults to the host architecture. - **node** (string (pve-node), path, required): The cluster node name. ### Responses #### 200 - OK - Array of object - **abstract** (boolean): True for PVE-internal abstract profiles like x86-64-v2, -v3, -v4. These do not correspond to a QEMU CPU type and cannot be used as a custom model's 'reported-model'. - **custom** (boolean): True if this is a custom CPU model. - **name** (string): Name of the CPU model. Identifies it for subsequent API calls. Prefixed with 'custom-' for custom models. - **vendor** (string): CPU vendor visible to the guest when this model is selected. Vendor of 'reported-model' in case of custom models. ### Example Usage ```bash curl -X GET "https://api.example.com/nodes/{node}/capabilities/qemu/cpu?arch=x86_64" ``` ``` -------------------------------- ### GET /cluster/sdn/prefix-lists Source: https://devnullvoid.github.io/pvetui-openapi/pve-openapi.yaml API endpoint for GET /cluster/sdn/prefix-lists ```markdown ### Parameters - **pending** (boolean, query, optional): Display pending config. - **running** (boolean, query, optional): Display running config. - **verbose** (boolean, query, optional): If 0, only returns id - otherwise returns all properties. ### Responses #### 200 - OK - Array of object ### Example Usage ```bash curl -X GET "https://api.example.com/cluster/sdn/prefix-lists?pending=true&running=true&verbose=true" ``` ``` -------------------------------- ### GET /nodes/{node}/apt/repositories Source: https://devnullvoid.github.io/pvetui-openapi/pve-openapi.yaml API endpoint for GET /nodes/{node}/apt/repositories ```markdown ### Parameters - **node** (string (pve-node), path, required): The cluster node name. ### Responses #### 200 - OK - **digest** (string): Common digest of all files. - **errors** (array (object)): List of problematic repository files. Array items: - **error** (string): The error message - **path** (string): Path to the problematic file. - **files** (array (object)): List of parsed repository files. Array items: - **digest** (array (integer)): Digest of the file as bytes. - **file-type** (string (list|sources)): Format of the file. ("list"|"sources") - **path** (string): Path to the problematic file. - **repositories** (array (object)): The parsed repositories. Array items: - **Comment** (string): Associated comment - **Components** (array (string)): List of repository components - **Enabled** (boolean): Whether the repository is enabled or not - **FileType** (string (list|sources)): Format of the defining file. ("list"|"sources") - **Options** (array (object)): Additional options Array items: - **Key** (string) - **Values** (array (string)) - **Suites** (array (string)): List of package distribuitions - **Types** (array (string (deb|deb-src))): List of package types. - **URIs** (array (string)): List of repository URIs. - **infos** (array (object)): Additional information/warnings for APT repositories. Array items: - **index** (string): Index of the associated repository within the file. - **kind** (string): Kind of the information (e.g. warning). - **message** (string): Information message. - **path** (string): Path to the associated file. - **property** (string): Property from which the info originates. - **standard-repos** (array (object)): List of standard repositories and their configuration status Array items: - **handle** (string): Handle to identify the repository. - **name** (string): Full name of the repository. - **status** (boolean): Indicating enabled/disabled status, if the repository is configured. ### Example Usage ```bash curl -X GET "https://api.example.com/nodes/{node}/apt/repositories" ``` ``` -------------------------------- ### GET /cluster/sdn/ipams Source: https://devnullvoid.github.io/pvetui-openapi/pve-openapi.yaml API endpoint for GET /cluster/sdn/ipams ```markdown ### Parameters - **type** (string (netbox|phpipam|pve), query, optional): Only list sdn ipams of specific type ### Responses #### 200 - OK - Array of object - **ipam** (string) - **type** (string) ### Example Usage ```bash curl -X GET "https://api.example.com/cluster/sdn/ipams?type=netbox" ``` ```