{
  "opencollection": "1.0.0",
  "info": {
    "name": "KubeVirt VM Management API",
    "version": "1.3.0"
  },
  "items": [
    {
      "info": {
        "name": "VirtualMachines",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "KubeVirt List VirtualMachines in a namespace",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{kubernetes-api-server}/apis/kubevirt.io/v1/namespaces/:namespace/virtualmachines",
            "params": [
              {
                "name": "namespace",
                "value": "",
                "type": "path",
                "description": "The Kubernetes namespace of the resource."
              },
              {
                "name": "labelSelector",
                "value": "",
                "type": "query",
                "description": "Label selector to filter resources."
              },
              {
                "name": "fieldSelector",
                "value": "",
                "type": "query",
                "description": "Field selector to filter resources."
              },
              {
                "name": "limit",
                "value": "",
                "type": "query",
                "description": "Maximum number of results per page."
              },
              {
                "name": "continue",
                "value": "",
                "type": "query",
                "description": "Pagination continuation token."
              }
            ]
          },
          "docs": "Returns all VirtualMachine resources in the specified namespace. Each VirtualMachine defines a desired VM configuration and controls whether the VM is running or stopped."
        },
        {
          "info": {
            "name": "KubeVirt Create a VirtualMachine",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://{kubernetes-api-server}/apis/kubevirt.io/v1/namespaces/:namespace/virtualmachines",
            "params": [
              {
                "name": "namespace",
                "value": "",
                "type": "path",
                "description": "The Kubernetes namespace of the resource."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Creates a new VirtualMachine resource defining the VM's CPU, memory, disk, network configuration, and run strategy. KubeVirt will create a VirtualMachineInstance when the VM is started."
        },
        {
          "info": {
            "name": "KubeVirt Get a VirtualMachine",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{kubernetes-api-server}/apis/kubevirt.io/v1/namespaces/:namespace/virtualmachines/:name",
            "params": [
              {
                "name": "namespace",
                "value": "",
                "type": "path",
                "description": "The Kubernetes namespace of the resource."
              },
              {
                "name": "name",
                "value": "",
                "type": "path",
                "description": "The name of the resource."
              }
            ]
          },
          "docs": "Returns the specified VirtualMachine resource including its current status, run strategy, and associated VirtualMachineInstance reference."
        },
        {
          "info": {
            "name": "KubeVirt Replace a VirtualMachine",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://{kubernetes-api-server}/apis/kubevirt.io/v1/namespaces/:namespace/virtualmachines/:name",
            "params": [
              {
                "name": "namespace",
                "value": "",
                "type": "path",
                "description": "The Kubernetes namespace of the resource."
              },
              {
                "name": "name",
                "value": "",
                "type": "path",
                "description": "The name of the resource."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Replaces the entire VirtualMachine resource. Changes to the template take effect on the next VM start or restart."
        },
        {
          "info": {
            "name": "KubeVirt Partially update a VirtualMachine",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "https://{kubernetes-api-server}/apis/kubevirt.io/v1/namespaces/:namespace/virtualmachines/:name",
            "params": [
              {
                "name": "namespace",
                "value": "",
                "type": "path",
                "description": "The Kubernetes namespace of the resource."
              },
              {
                "name": "name",
                "value": "",
                "type": "path",
                "description": "The name of the resource."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Applies a partial update to the VirtualMachine using JSON Merge Patch or Strategic Merge Patch."
        },
        {
          "info": {
            "name": "KubeVirt Delete a VirtualMachine",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://{kubernetes-api-server}/apis/kubevirt.io/v1/namespaces/:namespace/virtualmachines/:name",
            "params": [
              {
                "name": "namespace",
                "value": "",
                "type": "path",
                "description": "The Kubernetes namespace of the resource."
              },
              {
                "name": "name",
                "value": "",
                "type": "path",
                "description": "The name of the resource."
              }
            ]
          },
          "docs": "Deletes the VirtualMachine resource. If the VM is running, it will be stopped first."
        }
      ]
    },
    {
      "info": {
        "name": "VMLifecycle",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "KubeVirt Start a VirtualMachine",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://{kubernetes-api-server}/apis/kubevirt.io/v1/namespaces/:namespace/virtualmachines/:name/start",
            "params": [
              {
                "name": "namespace",
                "value": "",
                "type": "path",
                "description": "The Kubernetes namespace of the resource."
              },
              {
                "name": "name",
                "value": "",
                "type": "path",
                "description": "The name of the resource."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Starts a stopped VirtualMachine by creating a VirtualMachineInstance. The VM must be in the Stopped state. Optionally accepts a start options body to control start behavior such as pausing immediately after start."
        },
        {
          "info": {
            "name": "KubeVirt Stop a VirtualMachine",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://{kubernetes-api-server}/apis/kubevirt.io/v1/namespaces/:namespace/virtualmachines/:name/stop",
            "params": [
              {
                "name": "namespace",
                "value": "",
                "type": "path",
                "description": "The Kubernetes namespace of the resource."
              },
              {
                "name": "name",
                "value": "",
                "type": "path",
                "description": "The name of the resource."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Stops a running VirtualMachine by deleting its VirtualMachineInstance. Optionally accepts stop options including a grace period for shutdown."
        },
        {
          "info": {
            "name": "KubeVirt Restart a VirtualMachine",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://{kubernetes-api-server}/apis/kubevirt.io/v1/namespaces/:namespace/virtualmachines/:name/restart",
            "params": [
              {
                "name": "namespace",
                "value": "",
                "type": "path",
                "description": "The Kubernetes namespace of the resource."
              },
              {
                "name": "name",
                "value": "",
                "type": "path",
                "description": "The name of the resource."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Restarts a running VirtualMachine by stopping and starting it. The VM must currently be running."
        },
        {
          "info": {
            "name": "KubeVirt Migrate a VirtualMachine",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://{kubernetes-api-server}/apis/kubevirt.io/v1/namespaces/:namespace/virtualmachines/:name/migrate",
            "params": [
              {
                "name": "namespace",
                "value": "",
                "type": "path",
                "description": "The Kubernetes namespace of the resource."
              },
              {
                "name": "name",
                "value": "",
                "type": "path",
                "description": "The name of the resource."
              }
            ]
          },
          "docs": "Initiates a live migration of the running VirtualMachine to another node. Creates a VirtualMachineInstanceMigration resource to track the migration."
        },
        {
          "info": {
            "name": "KubeVirt Pause a VirtualMachineInstance",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://{kubernetes-api-server}/apis/kubevirt.io/v1/namespaces/:namespace/virtualmachineinstances/:name/pause",
            "params": [
              {
                "name": "namespace",
                "value": "",
                "type": "path",
                "description": "The Kubernetes namespace of the resource."
              },
              {
                "name": "name",
                "value": "",
                "type": "path",
                "description": "The name of the resource."
              }
            ]
          },
          "docs": "Pauses the CPU execution of a running VirtualMachineInstance. The VMI remains in memory but no CPU cycles are consumed."
        },
        {
          "info": {
            "name": "KubeVirt Unpause a VirtualMachineInstance",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://{kubernetes-api-server}/apis/kubevirt.io/v1/namespaces/:namespace/virtualmachineinstances/:name/unpause",
            "params": [
              {
                "name": "namespace",
                "value": "",
                "type": "path",
                "description": "The Kubernetes namespace of the resource."
              },
              {
                "name": "name",
                "value": "",
                "type": "path",
                "description": "The name of the resource."
              }
            ]
          },
          "docs": "Resumes CPU execution of a paused VirtualMachineInstance."
        }
      ]
    },
    {
      "info": {
        "name": "VirtualMachineInstances",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "KubeVirt List VirtualMachineInstances",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{kubernetes-api-server}/apis/kubevirt.io/v1/namespaces/:namespace/virtualmachineinstances",
            "params": [
              {
                "name": "namespace",
                "value": "",
                "type": "path",
                "description": "The Kubernetes namespace of the resource."
              },
              {
                "name": "labelSelector",
                "value": "",
                "type": "query",
                "description": "Label selector to filter resources."
              },
              {
                "name": "fieldSelector",
                "value": "",
                "type": "query",
                "description": "Field selector to filter resources."
              },
              {
                "name": "limit",
                "value": "",
                "type": "query",
                "description": "Maximum number of results per page."
              }
            ]
          },
          "docs": "Returns all running VirtualMachineInstance resources in the specified namespace. Each VMI represents an active virtual machine process."
        },
        {
          "info": {
            "name": "KubeVirt Get a VirtualMachineInstance",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{kubernetes-api-server}/apis/kubevirt.io/v1/namespaces/:namespace/virtualmachineinstances/:name",
            "params": [
              {
                "name": "namespace",
                "value": "",
                "type": "path",
                "description": "The Kubernetes namespace of the resource."
              },
              {
                "name": "name",
                "value": "",
                "type": "path",
                "description": "The name of the resource."
              }
            ]
          },
          "docs": "Returns the specified VirtualMachineInstance including its phase, network interfaces, volumes, node assignment, and guest OS information."
        }
      ]
    },
    {
      "info": {
        "name": "VMConsole",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "KubeVirt Access VM VNC console",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{kubernetes-api-server}/apis/kubevirt.io/v1/namespaces/:namespace/virtualmachineinstances/:name/vnc",
            "params": [
              {
                "name": "namespace",
                "value": "",
                "type": "path",
                "description": "The Kubernetes namespace of the resource."
              },
              {
                "name": "name",
                "value": "",
                "type": "path",
                "description": "The name of the resource."
              }
            ]
          },
          "docs": "Opens a WebSocket connection to the VNC console of the specified VirtualMachineInstance for graphical console access."
        },
        {
          "info": {
            "name": "KubeVirt Access VM serial console",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{kubernetes-api-server}/apis/kubevirt.io/v1/namespaces/:namespace/virtualmachineinstances/:name/console",
            "params": [
              {
                "name": "namespace",
                "value": "",
                "type": "path",
                "description": "The Kubernetes namespace of the resource."
              },
              {
                "name": "name",
                "value": "",
                "type": "path",
                "description": "The name of the resource."
              }
            ]
          },
          "docs": "Opens a WebSocket connection to the serial console of the specified VirtualMachineInstance for text-based console access."
        }
      ]
    },
    {
      "info": {
        "name": "VirtualMachineInstanceMigrations",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "KubeVirt List VirtualMachineInstanceMigrations",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{kubernetes-api-server}/apis/kubevirt.io/v1/namespaces/:namespace/virtualmachineinstancemigrations",
            "params": [
              {
                "name": "namespace",
                "value": "",
                "type": "path",
                "description": "The Kubernetes namespace of the resource."
              },
              {
                "name": "labelSelector",
                "value": "",
                "type": "query",
                "description": "Label selector to filter resources."
              },
              {
                "name": "limit",
                "value": "",
                "type": "query",
                "description": "Maximum number of results per page."
              }
            ]
          },
          "docs": "Returns all VirtualMachineInstanceMigration resources in the specified namespace. Each migration resource tracks the state of a live migration."
        },
        {
          "info": {
            "name": "KubeVirt Create a VirtualMachineInstanceMigration",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://{kubernetes-api-server}/apis/kubevirt.io/v1/namespaces/:namespace/virtualmachineinstancemigrations",
            "params": [
              {
                "name": "namespace",
                "value": "",
                "type": "path",
                "description": "The Kubernetes namespace of the resource."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Initiates a live migration by creating a VirtualMachineInstanceMigration resource. The migration moves the VMI to another node while it continues running."
        },
        {
          "info": {
            "name": "KubeVirt Get a VirtualMachineInstanceMigration",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{kubernetes-api-server}/apis/kubevirt.io/v1/namespaces/:namespace/virtualmachineinstancemigrations/:name",
            "params": [
              {
                "name": "namespace",
                "value": "",
                "type": "path",
                "description": "The Kubernetes namespace of the resource."
              },
              {
                "name": "name",
                "value": "",
                "type": "path",
                "description": "The name of the resource."
              }
            ]
          },
          "docs": "Returns the specified migration resource including its current phase, source and target node information, and completion status."
        },
        {
          "info": {
            "name": "KubeVirt Cancel a VirtualMachineInstanceMigration",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://{kubernetes-api-server}/apis/kubevirt.io/v1/namespaces/:namespace/virtualmachineinstancemigrations/:name",
            "params": [
              {
                "name": "namespace",
                "value": "",
                "type": "path",
                "description": "The Kubernetes namespace of the resource."
              },
              {
                "name": "name",
                "value": "",
                "type": "path",
                "description": "The name of the resource."
              }
            ]
          },
          "docs": "Cancels an in-progress migration by deleting the VirtualMachineInstanceMigration resource."
        }
      ]
    }
  ],
  "bundled": true
}