Need help with your APIs? I offer API discovery, governance & evangelism services. Explore services →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

NetBox Labs virtualization API

The virtualization API from NetBox Labs — 15 operation(s) for virtualization.

NetBox Labs virtualization API is one of 13 APIs that NetBox Labs publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include virtualization. The published artifact set on APIs.io includes an OpenAPI specification and authentication docs.

This API exposes 64 operations across 15 paths, and defines 94 schemas. It is described by OpenAPI 3.0.3, at version 4.6.5 (4.6).

Requests are made against the base URL https://demo.netbox.dev/api/.

64 operations 15 paths 94 schemas 14 DELETE14 GET14 PATCH8 POST14 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.0.3
API Version
4.6.5 (4.6)
Base URL
https://demo.netbox.dev/api/
Authentication
API Key, API Key
License
Apache v2 License
Resource Areas
1

Authentication & Security 2

NetBox Labs virtualization API declares 2 security schemes for authenticating requests. An API key is passed in the cookie as sessionid (cookieAuth). An API key is passed in the header as Authorization (tokenAuth).

  • tokenAuth — Token (v1) or Bearer . (v2)

Paths & Operations 64

Across 15 paths, the API surfaces 64 operations — 14 DELETE, 14 GET, 14 PATCH, 8 POST, 14 PUT. Each is listed below with its method, path, parameters, and response codes.

