Awanio Dashboard API Documentation (v1.5.4)

License: Proprietary

Welcome to the Awanio Dashboard API Documentation. This API provides access to various resources of Awanio Dashboard, secured with Basic Authentication. Before you can make any authenticated requests, you need to understand how to obtain and use your API token.

How to Obtain Your API Token

Your API token for Basic Authentication is essentially your access-key and access-secret combined and then Base64 encoded. You will typically receive your access-key and access-secret from the awadm a CLI to manage Awanio Dashboard. Go to https://docs.awan.io/en/dashboard/awadm page for more detail awadm user guide.

Run following command to get the api credential. It will print the access-key and access-secret string. Make sure to keep the value save since it not retrieveable.

awadm serviceaccount generate --name my-api-name

How to Use Your API Token

Once you have your API token, you must include it in the Authorization header of every authenticated API request. The format for the header is Authorization: Basic <your_base64_encoded_token>. If you use curl, use -u param to pass you credential.

Example curl request:

url https://192.168.1.2/v2/sa
  -u "access-key:access-secret"

API URL

The host of the API host or IP adress is depend on your Awanio installation setup. The basepath is /v2/sa.

https://api-host/v2/sa

Virtual Machines

Operations for managing virtual machine (compute) resources in the dashboard.

List of virtual machines

This operation gets a list of VMs, allowing for sorting, filtering and pagination

Authorizations:
basicAuth
query Parameters
page
integer
Default: 1

Page number for pagination.

per_page
integer
Default: 5

Number of items per page.

sort_by
string

Field to sort the results by.

order_by
string
Default: "desc"
Enum: "asc" "desc"

Order of sorting (ascending or descending).

search
string

String to use as the search keyword

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "meta": {
    },
  • "result": true
}

Create new virtual machine

Creates a new virtual machine (compute instance) with the specified configuration. Supports various disk actions (create, clone, attach), multiple network configurations, PCI device passthrough, and cloud-init for initial provisioning.

Authorizations:
basicAuth
Request Body schema: application/json
required
name
required
string

Name of the virtual machine

organization_uuid
required
string <uuid>

UUID of the organization

project_uuid
string <uuid>

UUID of the project (optional)

memory
required
number

Memory in MB

vcpus
required
number

Number of virtual CPUs

required
object
os_variant_uuid
required
string <uuid>

UUID of the OS variant

architecture
string

CPU architecture

bootloader_type
string

Bootloader type (e.g., "uefi")

secure_boot
boolean
Default: false

Enable secure boot

tpm
boolean
Default: false

Enable TPM (Trusted Platform Module)

Array of objects

Network interface configurations

Array of objects

PCI device passthrough configurations

object

Cloud-init configuration for initial provisioning

autostart
boolean
Default: false

Automatically start VM after creation

hostname
required
string

VM hostname

object

Key-value tags for metadata

note
string

Additional notes

catalogue_uuid
string <uuid>

Catalogue UUID (optional)

Responses

Request samples

Content type
application/json
Example
{
  • "name": "enterprise-workstation",
  • "organization_uuid": "7157e2ee-afd5-4658-9086-d00bc4f74eee",
  • "memory": 32768,
  • "vcpus": 16,
  • "storage": {
    },
  • "os_variant_uuid": "019a0987-6543-21fe-dcba-987654321098",
  • "architecture": "x86_64",
  • "bootloader_type": "uefi",
  • "secure_boot": true,
  • "tpm": true,
  • "networks": [
    ],
  • "pci_devices": [
    ],
  • "cloud_init": {
    },
  • "autostart": true,
  • "hostname": "enterprise-workstation",
  • "tags": {
    },
  • "note": "High-performance workstation for AI/ML workloads"
}

Response samples

Content type
application/json
{
  • "result": true,
  • "data": {
    }
}

Get a virtual machine

This operation gets detail a of VMs.

Authorizations:
basicAuth
path Parameters
uuid
required
string <uuid>

Object UUID used by various resources.

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "result": true
}

Clone a virtual machine

This operation creates a new vm by cloning the current vm

Authorizations:
basicAuth
path Parameters
uuid
required
string <uuid>

Object UUID used by various resources.

