KubeVirt DataSources API

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

Operations 4

GET /apis/cdi.kubevirt.io/v1beta1/namespaces/{namespace}/datasources KubeVirt List DataSources in a namespace #
POST /apis/cdi.kubevirt.io/v1beta1/namespaces/{namespace}/datasources KubeVirt Create a DataSource #
GET /apis/cdi.kubevirt.io/v1beta1/namespaces/{namespace}/datasources/{name} KubeVirt Get a DataSource #
DELETE /apis/cdi.kubevirt.io/v1beta1/namespaces/{namespace}/datasources/{name} KubeVirt Delete a DataSource #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/kubevirt-datasources-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

kubevirt-datasources-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: KubeVirt Containerized Data Importer Data Sources API
  description: The KubeVirt Containerized Data Importer (CDI) API provides Kubernetes CRD endpoints for managing virtual machine disk image import and cloning pipelines. CDI introduces DataVolume, DataSource, and StorageProfile resources that automate importing VM disk images from HTTP, S3, OCI registries, and other sources into PersistentVolumeClaims ready for use as KubeVirt VM disks.
  version: 1.59.0
  contact:
    name: KubeVirt Community
    url: https://kubevirt.io/
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
servers:
- url: https://{kubernetes-api-server}
  description: Kubernetes API server
  variables:
    kubernetes-api-server:
      default: localhost:6443
      description: Address of the Kubernetes API server
tags:
- name: DataSources
  description: Operations for managing DataSource resources. A DataSource references an existing DataVolume or VolumeSnapshot as a source for cloning into new DataVolumes.
paths:
  /apis/cdi.kubevirt.io/v1beta1/namespaces/{namespace}/datasources:
    get:
      operationId: listNamespacedDataSource
      summary: KubeVirt List DataSources in a namespace
      description: Returns all DataSource resources in the specified namespace. DataSources reference DataVolumes or VolumeSnapshots that can be used as clone sources.
      tags:
      - DataSources
      parameters:
      - $ref: '#/components/parameters/namespace'
      - $ref: '#/components/parameters/labelSelector'
      - $ref: '#/components/parameters/limit'
      responses:
        '200':
          description: List of DataSources
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataSourceList'
        '401':
          description: Unauthorized
    post:
      operationId: createNamespacedDataSource
      summary: KubeVirt Create a DataSource
      description: Creates a DataSource that points to a DataVolume or VolumeSnapshot as a reusable clone source for new DataVolumes.
      tags:
      - DataSources
      parameters:
      - $ref: '#/components/parameters/namespace'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DataSource'
      responses:
        '201':
          description: DataSource created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataSource'
        '400':
          description: Invalid DataSource specification
        '401':
          description: Unauthorized
  /apis/cdi.kubevirt.io/v1beta1/namespaces/{namespace}/datasources/{name}:
    get:
      operationId: readNamespacedDataSource
      summary: KubeVirt Get a DataSource
      description: Returns the specified DataSource including its source reference and ready status.
      tags:
      - DataSources
      parameters:
      - $ref: '#/components/parameters/namespace'
      - $ref: '#/components/parameters/name'
      responses:
        '200':
          description: DataSource details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataSource'
        '401':
          description: Unauthorized
        '404':
          description: DataSource not found
    delete:
      operationId: deleteNamespacedDataSource
      summary: KubeVirt Delete a DataSource
      description: Deletes the specified DataSource resource.
      tags:
      - DataSources
      parameters:
      - $ref: '#/components/parameters/namespace'
      - $ref: '#/components/parameters/name'
      responses:
        '200':
          description: DataSource deleted
        '401':
          description: Unauthorized
        '404':
          description: DataSource not found
components:
  schemas:
    DataSourceList:
      type: object
      description: List of DataSource resources.
      properties:
        apiVersion:
          type: string
        kind:
          type: string
        items:
          type: array
          items:
            $ref: '#/components/schemas/DataSource'
    ObjectMeta:
      type: object
      description: Standard Kubernetes object metadata.
      required:
      - name
      properties:
        name:
          type: string
          description: Name of the resource.
        namespace:
          type: string
          description: Namespace the resource belongs to.
        labels:
          type: object
          additionalProperties:
            type: string
        annotations:
          type: object
          additionalProperties:
            type: string
        resourceVersion:
          type: string
        uid:
          type: string
        creationTimestamp:
          type: string
          format: date-time
    DataSource:
      type: object
      description: A CDI DataSource referencing a DataVolume or VolumeSnapshot as a reusable source for cloning into new DataVolumes.
      required:
      - apiVersion
      - kind
      - metadata
      - spec
      properties:
        apiVersion:
          type: string
          enum:
          - cdi.kubevirt.io/v1beta1
        kind:
          type: string
          enum:
          - DataSource
        metadata:
          $ref: '#/components/schemas/ObjectMeta'
        spec:
          type: object
          description: DataSource specification.
          properties:
            source:
              type: object
              description: Reference to the clone source.
              properties:
                pvc:
                  type: object
                  description: PVC clone source reference.
                  properties:
                    name:
                      type: string
                    namespace:
                      type: string
                snapshot:
                  type: object
                  description: VolumeSnapshot clone source reference.
                  properties:
                    name:
                      type: string
                    namespace:
                      type: string
        status:
          type: object
          description: DataSource readiness status.
          properties:
            conditions:
              type: array
              items:
                type: object
            source:
              type: object
              description: Resolved source reference.
  parameters:
    name:
      name: name
      in: path
      required: true
      description: The name of the resource.
      schema:
        type: string
    namespace:
      name: namespace
      in: path
      required: true
      description: The Kubernetes namespace.
      schema:
        type: string
    limit:
      name: limit
      in: query
      required: false
      description: Maximum number of results per page.
      schema:
        type: integer
        minimum: 1
    labelSelector:
      name: labelSelector
      in: query
      required: false
      description: Label selector to filter resources.
      schema:
        type: string
externalDocs:
  description: CDI Documentation
  url: https://kubevirt.io/user-guide/storage/containerized_data_importer/