KubeVirt website screenshot

KubeVirt

KubeVirt is a CNCF incubating project that extends Kubernetes to run traditional virtual machines alongside containers. It allows users to create, manage, and run VMs using the same Kubernetes APIs and tools used for containers. KubeVirt is ideal for migrating legacy workloads to Kubernetes without requiring application rewriting.

KubeVirt publishes 8 APIs on the APIs.io network, including DataSources API, DataVolumes API, StorageProfiles API, and 5 more. Tagged areas include Cloud Native, Incubating, Kubernetes, Migration, and Virtual Machines.

The KubeVirt catalog on APIs.io includes 1 JSON-LD context and 1 Spectral governance ruleset.

KubeVirt’s developer surface includes documentation, engineering blog, and 8 more developer resources.

45.7/100 developing ▬ flat Agent 22/100 agent aware Full breakdown ↓
scored 2026-07-28 · rubric v0.6
AccessFreemium
8 APIs
Cloud NativeIncubatingKubernetesMigrationVirtual MachinesVirtualization

Kin Score

Kin Score Kin Score How this is scored →
scored 2026-07-28 · rubric v0.6
Composite quality — 45.7/100 · developing
Contract Quality 15.8 / 25
Developer Ergonomics 3.0 / 20
Commercial Clarity 7.9 / 20
Operational Transparency 4.8 / 13
Governance 7.0 / 12
Discoverability 7.2 / 10
Agent readiness — 22/100 · agent aware
Machine-Readable Contract 18 / 18
Agentic Access Contract 10 / 10
MCP Server 0 / 12
Machine-Readable Auth 0 / 10
Idempotency 0 / 9
Stable Error Semantics 0 / 8
Request/Response Examples 0 / 7
Rate-Limit Signaling 7 / 7
Typed Event Surface 0 / 6
Agent Skills 0 / 5
Well-Known Catalog 0 / 4
Consent & Bot Identity 0 / 3
A2A Agent Card 0 / 8
Dry-Run / Simulate Mode 0 / 4
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. This rating is computed from github.com/api-evangelist/kubevirt: open an issue to ask a question, or submit a pull request to add artifacts. Want it done for you? Prioritized profiling — $2,500 →

APIs 8

Individual APIs this provider publishes, each with its own machine-readable definition.

KubeVirt DataSources API

Operations for managing DataSource resources. A DataSource references an existing DataVolume or VolumeSnapshot as a source for cloning into new DataVolumes.

KubeVirt DataVolumes API

Operations for managing DataVolume resources. A DataVolume is a managed PersistentVolumeClaim with an integrated import/clone pipeline that automatically populates the volume fr...

KubeVirt StorageProfiles API

Operations for managing StorageProfile resources. StorageProfiles describe the capabilities of a StorageClass and provide default clone and access mode strategies.

KubeVirt VirtualMachineInstanceMigrations API

Operations for managing live migration of VirtualMachineInstances from one node to another without downtime.

KubeVirt VirtualMachineInstances API

Operations for managing VirtualMachineInstance (VMI) resources. A VirtualMachineInstance represents a running virtual machine and tracks its actual state.

KubeVirt VirtualMachines API

Operations for managing VirtualMachine (VM) resources. A VirtualMachine defines the desired state and configuration of a virtual machine, providing lifecycle management and pers...

KubeVirt VMConsole API

Subresource endpoints for accessing VM consoles via VNC, serial console, and USB redirection.

KubeVirt VMLifecycle API

Subresource operations for VM lifecycle management including start, stop, pause, unpause, restart, migrate, and adding/removing volumes.

Scroll for all 8

Open Collections 2

Open, tool-agnostic API collections (OpenAPI-derived and Bruno).

Pricing Plans 1

Published pricing tiers and plan structures.

Rate Limits 1

Documented rate limits and quota policies.

Kubevirt Rate Limits

5 limits

RATE LIMITS

FinOps 1

Cost, billing, and metering signals for API financial operations.

Semantic Vocabularies 1

JSON-LD contexts and semantic vocabularies used across these APIs.

Kubevirt Context

0 classes · 10 properties

JSON-LD

Spectral Rules 1

Spectral governance rulesets for linting and validating these APIs.

KubeVirt API Rules

6 rules · 4 warnings 2 info

SPECTRAL

JSON Schema 1

Standalone JSON Schema definitions for this provider's data models.

KubeVirt VirtualMachine

5 properties

JSON SCHEMA

Security Posture 1

Authentication, domain security, vulnerability disclosure, and trust-center signals.

Kubevirt Domain Security

TLSv1.3

SECURITY

Agentic Access 1

Recommended x-agentic-access execution contracts for AI agents.

Kubevirt Agentic Access

32 operations · 18 acting · 1 human-in-the-loop

32 operations · 18 acting

AGENTIC

Resources

Documentation 2