Request Body schema: application/json
total_clone
integer [ 1 .. 5 ]

How many new VM to create. The maximum valus is 5

Responses

Request samples

Content type
application/json
{
  • "total_clone": 1
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "result": true
}

Delete a virtual machine

This operation submits a request to delete an existing Virtual Machine

Authorizations:
basicAuth
path Parameters
uuid
required
string <uuid>

Object UUID used by various resources.

Responses

Response samples

Content type
application/json
{
  • "data": "Deleting vm will contine in the background",
  • "result": true
}

Update a virtual machine info

This operation update title or tags of the virtual machine

Authorizations:
basicAuth
path Parameters
uuid
required
string <uuid>

Object UUID used by various resources.

Request Body schema: application/json
tags
Array of arrays

A list of strings

title
string

New virtual machine name

Responses

Request samples

Content type
application/json
{
  • "tags": [
    ],
  • "title": "my-new-vm"
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "result": true
}

VM disk metrics

Authorizations:
basicAuth
path Parameters
vmuuid
required
string <uuid>

VM UUID

query Parameters
since_x_minute_ago
integer >= 1

Number of minutes ago from now to start the range. Mutually exclusive with start/end.

start
string
Example: start=2006-01-02 15:04:05

Start time in RFC3339-like layout per Go time.DateTime (e.g., 2006-01-02 15:04:05).

end
string
Example: end=2006-01-02 16:04:05

End time in RFC3339-like layout per Go time.DateTime (e.g., 2006-01-02 16:04:05).

minute_step
integer >= 1

Aggregation minute step (default varies by metric).

Responses

Response samples

Content type
application/json
{
  • "result": true,
  • "data": {
    }
}

List ISO images

Returns a paginated list of ISO images available to the superadmin.

Authorizations:
basicAuth
query Parameters
page
integer
Default: 1

Page number for pagination.

per_page
integer
Default: 5

Number of items per page.

sort_by
string

Field to sort the results by.

order_by
string
Default: "desc"
Enum: "asc" "desc"

Order of sorting (ascending or descending).

search
string

String to use as the search keyword

status
string

Filter images by status.

Responses

Response samples

Content type
application/json
{
  • "result": true,
  • "data": [
    ],
  • "meta": {
    }
}

Create ISO image

Uploads a new ISO image and registers it as a catalogue entry for use when creating virtual machines.

Authorizations:
basicAuth
Request Body schema: multipart/form-data
required
image
required
string <binary>

ISO image file (.iso) to upload.

name
required
string

Human-readable image name.

os_uuid
required
string <uuid>

OS variant UUID associated with this image.

description
required
string

Description of the image.

Responses

Response samples

Content type
application/json
{
  • "result": true,
  • "data": {
    }
}

Get ISO image

Returns details of a single ISO image.

Authorizations:
basicAuth
path Parameters
uuid
required
string <uuid>

ISO image UUID.

Responses

Response samples

Content type
application/json
{
  • "result": true,
  • "data": {
    }
}

Update ISO image

Updates metadata of an existing ISO image.

Authorizations:
basicAuth
path Parameters
uuid
required
string <uuid>

ISO image UUID.

Request Body schema: application/json
required
name
string

New name for the ISO image.

os_uuid
string <uuid>

New OS variant UUID associated with this image.

description
string

New description of the image.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "os_uuid": "e7d08566-0f60-44b3-8b51-f5f7397c1d50",
  • "description": "string"
}

Response samples

Content type
application/json
{
  • "result": true,
  • "data": {
    }
}

Delete ISO image

Deletes a custom ISO image.

Authorizations:
basicAuth
path Parameters
uuid
required
string <uuid>

ISO image UUID.

Responses

Response samples

Content type
application/json
{
  • "result": true,
  • "data": "Delete custom image successfully"
}

List OS variants

Returns the list of OS variants that can be used when creating virtual machines.

Authorizations:
basicAuth
query Parameters
search
string

String to use as the search keyword

Responses

Response samples

Content type
application/json
{
  • "result": true,
  • "data": [
    ]
}

Get OS variant

Returns details of a single OS variant.

Authorizations:
basicAuth
path Parameters
os_uuid
required
string <uuid>

