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 virtualization API

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

NetBox virtualization API is one of 14 APIs that NetBox 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, API documentation, and authentication docs.

This API exposes 55 operations across 13 paths, and defines 70 schemas. It is described by OpenAPI 3.0.3, at version 4.5.9 (4.5).

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

55 operations 13 paths 70 schemas 12 DELETE12 GET12 PATCH7 POST12 PUT

Metadata

The identity and technical contract details declared by the specification.

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

Authentication & Security 2

NetBox 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 55

Across 13 paths, the API surfaces 55 operations — 12 DELETE, 12 GET, 12 PATCH, 7 POST, 12 PUT. Each is listed below with its method, path, parameters, and response codes.

virtualization 55
GET
/api/virtualization/cluster-groups/
Get a list of cluster group objects.
virtualization_cluster_groups_list 85 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 1 param → 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 79 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 1 param → 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 126 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 1 param → 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 129 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 1 param → 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 77 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 1 param → 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-machines/
Get a list of virtual machine objects.
virtualization_virtual_machines_list 214 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 1 param → 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 → 200

Schemas 70

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

ClusterType
object
Base serializer class for models inheriting from OrganizationalModel.
14 properties 9 required
BriefPlatform
object
Base serializer class for models inheriting from NestedGroupModel.
9 properties 8 required
ClusterGroup
object
Base serializer class for models inheriting from OrganizationalModel.
14 properties 9 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
BriefClusterTypeRequest
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
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
BriefIPAddressRequest
object
Base serializer class for models inheriting from PrimaryModel.
2 properties 1 required
Cluster
object
Base serializer class for models inheriting from PrimaryModel.
24 properties 14 required
PatchedWritableVMInterfaceRequest
object
Adds an owner field for models which have a ForeignKey to users.Owner.
17 properties
BriefRole
object
Base serializer class for models inheriting from OrganizationalModel.
8 properties 7 required
BriefVRFRequest
object
Base serializer class for models inheriting from PrimaryModel.
3 properties 1 required
BriefVLANGroup
object
Base serializer class for models inheriting from OrganizationalModel.
7 properties 6 required
PaginatedVirtualMachineWithConfigContextList
object
4 properties 2 required
PaginatedClusterTypeList
object
4 properties 2 required
PaginatedVMInterfaceList
object
4 properties 2 required
BriefTenantRequest
object
Base serializer class for models inheriting from PrimaryModel.
3 properties 2 required
BriefClusterGroupRequest
object
Base serializer class for models inheriting from OrganizationalModel.
3 properties 2 required
BriefClusterType
object
Base serializer class for models inheriting from OrganizationalModel.
7 properties 6 required
BriefDeviceRole
object
Base serializer class for models inheriting from NestedGroupModel.
9 properties 8 required
VirtualMachineWithConfigContextRequest
object
Base serializer class for models inheriting from PrimaryModel.
22 properties 1 required
ClusterGroupRequest
object
Base serializer class for models inheriting from OrganizationalModel.
7 properties 2 required
BriefCluster
object
Base serializer class for models inheriting from PrimaryModel.
6 properties 5 required
PaginatedClusterGroupList
object
4 properties 2 required
BriefIPAddress
object
Base serializer class for models inheriting from PrimaryModel.
6 properties 5 required
BriefPlatformRequest
object
Base serializer class for models inheriting from NestedGroupModel.
3 properties 2 required
PatchedClusterTypeRequest
object
Base serializer class for models inheriting from OrganizationalModel.
7 properties
PatchedClusterGroupRequest
object
Base serializer class for models inheriting from OrganizationalModel.
7 properties
BriefVLANTranslationPolicy
object
Base serializer class for models inheriting from PrimaryModel.
5 properties 4 required
BriefL2VPN
object
Base serializer class for models inheriting from PrimaryModel.
8 properties 5 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
BriefSiteRequest
object
Base serializer class for models inheriting from PrimaryModel.
3 properties 2 required
BriefTenant
object
Base serializer class for models inheriting from PrimaryModel.
6 properties 5 required
WritableClusterRequest
object
Base serializer class for models inheriting from PrimaryModel.
12 properties 2 required
WritableVirtualMachineWithConfigContextRequest
object
Base serializer class for models inheriting from PrimaryModel.
22 properties 1 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
BriefClusterGroup
object
Base serializer class for models inheriting from OrganizationalModel.
7 properties 6 required
VirtualDisk
object
Adds an owner field for models which have a ForeignKey to users.Owner.
13 properties 9 required
PaginatedClusterList
object
4 properties 2 required
BriefConfigTemplateRequest
object
Adds an owner field for models which have a ForeignKey to users.Owner.
2 properties 1 required
PatchedWritableVirtualMachineWithConfigContextRequest
object
Base serializer class for models inheriting from PrimaryModel.
22 properties
VirtualDiskRequest
object
Adds an owner field for models which have a ForeignKey to users.Owner.
7 properties 3 required
PatchedWritableClusterRequest
object
Base serializer class for models inheriting from PrimaryModel.
12 properties
BriefSite
object
Base serializer class for models inheriting from PrimaryModel.
6 properties 5 required
BriefDeviceRoleRequest
object
Base serializer class for models inheriting from NestedGroupModel.
3 properties 2 required
BriefVirtualMachineRequest
object
Base serializer class for models inheriting from PrimaryModel.
2 properties 1 required
ClusterRequest
object
Base serializer class for models inheriting from PrimaryModel.
12 properties 2 required
ClusterTypeRequest
object
Base serializer class for models inheriting from OrganizationalModel.
7 properties 2 required
BriefVRF
object
Base serializer class for models inheriting from PrimaryModel.
7 properties 5 required
PaginatedVirtualDiskList
object
4 properties 2 required
WritableVMInterfaceRequest
object
Adds an owner field for models which have a ForeignKey to users.Owner.
17 properties 2 required
VMInterfaceRequest
object
Adds an owner field for models which have a ForeignKey to users.Owner.
17 properties 2 required
VLAN
object
Base serializer class for models inheriting from PrimaryModel.
22 properties 10 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
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
BriefVirtualMachine
object
Base serializer class for models inheriting from PrimaryModel.
5 properties 4 required
BriefDeviceRequest
object
Base serializer class for models inheriting from PrimaryModel.
2 properties
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
BriefVLAN
object
Base serializer class for models inheriting from PrimaryModel.
6 properties 5 required
VirtualMachineWithConfigContext
object
Base serializer class for models inheriting from PrimaryModel.
32 properties 11 required
BriefVLANTranslationPolicyRequest
object
Base serializer class for models inheriting from PrimaryModel.
2 properties 1 required
PatchedVirtualDiskRequest
object
Adds an owner field for models which have a ForeignKey to users.Owner.
7 properties
BriefMACAddress
object
Base serializer class for models inheriting from PrimaryModel.
5 properties 4 required
BriefDevice
object
Base serializer class for models inheriting from PrimaryModel.
5 properties 3 required
BriefMACAddressRequest
object
Base serializer class for models inheriting from PrimaryModel.
2 properties 1 required
BriefVLANRequest
object
Base serializer class for models inheriting from PrimaryModel.
3 properties 2 required
BriefClusterRequest
object
Base serializer class for models inheriting from PrimaryModel.
2 properties 1 required
VMInterface
object
Adds an owner field for models which have a ForeignKey to users.Owner.
28 properties 13 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
BriefL2VPNTermination
object
Adds support for custom fields and tags.
4 properties 4 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

netbox-virtualization-api-openapi.yml Raw ↑

Other APIs NetBox publishes across the network.

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