Reference material describing how the API behaves

Agent Surfaces 1

MCP servers, agent skills, and machine-readable catalogs

Design & Contract 1

Pagination, idempotency, versioning, errors, and events

Build 2

SDKs, sample code, and the tooling you integrate with

Access & Security 1

Authentication, authorization, and security posture

Operate 1

Status, limits, changes, and where to get help

Company 2

The organization behind the API

Source (apis.yml)

apis.yml Raw ↑
aid: kubevirt
name: KubeVirt
description: KubeVirt is a CNCF incubating project that extends Kubernetes to run traditional virtual machines alongside containers.
  It allows users to create, manage, and run VMs using the same Kubernetes APIs and tools used for containers. KubeVirt is
  ideal for migrating legacy workloads to Kubernetes without requiring application rewriting.
url: https://kubevirt.io
accessModel:
  pricing: freemium
  onboarding: unknown
  trial: false
  try_now: false
  public: false
  label: Freemium
  confidence: medium
  source:
  - plans
  generated: '2026-07-22'
  method: derived
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/icons/kubevirt.png
tags:
- Cloud Native
- Incubating
- Kubernetes
- Migration
- Virtual Machines
- Virtualization
created: '2026-03-16'
modified: '2026-05-19'
specificationVersion: '0.19'
type: Index
apis:
- aid: kubevirt:kubevirt-datasources-api
  name: KubeVirt DataSources API
  description: Operations for managing DataSource resources. A DataSource references an existing DataVolume or VolumeSnapshot
    as a source for cloning into new DataVolumes.
  humanURL: https://kubevirt.io/user-guide/
  tags:
  - DataSources
  properties:
  - type: OpenAPI
    url: openapi/kubevirt-datasources-api-openapi.yml
  - type: Documentation
    url: https://kubevirt.io/user-guide/
  - type: Reference
    url: https://kubevirt.io/api-reference/
  - type: JSONSchema
    url: json-schema/kubevirt-vm-schema.json
  - type: Documentation
    url: https://kubevirt.io/user-guide/storage/containerized_data_importer/
  - type: Reference
    url: https://kubevirt.io/cdi-api-reference/
  - type: GitHubRepository
    url: https://github.com/kubevirt/containerized-data-importer
- aid: kubevirt:kubevirt-datavolumes-api
  name: KubeVirt DataVolumes API
  description: Operations for managing DataVolume resources. A DataVolume is a managed PersistentVolumeClaim with an integrated
    import/clone pipeline that automatically populates the volume from a specified source.
  humanURL: https://kubevirt.io/user-guide/
  tags:
  - DataVolumes
  properties:
  - type: OpenAPI
    url: openapi/kubevirt-datavolumes-api-openapi.yml
  - type: Documentation
    url: https://kubevirt.io/user-guide/
  - type: Reference
    url: https://kubevirt.io/api-reference/
  - type: JSONSchema
    url: json-schema/kubevirt-vm-schema.json
  - type: Documentation
    url: https://kubevirt.io/user-guide/storage/containerized_data_importer/
  - type: Reference
    url: https://kubevirt.io/cdi-api-reference/
  - type: GitHubRepository
    url: https://github.com/kubevirt/containerized-data-importer
- aid: kubevirt:kubevirt-storageprofiles-api
  name: KubeVirt StorageProfiles API
  description: Operations for managing StorageProfile resources. StorageProfiles describe the capabilities of a StorageClass
    and provide default clone and access mode strategies.
  humanURL: https://kubevirt.io/user-guide/
  tags:
  - StorageProfiles
  properties:
  - type: OpenAPI
    url: openapi/kubevirt-storageprofiles-api-openapi.yml
  - type: Documentation
    url: https://kubevirt.io/user-guide/
  - type: Reference
    url: https://kubevirt.io/api-reference/
  - type: JSONSchema
    url: json-schema/kubevirt-vm-schema.json
  - type: Documentation
    url: https://kubevirt.io/user-guide/storage/containerized_data_importer/
  - type: Reference
    url: https://kubevirt.io/cdi-api-reference/
  - type: GitHubRepository
    url: https://github.com/kubevirt/containerized-data-importer
- aid: kubevirt:kubevirt-virtualmachineinstancemigrations-api
  name: KubeVirt VirtualMachineInstanceMigrations API
  description: Operations for managing live migration of VirtualMachineInstances from one node to another without downtime.
  humanURL: https://kubevirt.io/user-guide/
  tags:
  - VirtualMachineInstanceMigrations
  properties:
  - type: OpenAPI
    url: openapi/kubevirt-virtualmachineinstancemigrations-api-openapi.yml
  - type: Documentation
    url: https://kubevirt.io/user-guide/
  - type: Reference
    url: https://kubevirt.io/api-reference/
  - type: JSONSchema
    url: json-schema/kubevirt-vm-schema.json
  - type: Documentation
    url: https://kubevirt.io/user-guide/storage/containerized_data_importer/
  - type: Reference
    url: https://kubevirt.io/cdi-api-reference/
  - type: GitHubRepository
    url: https://github.com/kubevirt/containerized-data-importer