OS variant UUID.

Responses

Response samples

Content type
application/json
{
  • "result": true,
  • "data": {
    }
}

List catalogues

Returns the list of catalogues (images and templates) that can be used when creating virtual machines.

Authorizations:
basicAuth
query Parameters
page
integer
Default: 1

Page number for pagination.

per_page
integer
Default: 5

Number of items per page.

sort_by
string

Field to sort the results by.

order_by
string
Default: "desc"
Enum: "asc" "desc"

Order of sorting (ascending or descending).

search
string

String to use as the search keyword

group
string

Filter catalogues by group.

type
string

Filter catalogues by type (for example, os, addon).

service
string

Filter catalogues by service.

Responses

Response samples

Content type
application/json
{
  • "result": true,
  • "data": [
    ],
  • "meta": {
    }
}

Create catalogue entry

Creates a new catalogue entry (for example, an OS image template) that can be used when provisioning virtual machines.

Authorizations:
basicAuth
Request Body schema: multipart/form-data
required
image
required
string <binary>

Disk image file (raw, qcow, qcow2, vmdk, iso, etc.).

logo
string <binary>

Optional logo image (jpeg, jpg, png).

name
string

Human-readable catalogue name.

type
required
string

Catalogue type (e.g. os, addon, managed).

min_storage_gb
required
number

Minimum required storage size in GB.

group
string

Logical group for this catalogue entry.

version
string

Version string.

info
string

Additional information about this catalogue entry.

service
required
string

Service category for this catalogue (for example, compute).

visibility
required
string
Enum: "private" "public"

Visibility of this catalogue.

authentication_type
required
string

Authentication types as a JSON array string, for example: ["password","ssh_key"].

os_variant_uuid
string <uuid>

Optional OS variant UUID this catalogue is based on.

bootloader_type
string
Enum: "bios" "efi"

Bootloader type used when booting from this catalogue.

is_secure_boot
boolean

Whether secure boot is enabled for this catalogue.

Responses

Response samples

Content type
application/json
{
  • "result": true,
  • "data": {
    }
}

Get catalogue entry

Returns details of a single catalogue entry.

Authorizations:
basicAuth
path Parameters
uuid
required
string <uuid>

Object UUID used by various resources.

Responses

Response samples

Content type
application/json
{
  • "result": true,
  • "data": {
    }
}

Update catalogue entry

Updates an existing catalogue entry.

Authorizations:
basicAuth
path Parameters
uuid
required
string <uuid>

Object UUID used by various resources.

Request Body schema: multipart/form-data
required
image
string <binary>

New disk image file to replace the existing one.

logo
string <binary>

New logo image.

name
string
type
required
string
min_storage_gb
required
number
group
string
version
string
info
string
service
required
string
visibility
required
string
Enum: "private" "public"
authentication_type
required
string

Authentication types as JSON array string.

os_variant_uuid
string <uuid>
bootloader_type
string
Enum: "bios" "efi"
is_secure_boot
boolean

Responses

Response samples

Content type
application/json
{
  • "result": true,
  • "data": {
    }
}

Delete catalogue entry

Deletes an existing catalogue entry.

Authorizations:
basicAuth
path Parameters
uuid
required
string <uuid>

Object UUID used by various resources.

Responses

Response samples

Content type
application/json
{
  • "result": true,
  • "data": "deleted"
}

Export a Virtual Machine

Exports a virtual machine using KubeVirt Export API. Creates a VirtualMachineExport resource that provides download links for all VM disks and manifest files. The export includes TLS certificates and tokens for secure access. Export URLs are proxied through the API for simplified client access.

Authorizations:
basicAuth
path Parameters
uuid
required
string <uuid>

Object UUID used by various resources.

query Parameters
ttlDuration
string
Default: "2h"
Example: ttlDuration=2h

Time-to-live duration for the export. Accepts Go duration format (e.g., "1h", "2h30m", "30m"). Default is "2h". After this duration, the export resources will be cleaned up.

Request Body schema: application/json
optional
ttlDuration
string

Alternative way to specify TTL via request body

Responses

Request samples

Content type
application/json
{
  • "ttlDuration": "2h"
}