virtualization 64
GET
/api/virtualization/cluster-groups/
Get a list of cluster group objects.
virtualization_cluster_groups_list 89 params → 200
POST
/api/virtualization/cluster-groups/
Post a list of cluster group objects.
virtualization_cluster_groups_create body → 201
PUT
/api/virtualization/cluster-groups/
Put a list of cluster group objects.
virtualization_cluster_groups_bulk_update body → 200
PATCH
/api/virtualization/cluster-groups/
Patch a list of cluster group objects.
virtualization_cluster_groups_bulk_partial_update body → 200
DELETE
/api/virtualization/cluster-groups/
Delete a list of cluster group objects.
virtualization_cluster_groups_bulk_destroy body → 204
GET
/api/virtualization/cluster-groups/{id}/
Get a cluster group object.
virtualization_cluster_groups_retrieve 4 params → 200
PUT
/api/virtualization/cluster-groups/{id}/
Put a cluster group object.
virtualization_cluster_groups_update 1 param body → 200
PATCH
/api/virtualization/cluster-groups/{id}/
Patch a cluster group object.
virtualization_cluster_groups_partial_update 1 param body → 200
DELETE
/api/virtualization/cluster-groups/{id}/
Delete a cluster group object.
virtualization_cluster_groups_destroy 1 param → 204
GET
/api/virtualization/cluster-types/
Get a list of cluster type objects.
virtualization_cluster_types_list 83 params → 200
POST
/api/virtualization/cluster-types/
Post a list of cluster type objects.
virtualization_cluster_types_create body → 201
PUT
/api/virtualization/cluster-types/
Put a list of cluster type objects.
virtualization_cluster_types_bulk_update body → 200
PATCH
/api/virtualization/cluster-types/
Patch a list of cluster type objects.
virtualization_cluster_types_bulk_partial_update body → 200
DELETE
/api/virtualization/cluster-types/
Delete a list of cluster type objects.
virtualization_cluster_types_bulk_destroy body → 204
GET
/api/virtualization/cluster-types/{id}/
Get a cluster type object.
virtualization_cluster_types_retrieve 4 params → 200
PUT
/api/virtualization/cluster-types/{id}/
Put a cluster type object.
virtualization_cluster_types_update 1 param body → 200
PATCH
/api/virtualization/cluster-types/{id}/
Patch a cluster type object.
virtualization_cluster_types_partial_update 1 param body → 200
DELETE
/api/virtualization/cluster-types/{id}/
Delete a cluster type object.
virtualization_cluster_types_destroy 1 param → 204
GET
/api/virtualization/clusters/
Get a list of cluster objects.
virtualization_clusters_list 130 params → 200
POST
/api/virtualization/clusters/
Post a list of cluster objects.
virtualization_clusters_create body → 201
PUT
/api/virtualization/clusters/
Put a list of cluster objects.
virtualization_clusters_bulk_update body → 200
PATCH
/api/virtualization/clusters/
Patch a list of cluster objects.
virtualization_clusters_bulk_partial_update body → 200
DELETE
/api/virtualization/clusters/
Delete a list of cluster objects.
virtualization_clusters_bulk_destroy body → 204
GET
/api/virtualization/clusters/{id}/
Get a cluster object.
virtualization_clusters_retrieve 4 params → 200
PUT
/api/virtualization/clusters/{id}/
Put a cluster object.
virtualization_clusters_update 1 param body → 200
PATCH
/api/virtualization/clusters/{id}/
Patch a cluster object.
virtualization_clusters_partial_update 1 param body → 200
DELETE
/api/virtualization/clusters/{id}/
Delete a cluster object.
virtualization_clusters_destroy 1 param → 204
GET
/api/virtualization/interfaces/
Get a list of interface objects.
virtualization_interfaces_list 133 params → 200
POST
/api/virtualization/interfaces/
Post a list of interface objects.
virtualization_interfaces_create body → 201
PUT
/api/virtualization/interfaces/
Put a list of interface objects.
virtualization_interfaces_bulk_update body → 200
PATCH
/api/virtualization/interfaces/
Patch a list of interface objects.
virtualization_interfaces_bulk_partial_update body → 200
DELETE
/api/virtualization/interfaces/
Delete a list of interface objects.
virtualization_interfaces_bulk_destroy body → 204
GET
/api/virtualization/interfaces/{id}/
Get a interface object.
virtualization_interfaces_retrieve 4 params → 200
PUT
/api/virtualization/interfaces/{id}/
Put a interface object.
virtualization_interfaces_update 1 param body → 200
PATCH
/api/virtualization/interfaces/{id}/
Patch a interface object.
virtualization_interfaces_partial_update 1 param body → 200
DELETE
/api/virtualization/interfaces/{id}/
Delete a interface object.
virtualization_interfaces_destroy 1 param → 204
GET
/api/virtualization/virtual-disks/
Get a list of virtual disk objects.
virtualization_virtual_disks_list 81 params → 200
POST
/api/virtualization/virtual-disks/
Post a list of virtual disk objects.
virtualization_virtual_disks_create body → 201
PUT
/api/virtualization/virtual-disks/
Put a list of virtual disk objects.
virtualization_virtual_disks_bulk_update body → 200
PATCH
/api/virtualization/virtual-disks/
Patch a list of virtual disk objects.
virtualization_virtual_disks_bulk_partial_update body → 200
DELETE
/api/virtualization/virtual-disks/
Delete a list of virtual disk objects.
virtualization_virtual_disks_bulk_destroy body → 204
GET
/api/virtualization/virtual-disks/{id}/
Get a virtual disk object.
virtualization_virtual_disks_retrieve 4 params → 200
PUT
/api/virtualization/virtual-disks/{id}/
Put a virtual disk object.
virtualization_virtual_disks_update 1 param body → 200
PATCH
/api/virtualization/virtual-disks/{id}/
Patch a virtual disk object.
virtualization_virtual_disks_partial_update 1 param body → 200
DELETE
/api/virtualization/virtual-disks/{id}/
Delete a virtual disk object.
virtualization_virtual_disks_destroy 1 param → 204
GET
/api/virtualization/virtual-machine-types/
Get a list of virtual machine type objects.
virtualization_virtual_machine_types_list 108 params → 200
POST
/api/virtualization/virtual-machine-types/
Post a list of virtual machine type objects.
virtualization_virtual_machine_types_create body → 201
PUT
/api/virtualization/virtual-machine-types/
Put a list of virtual machine type objects.
virtualization_virtual_machine_types_bulk_update body → 200
PATCH
/api/virtualization/virtual-machine-types/
Patch a list of virtual machine type objects.
virtualization_virtual_machine_types_bulk_partial_update body → 200
DELETE
/api/virtualization/virtual-machine-types/
Delete a list of virtual machine type objects.
virtualization_virtual_machine_types_bulk_destroy body → 204
GET
/api/virtualization/virtual-machine-types/{id}/
Get a virtual machine type object.
virtualization_virtual_machine_types_retrieve 4 params → 200
PUT
/api/virtualization/virtual-machine-types/{id}/
Put a virtual machine type object.
virtualization_virtual_machine_types_update 1 param body → 200
PATCH
/api/virtualization/virtual-machine-types/{id}/
Patch a virtual machine type object.
virtualization_virtual_machine_types_partial_update 1 param body → 200
DELETE
/api/virtualization/virtual-machine-types/{id}/
Delete a virtual machine type object.
virtualization_virtual_machine_types_destroy 1 param → 204
GET
/api/virtualization/virtual-machines/
Get a list of virtual machine objects.
virtualization_virtual_machines_list 222 params → 200
POST
/api/virtualization/virtual-machines/
Post a list of virtual machine objects.
virtualization_virtual_machines_create body → 201
PUT
/api/virtualization/virtual-machines/
Put a list of virtual machine objects.
virtualization_virtual_machines_bulk_update body → 200
PATCH
/api/virtualization/virtual-machines/
Patch a list of virtual machine objects.
virtualization_virtual_machines_bulk_partial_update body → 200
DELETE
/api/virtualization/virtual-machines/
Delete a list of virtual machine objects.
virtualization_virtual_machines_bulk_destroy body → 204
GET
/api/virtualization/virtual-machines/{id}/
Get a virtual machine object.
virtualization_virtual_machines_retrieve 4 params → 200
PUT
/api/virtualization/virtual-machines/{id}/
Put a virtual machine object.
virtualization_virtual_machines_update 1 param body → 200
PATCH
/api/virtualization/virtual-machines/{id}/
Patch a virtual machine object.
virtualization_virtual_machines_partial_update 1 param body → 200
DELETE
/api/virtualization/virtual-machines/{id}/
Delete a virtual machine object.
virtualization_virtual_machines_destroy 1 param → 204
POST
/api/virtualization/virtual-machines/{id}/render-config/
Resolve and render the preferred ConfigTemplate for this Device or Virtual Machine.
virtualization_virtual_machines_render_config_create 2 params body → 200400500