- aid: kubevirt:kubevirt-virtualmachineinstances-api
  name: KubeVirt VirtualMachineInstances API
  description: Operations for managing VirtualMachineInstance (VMI) resources. A VirtualMachineInstance represents a running
    virtual machine and tracks its actual state.
  humanURL: https://kubevirt.io/user-guide/
  tags:
  - VirtualMachineInstances
  properties:
  - type: OpenAPI
    url: openapi/kubevirt-virtualmachineinstances-api-openapi.yml
  - type: Documentation
    url: https://kubevirt.io/user-guide/
  - type: Reference
    url: https://kubevirt.io/api-reference/
  - type: JSONSchema
    url: json-schema/kubevirt-vm-schema.json
  - type: Documentation
    url: https://kubevirt.io/user-guide/storage/containerized_data_importer/
  - type: Reference
    url: https://kubevirt.io/cdi-api-reference/
  - type: GitHubRepository
    url: https://github.com/kubevirt/containerized-data-importer
- aid: kubevirt:kubevirt-virtualmachines-api
  name: KubeVirt VirtualMachines API
  description: Operations for managing VirtualMachine (VM) resources. A VirtualMachine defines the desired state and configuration
    of a virtual machine, providing lifecycle management and persistence across restarts.
  humanURL: https://kubevirt.io/user-guide/
  tags:
  - VirtualMachines
  properties:
  - type: OpenAPI
    url: openapi/kubevirt-virtualmachines-api-openapi.yml
  - type: Documentation
    url: https://kubevirt.io/user-guide/
  - type: Reference
    url: https://kubevirt.io/api-reference/
  - type: JSONSchema
    url: json-schema/kubevirt-vm-schema.json
  - type: Documentation
    url: https://kubevirt.io/user-guide/storage/containerized_data_importer/
  - type: Reference
    url: https://kubevirt.io/cdi-api-reference/
  - type: GitHubRepository
    url: https://github.com/kubevirt/containerized-data-importer
- aid: kubevirt:kubevirt-vmconsole-api
  name: KubeVirt VMConsole API
  description: Subresource endpoints for accessing VM consoles via VNC, serial console, and USB redirection.
  humanURL: https://kubevirt.io/user-guide/
  tags:
  - VMConsole
  properties:
  - type: OpenAPI
    url: openapi/kubevirt-vmconsole-api-openapi.yml
  - type: Documentation
    url: https://kubevirt.io/user-guide/
  - type: Reference
    url: https://kubevirt.io/api-reference/
  - type: JSONSchema
    url: json-schema/kubevirt-vm-schema.json
  - type: Documentation
    url: https://kubevirt.io/user-guide/storage/containerized_data_importer/
  - type: Reference
    url: https://kubevirt.io/cdi-api-reference/
  - type: GitHubRepository
    url: https://github.com/kubevirt/containerized-data-importer
- aid: kubevirt:kubevirt-vmlifecycle-api
  name: KubeVirt VMLifecycle API
  description: Subresource operations for VM lifecycle management including start, stop, pause, unpause, restart, migrate,
    and adding/removing volumes.
  humanURL: https://kubevirt.io/user-guide/
  tags:
  - VMLifecycle
  properties:
  - type: OpenAPI
    url: openapi/kubevirt-vmlifecycle-api-openapi.yml
  - type: Documentation
    url: https://kubevirt.io/user-guide/
  - type: Reference
    url: https://kubevirt.io/api-reference/
  - type: JSONSchema
    url: json-schema/kubevirt-vm-schema.json
  - type: Documentation
    url: https://kubevirt.io/user-guide/storage/containerized_data_importer/
  - type: Reference
    url: https://kubevirt.io/cdi-api-reference/
  - type: GitHubRepository
    url: https://github.com/kubevirt/containerized-data-importer
common:
- type: AgenticAccess
  url: agentic-access/kubevirt-agentic-access.yml
- type: DomainSecurity
  url: security/kubevirt-domain-security.yml
- type: Website
  url: https://kubevirt.io/
- type: JSONLD
  url: json-ld/kubevirt-context.jsonld
- type: JSONSchema
  url: json-schema/kubevirt-vm-schema.json
- type: Documentation
  url: https://kubevirt.io/user-guide/
- type: GitHubOrganization
  url: https://github.com/kubevirt
- type: GitHubRepository
  url: https://github.com/kubevirt/kubevirt
- type: Blog
  url: https://kubevirt.io/blogs/
- type: Community
  url: https://github.com/kubevirt/community
maintainers:
- FN: Kin Lane
  email: kin@apievangelist.com