Response samples

Content type
application/json
{
  • "result": true,
  • "data": {
    }
}

Download VM Export Assets

Proxies download requests to the internal KubeVirt export service. This endpoint handles TLS certificate injection and token authentication automatically, simplifying the download process for clients. Supports downloading disk images (raw or gzip) and VM manifests in JSON or OVF format.

Authorizations:
basicAuth
path Parameters
uuid
required
string <uuid>

UUID of the VM being exported

path
required
string
Examples:
  • disk/boot-disk/disk.img - Raw disk image
  • disk/boot-disk/disk.img.gz - Compressed disk image
  • manifest/vm-export.json - VM manifest in JSON format
  • manifest/vm-export.ovf - VM manifest in OVF format

Download path for the asset. Can be:

  • disk/{disk-name}/{filename} - Download a disk image
  • manifest/{filename} - Download the VM manifest

Responses

Response samples

Content type
No sample

Volumes

Operations for managing block storage volumes attached to compute instances.

Delete a Volume

Operation to delete a volume based on its uuid.

Authorizations:
basicAuth
path Parameters
uuid
required
string <uuid>

Object UUID used by various resources.

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "result": true
}

Update a Volume

Operation to update a volume based on its uuid.

Authorizations:
basicAuth
path Parameters
uuid
required
string <uuid>

Object UUID used by various resources.

Request Body schema: application/json
label
required
string

New volume label

Responses

Request samples

Content type
application/json
{
  • "label": "my-new-volume"
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "result": true
}

Export Volume

Export a volume using KubeVirt Export API. This endpoint creates a VirtualMachineExport resource for the volume's PVC and returns download links for the disk image along with authentication credentials. The volume can be backed by either a DataVolume or PVC directly.

The export process:

  1. Determines the underlying PVC (extracts from DataVolume if needed)
  2. Creates a VirtualMachineExport resource with the PVC as source
  3. Waits for the export to become ready (up to 5 minutes)
  4. Returns download URLs that are proxied through the API

Download URLs include both raw and gzip-compressed formats. All downloads are authenticated using the provided token and TLS certificate.

Authorizations:
basicAuth
path Parameters
uuid
required
string <uuid>

UUID of the volume to export

query Parameters
ttlDuration
string
Default: "2h"
Example: ttlDuration=2h

Time-to-live for the export in Go duration format

Request Body schema: application/json
optional
ttlDuration
string
Default: "2h"

Time-to-live for the export in Go duration format (e.g., "1h", "30m", "2h")

Responses

Request samples

Content type
application/json
{
  • "ttlDuration": "2h"
}

Response samples

Content type
application/json
{
  • "result": true,
  • "data": {
    }
}

Download Volume Export Assets

Proxies download requests to the internal KubeVirt export service for volumes. This endpoint handles TLS certificate injection and token authentication automatically, simplifying the download process for clients. Supports downloading both disk images (raw or gzip) and volume export manifests.

The proxy:

  • Retrieves export metadata from Redis
  • Injects TLS certificate and authentication token
  • Streams the response from the internal export service to the client
  • Handles both binary disk images and JSON manifests
Authorizations:
basicAuth
path Parameters
uuid
required
string <uuid>

UUID of the volume being exported

path
required
string
Examples:
  • disk/example-volume/disk.img - Raw disk image
  • disk/example-volume/disk.img.gz - Compressed disk image
  • manifest/volume-export.json - Volume export manifest

Download path for the asset. Can be:

  • disk/{volume-name}/{filename} - Download a disk image
  • manifest/{filename} - Download the volume export manifest

Responses

Response samples

Content type
No sample

Upload Volume Data (Proxy)

Proxies volume upload requests to the internal CDI (Containerized Data Importer) upload service. This endpoint automatically injects the authentication token stored in Redis, so clients don't need to manage tokens manually.

To upload a disk image:

  1. Call POST /volumes/import to create the volume(s)
  2. Use the returned upload_url to POST the disk image file
  3. The upload is streamed directly to the CDI service

Supports uploading raw disk images, QCOW2, VMDK, and other formats supported by CDI. Maximum upload time: 30 minutes.