Schemas 94

The contract defines 94 schemas that model the data the API accepts and returns. The most detailed are VirtualMachineWithConfigContext (33 properties), VMInterface (28 properties), PatchedBulkVirtualMachineWithConfigContextRequest (24 properties), Cluster (24 properties). Each schema is shown below with its type and property counts.

ClusterTypeRequest
object
Base serializer class for models inheriting from OrganizationalModel.
7 properties 2 required
PaginatedClusterTypeList
object
4 properties 2 required
PaginatedVirtualMachineTypeList
object
4 properties 2 required
BriefMACAddressRequest
object
Base serializer class for models inheriting from PrimaryModel.
2 properties 1 required
BriefVLANTranslationPolicyRequest
object
Base serializer class for models inheriting from PrimaryModel.
2 properties 1 required
BriefVLANGroup
object
Base serializer class for models inheriting from OrganizationalModel.
6 properties 5 required
BriefVirtualMachine
object
Base serializer class for models inheriting from PrimaryModel.
5 properties 4 required
BulkClusterTypeRequest
object
Base serializer class for models inheriting from OrganizationalModel.
8 properties 3 required
PatchedBulkClusterGroupRequest
object
Base serializer class for models inheriting from OrganizationalModel.
8 properties 1 required
VirtualMachineType
object
Base serializer class for models inheriting from PrimaryModel.
17 properties 9 required
NestedVLAN
object
Represents an object related through a ForeignKey field. On write, it accepts a primary key (PK) value or a dictionary of attributes which can be used to uniqu…
6 properties 5 required
Cluster
object
Base serializer class for models inheriting from PrimaryModel.
24 properties 14 required
NestedVMInterface
object
Represents an object related through a ForeignKey field. On write, it accepts a primary key (PK) value or a dictionary of attributes which can be used to uniqu…
6 properties 6 required
BriefDevice
object
Base serializer class for models inheriting from PrimaryModel.
5 properties 3 required
BriefSiteRequest
object
Base serializer class for models inheriting from PrimaryModel.
3 properties 2 required
PatchedClusterTypeRequest
object
Base serializer class for models inheriting from OrganizationalModel.
7 properties
WritableVMInterfaceRequest
object
Adds an owner field for models which have a ForeignKey to users.Owner.
17 properties 2 required
VMInterface
object
Adds an owner field for models which have a ForeignKey to users.Owner.
28 properties 13 required
BriefClusterGroupRequest
object
Base serializer class for models inheriting from OrganizationalModel.
3 properties 2 required
BriefConfigTemplate
object
Adds an owner field for models which have a ForeignKey to users.Owner.
5 properties 4 required
ClusterGroup
object
Base serializer class for models inheriting from OrganizationalModel.
14 properties 9 required
NestedIPAddress
object
Represents an object related through a ForeignKey field. On write, it accepts a primary key (PK) value or a dictionary of attributes which can be used to uniqu…
6 properties 6 required
BriefVRFRequest
object
Base serializer class for models inheriting from PrimaryModel.
3 properties 1 required
PatchedClusterGroupRequest
object
Base serializer class for models inheriting from OrganizationalModel.
7 properties
RenderedConfig
object
Describes the JSON response returned by the /render-config/ and /render/ endpoints.
2 properties 2 required
BriefIPAddress
object
Base serializer class for models inheriting from PrimaryModel.
9 properties 6 required
BriefTenantRequest
object
Base serializer class for models inheriting from PrimaryModel.
3 properties 2 required
BulkClusterRequest
object
Base serializer class for models inheriting from PrimaryModel.
13 properties 3 required
NestedVirtualMachine
object
Represents an object related through a ForeignKey field. On write, it accepts a primary key (PK) value or a dictionary of attributes which can be used to uniqu…
5 properties 5 required
BriefClusterRequest
object
Base serializer class for models inheriting from PrimaryModel.
2 properties 1 required
BriefDeviceRequest
object
Base serializer class for models inheriting from PrimaryModel.
2 properties
PaginatedVirtualDiskList
object
4 properties 2 required
BulkVirtualMachineTypeRequest
object
Base serializer class for models inheriting from PrimaryModel.
11 properties 3 required
BriefMACAddress
object
Base serializer class for models inheriting from PrimaryModel.
5 properties 4 required
PatchedBulkClusterRequest
object
Base serializer class for models inheriting from PrimaryModel.
13 properties 1 required
BriefDeviceRole
object
Base serializer class for models inheriting from NestedGroupModel.
9 properties 8 required
BulkVirtualDiskRequest
object
Adds an owner field for models which have a ForeignKey to users.Owner.
8 properties 4 required
WritableVirtualMachineWithConfigContextRequest
object
Base serializer class for models inheriting from PrimaryModel.
23 properties 1 required
BriefVLANTranslationPolicy
object
Base serializer class for models inheriting from PrimaryModel.
5 properties 4 required
VirtualMachineWithConfigContext
object
Base serializer class for models inheriting from PrimaryModel.
33 properties 11 required
PatchedBulkVirtualMachineTypeRequest
object
Base serializer class for models inheriting from PrimaryModel.
11 properties 1 required
BriefDeviceRoleRequest
object
Base serializer class for models inheriting from NestedGroupModel.
3 properties 2 required
PatchedWritableVirtualMachineWithConfigContextRequest
object
Base serializer class for models inheriting from PrimaryModel.
23 properties
BriefVLANRequest
object
Base serializer class for models inheriting from PrimaryModel.
3 properties 2 required
PatchedBulkVMInterfaceRequest
object
Adds an owner field for models which have a ForeignKey to users.Owner.
18 properties 1 required
NestedTagRequest
object
Represents an object related through a ForeignKey field. On write, it accepts a primary key (PK) value or a dictionary of attributes which can be used to uniqu…
3 properties 2 required
BriefOwner
object
Extends the built-in ModelSerializer to enforce calling fullclean() on a copy of the associated instance during validation. (DRF does not do this by default; s…
5 properties 4 required
BulkClusterGroupRequest
object
Base serializer class for models inheriting from OrganizationalModel.
8 properties 3 required
ClusterRequest
object
Base serializer class for models inheriting from PrimaryModel.
12 properties 2 required
BriefClusterType
object
Base serializer class for models inheriting from OrganizationalModel.
6 properties 5 required
BriefConfigTemplateRequest
object
Adds an owner field for models which have a ForeignKey to users.Owner.
2 properties 1 required
ClusterType
object
Base serializer class for models inheriting from OrganizationalModel.
14 properties 9 required
BriefOwnerRequest
object
Extends the built-in ModelSerializer to enforce calling fullclean() on a copy of the associated instance during validation. (DRF does not do this by default; s…
2 properties 1 required
PatchedVirtualDiskRequest
object
Adds an owner field for models which have a ForeignKey to users.Owner.
7 properties
RenderConfigInputRequest
object
Describes the request body for the device/VM /render-config/ endpoints. Any additional keys supplied are passed through as context variables to the rendered te…
1 property
BriefVLAN
object
Base serializer class for models inheriting from PrimaryModel.
6 properties 5 required
PaginatedClusterList
object
4 properties 2 required
PatchedVirtualMachineTypeRequest
object
Base serializer class for models inheriting from PrimaryModel.
10 properties
BriefVirtualMachineTypeRequest
object
Base serializer class for models inheriting from PrimaryModel.
3 properties 2 required
BriefIPAddressRequest
object
Base serializer class for models inheriting from PrimaryModel.
4 properties 1 required
PaginatedVMInterfaceList
object
4 properties 2 required
BriefPlatformRequest
object
Base serializer class for models inheriting from NestedGroupModel.
3 properties 2 required
PaginatedClusterGroupList
object
4 properties 2 required
NestedVMInterfaceRequest
object
Represents an object related through a ForeignKey field. On write, it accepts a primary key (PK) value or a dictionary of attributes which can be used to uniqu…
1 property 1 required
PatchedWritableClusterRequest
object
Base serializer class for models inheriting from PrimaryModel.
12 properties
VirtualMachineTypeRequest
object
Base serializer class for models inheriting from PrimaryModel.
10 properties 2 required
VirtualMachineWithConfigContextRequest
object
Base serializer class for models inheriting from PrimaryModel.
23 properties 1 required
BriefVirtualMachineType
object
Base serializer class for models inheriting from PrimaryModel.
6 properties 5 required
BriefVRF
object
Base serializer class for models inheriting from PrimaryModel.
6 properties 4 required
BulkVMInterfaceRequest
object
Adds an owner field for models which have a ForeignKey to users.Owner.
18 properties 3 required
VLAN
object
Base serializer class for models inheriting from PrimaryModel.
22 properties 10 required
BulkVirtualMachineWithConfigContextRequest
object
Base serializer class for models inheriting from PrimaryModel.
24 properties 2 required
BriefClusterTypeRequest
object
Base serializer class for models inheriting from OrganizationalModel.
3 properties 2 required
BriefTenant
object
Base serializer class for models inheriting from PrimaryModel.
6 properties 5 required
PaginatedVirtualMachineWithConfigContextList
object
4 properties 2 required
BriefVirtualMachineRequest
object
Base serializer class for models inheriting from PrimaryModel.
2 properties 1 required
NestedIPAddressRequest
object
Represents an object related through a ForeignKey field. On write, it accepts a primary key (PK) value or a dictionary of attributes which can be used to uniqu…
1 property 1 required
PatchedBulkClusterTypeRequest
object
Base serializer class for models inheriting from OrganizationalModel.
8 properties 1 required
PatchedBulkVirtualMachineWithConfigContextRequest
object
Base serializer class for models inheriting from PrimaryModel.
24 properties 1 required
ClusterGroupRequest
object
Base serializer class for models inheriting from OrganizationalModel.
7 properties 2 required
BriefL2VPNTermination
object
Adds support for custom fields and tags.
4 properties 4 required
WritableClusterRequest
object
Base serializer class for models inheriting from PrimaryModel.
12 properties 2 required
PatchedBulkVirtualDiskRequest
object
Adds an owner field for models which have a ForeignKey to users.Owner.
8 properties 1 required
BriefPlatform
object
Base serializer class for models inheriting from NestedGroupModel.
9 properties 8 required
PatchedWritableVMInterfaceRequest
object
Adds an owner field for models which have a ForeignKey to users.Owner.
17 properties
BriefL2VPN
object
Base serializer class for models inheriting from PrimaryModel.
8 properties 5 required
BriefCluster
object
Base serializer class for models inheriting from PrimaryModel.
5 properties 4 required
BriefClusterGroup
object
Base serializer class for models inheriting from OrganizationalModel.
6 properties 5 required
BriefRole
object
Base serializer class for models inheriting from OrganizationalModel.
6 properties 5 required
VirtualDiskRequest
object
Adds an owner field for models which have a ForeignKey to users.Owner.
7 properties 3 required
NestedTag
object
Represents an object related through a ForeignKey field. On write, it accepts a primary key (PK) value or a dictionary of attributes which can be used to uniqu…
7 properties 6 required
VMInterfaceRequest
object
Adds an owner field for models which have a ForeignKey to users.Owner.
17 properties 2 required
VirtualDisk
object
Adds an owner field for models which have a ForeignKey to users.Owner.
13 properties 9 required
BriefSite
object
Base serializer class for models inheriting from PrimaryModel.
6 properties 5 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

netbox-labs-virtualization-api-openapi.yml Raw ↑

Other APIs NetBox Labs publishes across the network.

NetBox Labs authentication-check API
NetBox Labs circuits API
NetBox Labs core API
NetBox Labs dcim API
NetBox Labs extras API
NetBox Labs ipam API
NetBox Labs schema API
NetBox Labs status API
NetBox Labs tenancy API
NetBox Labs users API
NetBox Labs vpn API
NetBox Labs wireless API