Authorizations:
basicAuth
path Parameters
volume_uuid
required
string <uuid>

UUID of the volume to upload to

Request Body schema: application/octet-stream
required
string <binary>

Raw disk image file (QCOW2, VMDK, RAW, etc.)

Responses

Response samples

Content type
application/json
{ }

Networks

Networking APIs, including virtual switches and Kube-OVN resources.

List virtual switches

Returns the list of virtual switches defined as Multus NetworkAttachmentDefinitions that are managed by Awanio (annotated with awan.io/vswitch).

Authorizations:
basicAuth

Responses

Response samples

Content type
application/json
{
  • "result": true,
  • "data": [
    ]
}

Create virtual switch

Creates a new virtual switch by creating a Multus NetworkAttachmentDefinition and, when IPAM is set to auto with the cluster option, a Kube-OVN Subnet.

Authorizations:
basicAuth
Request Body schema: application/json
required
name
required
string

Virtual switch name.

description
string

Human-readable description of the virtual switch.

mode
required
string
Enum: "vlan" "bridge"

Switch mode.

vlan_id
number <float>

VLAN ID (1-4094) when mode is vlan.

master_interface
string

Host interface used as VLAN parent when mode is vlan.

bridge_name
string

Name of the Linux bridge when mode is bridge.

ipam
required
string
Enum: "auto" "static"

IP address management mode.

ipam_options
string
Enum: "cluster" "dhcp"

IPAM backend when ipam is auto.

subnet
string

CIDR block used when ipam_options is cluster.

gateway_ip
string

Gateway IPv4 address for the subnet.

exclude_ips
Array of strings

IPs or ranges excluded from allocation.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "mode": "vlan",
  • "vlan_id": 0.1,
  • "master_interface": "string",
  • "bridge_name": "string",
  • "ipam": "auto",
  • "ipam_options": "cluster",
  • "subnet": "string",
  • "gateway_ip": "string",
  • "exclude_ips": [
    ]
}

Response samples

Content type
application/json
{
  • "result": true,
  • "data": {
    }
}

List supported virtual switch types

Returns the list of supported virtual switch backend types.

Authorizations:
basicAuth

Responses

Response samples

Content type
application/json
{
  • "result": true,
  • "data": [
    ]
}

Get virtual switch

Returns details of a single virtual switch managed by Awanio.

Authorizations:
basicAuth
path Parameters
name
required
string

Virtual switch name.

Responses

Response samples

Content type
application/json
{
  • "result": true,
  • "data": {
    }
}

Update virtual switch

Updates an existing virtual switch configuration. Some fields (such as name, mode, ipam, ipam_options and, for cluster IPAM, subnet) cannot be changed and will result in a validation error.

Authorizations:
basicAuth
path Parameters
name
required
string

Virtual switch name.

Request Body schema: application/json
required
description
string
master_interface
string
bridge_name
string
vlan_id
number <float>
exclude_ips
Array of strings
gateway_ip
string
subnet
string

Responses

Request samples

Content type
application/json
{
  • "description": "string",
  • "master_interface": "string",
  • "bridge_name": "string",
  • "vlan_id": 0.1,
  • "exclude_ips": [
    ],
  • "gateway_ip": "string",
  • "subnet": "string"
}

Response samples

Content type
application/json
{
  • "result": true,
  • "data": {
    }
}

Delete virtual switch

Deletes a virtual switch and, for cluster-managed IPAM, its associated Kube-OVN subnet after verifying that no IP addresses are still in use.

Authorizations:
basicAuth
path Parameters
name
required
string

Virtual switch name.

Responses

Response samples

Content type
application/json
{
  • "result": true,
  • "data": { }
}

List provider networks

Returns the list of Kube-OVN ProviderNetwork custom resources.

Authorizations:
basicAuth

Responses

Response samples

Content type
application/json
{
  • "result": true,
  • "data": { }
}

Create provider network

Create a Kube-OVN ProviderNetwork. The server will automatically inject apiVersion and kind (kubeovn.io/v1, ProviderNetwork) based on this endpoint, so the request body only needs to include metadata and spec.

Authorizations:
basicAuth
Request Body schema: application/json
required
required
object
spec
required
object

Raw Kube-OVN ProviderNetwork spec

Responses

Request samples

Content type
application/json
{
  • "metadata": {
    },
  • "spec": {
    }
}

Response samples

Content type
application/json
{
  • "result": true,
  • "data": { }
}

Get provider network

Authorizations:
basicAuth
path Parameters
name
required
string

Name of the ProviderNetwork

Responses

Response samples

Content type
application/json
{
  • "result": true,
  • "data": { }
}

Update provider network

Fully update an existing ProviderNetwork's spec. The metadata.name field in the request body must match the {name} path parameter. apiVersion and kind are injected automatically.

Authorizations:
basicAuth
path Parameters
name
required
string

Name of the ProviderNetwork

Request Body schema: application/json
required
required
object
spec
required
object

Responses

Request samples

Content type
application/json
{
  • "metadata": {
    },
  • "spec": {
    }
}

Response samples

Content type
application/json
{
  • "result": true,
  • "data": { }
}

Patch provider network

Currently behaves the same as PUT: expects a full spec in the request body and replaces the existing spec.

Authorizations:
basicAuth
path Parameters
name
required
string

Name of the ProviderNetwork

Request Body schema: application/json
required
required
object
spec
required
object

Responses

Request samples

Content type
application/json
{
  • "metadata": {
    },
  • "spec": { }
}

Response samples

Content type
application/json
{
  • "result": true,
  • "data": { }
}

Delete provider network

Authorizations:
basicAuth
path Parameters
name
required
string

Name of the ProviderNetwork

Responses

Response samples

Content type
application/json
{
  • "result": true,
  • "data": { }
}

List VLANs

Returns the list of Kube-OVN Vlan custom resources.

Authorizations:
basicAuth

Responses

Response samples

Content type
application/json
{
  • "result": true,
  • "data": { }
}

Create VLAN

Create a Kube-OVN Vlan. The server injects apiVersion and kind automatically.

Authorizations:
basicAuth
Request Body schema: application/json
required
required
object
spec
required
object

Raw Kube-OVN Vlan spec (e.g. id, provider).

Responses

Request samples

Content type
application/json
{
  • "metadata": {
    },
  • "spec": { }
}

Response samples

Content type
application/json
{
  • "result": true,
  • "data": { }
}

Get VLAN

Authorizations:
basicAuth
path Parameters
name
required
string

Name of the VLAN

Responses

Response samples

Content type
application/json
{
  • "result": true,
  • "data": { }
}

Update VLAN

Fully update an existing Vlan's spec. The metadata.name field in the request body must match the {name} path parameter.

Authorizations:
basicAuth
path Parameters
name
required
string

Name of the VLAN

Request Body schema: application/json
required
required
object
spec
required
object

Responses

Request samples

Content type
application/json
{
  • "metadata": {
    },
  • "spec": { }
}

Response samples

Content type
application/json
{
  • "result": true,
  • "data": { }
}

Patch VLAN

Currently behaves the same as PUT: expects a full spec and replaces the existing spec.

Authorizations:
basicAuth
path Parameters
name
required
string

Name of the VLAN

Request Body schema: application/json
required
required
object
spec
required
object

Responses

Request samples

Content type
application/json
{
  • "metadata": {
    },
  • "spec": { }
}

Response samples

Content type
application/json
{
  • "result": true,
  • "data": { }
}

Delete VLAN

Authorizations:
basicAuth
path Parameters
name
required
string

Name of the VLAN

Responses

Response samples

Content type
application/json
{
  • "result": true,
  • "data": { }
}

List subnets

Returns the list of Kube-OVN Subnet custom resources.

Authorizations:
basicAuth

Responses

Response samples

Content type
application/json
{
  • "result": true,
  • "data": { }
}

Get subnet

Authorizations:
basicAuth
path Parameters
name
required
string

Name of the Subnet

Responses

Response samples

Content type
application/json
{
  • "result": true,
  • "data": { }
}

List IPs

Returns the list of Kube-OVN IP custom resources.

Authorizations:
basicAuth

Responses

Response samples

Content type
application/json
{
  • "result": true,
  • "data": { }
}

Get IP

Authorizations:
basicAuth
path Parameters
name
required
string

Name of the IP resource

Responses

Response samples

Content type
application/json
{
  • "result": true,
  • "data": { }
}

List IP pools

Returns the list of Kube-OVN IPPool custom resources.

Authorizations:
basicAuth

Responses

Response samples

Content type
application/json
{
  • "result": true,
  • "data": { }
}

Get IP pool

Authorizations:
basicAuth
path Parameters
name
required
string

Name of the IPPool resource

Responses

Response samples

Content type
application/json
{
  • "result": true,
  • "data": { }
}

List VPCs

Returns the list of Kube-OVN Vpc custom resources.

Authorizations:
basicAuth

Responses

Response samples

Content type
application/json
{
  • "result": true,
  • "data": { }
}

Create VPC

Create a Kube-OVN Vpc. The server injects apiVersion and kind automatically.

Authorizations:
basicAuth
Request Body schema: application/json
required
required
object
spec
required
object

Raw Kube-OVN Vpc spec (for example, staticRoutes).

Responses

Request samples

Content type
application/json
{
  • "metadata": {
    },
  • "spec": { }
}

Response samples

Content type
application/json
{
  • "result": true,
  • "data": { }
}

Get VPC

Authorizations:
basicAuth
path Parameters
name
required
string

Name of the Vpc resource

Responses

Response samples

Content type
application/json
{
  • "result": true,
  • "data": { }
}

Update VPC

Fully update an existing Vpc's spec. The metadata.name field in the request body must match the {name} path parameter.

Authorizations:
basicAuth
path Parameters
name
required
string

Name of the Vpc resource

Request Body schema: application/json
required
required
object
spec
required
object

Responses

Request samples

Content type
application/json
{
  • "metadata": {
    },
  • "spec": { }
}

Response samples

Content type
application/json
{
  • "result": true,
  • "data": { }
}

Patch VPC

Currently behaves the same as PUT: expects a full spec and replaces the existing spec.

Authorizations:
basicAuth
path Parameters
name
required
string

Name of the Vpc resource

Request Body schema: application/json
required
required
object
spec
required
object

Responses

Request samples

Content type
application/json
{
  • "metadata": {
    },
  • "spec": { }
}

Response samples

Content type
application/json
{
  • "result": true,
  • "data": { }
}

Delete VPC

Authorizations:
basicAuth
path Parameters
name
required
string

Name of the Vpc resource

Responses

Response samples

Content type
application/json
{
  • "result": true,
  • "data": { }
}

Storages

Storage pool and storage backend management APIs for the superadmin dashboard.

List storage pools

Returns storage pools configured in the platform. You can filter by pricing plan type, resource usage, and a free-text search keyword.

Authorizations:
basicAuth
query Parameters
plans_type
string

Filter by pricing plan type (for example, customize).

suitable_for
string

Filter by resource type this pool is suitable for (for example, volume).

search
string

Search storage pools by name (substring match).

Responses

Response samples

Content type
application/json
{
  • "result": true,
  • "data": [
    ]
}

Get storage pool

Returns details of a single storage pool.

Authorizations:
basicAuth
path Parameters
uuid
required
string <uuid>

Storage pool UUID.

Responses

Response samples

Content type
application/json
{
  • "result": true,
  • "data": {
    }
}

List storage pool backends

Returns available storage backends used by storage pools (for example, Ceph or local storage).

Authorizations:
basicAuth

Responses

Response samples

Content type
application/json
{
  • "result": true,
  • "data": [
    ]
}

Organization

List of Organization

This operation gets a list of organization, allowing for sorting, filtering and pagination

Authorizations:
basicAuth
query Parameters
page
integer
Default: 1

Page number for pagination.

per_page
integer
Default: 5

Number of items per page.

sort_by
string

Field to sort the results by.

order_by
string
Default: "desc"
Enum: "asc" "desc"

Order of sorting (ascending or descending).

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "meta": {
    },
  • "result": true
}

Detail of an Organization

Retrieves detail object of an organization based on it uuid.

Authorizations:
basicAuth
path Parameters
uuid
required
string <uuid>

Object UUID used by various resources.

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "result": true
}