Apache CloudStack Virtual Machines API
Virtual machine lifecycle management operations.
Virtual machine lifecycle management operations.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/apache-cloudstack-virtual-machines-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
title: Apache CloudStack Networks Virtual Machines API
description: The Apache CloudStack API provides comprehensive REST endpoints for managing virtual machines, networks, storage volumes, accounts, domains, zones, and cloud infrastructure resources. It supports both synchronous and asynchronous operations using a query-parameter-based command dispatch pattern.
version: 4.19.0
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0.html
contact:
name: Apache CloudStack Community
url: https://cloudstack.apache.org/
x-generated-from: documentation
x-last-validated: '2026-04-19'
servers:
- url: http://localhost:8080/client/api
description: Default local CloudStack Management Server API endpoint
tags:
- name: Virtual Machines
description: Virtual machine lifecycle management operations.
paths:
/:
get:
operationId: deployVirtualMachine
summary: Apache CloudStack Deploy Virtual Machine
description: Deploy a new virtual machine from a template in a specified zone and service offering.
tags:
- Virtual Machines
parameters:
- name: command
in: query
required: true
schema:
type: string
enum:
- deployVirtualMachine
description: API command name.
- name: response
in: query
required: false
schema:
type: string
enum:
- json
- xml
default: json
description: Response format.
- name: zoneid
in: query
required: true
schema:
type: string
description: UUID of the zone in which to deploy the virtual machine.
- name: serviceofferingid
in: query
required: true
schema:
type: string
description: UUID of the service offering for the virtual machine.
- name: templateid
in: query
required: true
schema:
type: string
description: UUID of the template to use for the virtual machine.
- name: name
in: query
required: false
schema:
type: string
description: Display name for the virtual machine.
- name: apikey
in: query
required: true
schema:
type: string
description: API key for authentication.
- name: signature
in: query
required: true
schema:
type: string
description: HMAC-SHA1 signature of the request parameters.
responses:
'200':
description: Asynchronous job initiated for VM deployment.
content:
application/json:
schema:
$ref: '#/components/schemas/AsyncJobResponse'
examples:
DeployVirtualMachine200Example:
summary: Default deployVirtualMachine 200 response
x-microcks-default: true
value:
deployvirtualmachineresponse:
jobid: a4b6c8d0-1234-5678-90ab-cdef01234567
id: vm-uuid-1234
'400':
description: Invalid parameters.
'401':
description: Authentication failed.
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
security:
- apiKeyAuth: []
post:
operationId: listVirtualMachines
summary: Apache CloudStack List Virtual Machines
description: List all virtual machines with optional filtering by zone, account, state, or other parameters.
tags:
- Virtual Machines
requestBody:
required: false
content:
application/x-www-form-urlencoded:
schema:
type: object
required:
- command
- apikey
- signature
properties:
command:
type: string
enum:
- listVirtualMachines
response:
type: string
enum:
- json
- xml
default: json
zoneid:
type: string
description: Filter by zone UUID.
state:
type: string
enum:
- Running
- Stopped
- Starting
- Stopping
- Destroyed
description: Filter by VM state.
account:
type: string
description: Filter by account name.
apikey:
type: string
signature:
type: string
responses:
'200':
description: List of virtual machines matching the filter criteria.
content:
application/json:
schema:
$ref: '#/components/schemas/VirtualMachineList'
examples:
ListVirtualMachines200Example:
summary: Default listVirtualMachines 200 response
x-microcks-default: true
value:
listvirtualmachinesresponse:
count: 1
virtualmachine:
- id: vm-uuid-1234
name: web-server-01
state: Running
zoneid: zone-uuid-abcd
zonename: us-east-1
serviceofferingid: so-uuid-5678
templateid: tmpl-uuid-9012
cpunumber: 2
memory: 2048
ipaddress: 10.0.0.100
'401':
description: Authentication failed.
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
security:
- apiKeyAuth: []
/vm/stop:
get:
operationId: stopVirtualMachine
summary: Apache CloudStack Stop Virtual Machine
description: Stop a running virtual machine by its UUID.
tags:
- Virtual Machines
parameters:
- name: command
in: query
required: true
schema:
type: string
enum:
- stopVirtualMachine
- name: id
in: query
required: true
schema:
type: string
description: UUID of the virtual machine to stop.
- name: apikey
in: query
required: true
schema:
type: string
- name: signature
in: query
required: true
schema:
type: string
responses:
'200':
description: Asynchronous job initiated to stop the VM.
content:
application/json:
schema:
$ref: '#/components/schemas/AsyncJobResponse'
examples:
StopVirtualMachine200Example:
summary: Default stopVirtualMachine 200 response
x-microcks-default: true
value:
stopvirtualmachineresponse:
jobid: b5c7d9e1-2345-6789-01bc-def012345678
'401':
description: Authentication failed.
'404':
description: Virtual machine not found.
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
security:
- apiKeyAuth: []
/vm/start:
get:
operationId: startVirtualMachine
summary: Apache CloudStack Start Virtual Machine
description: Start a stopped virtual machine by its UUID.
tags:
- Virtual Machines
parameters:
- name: command
in: query
required: true
schema:
type: string
enum:
- startVirtualMachine
- name: id
in: query
required: true
schema:
type: string
description: UUID of the virtual machine to start.
- name: apikey
in: query
required: true
schema:
type: string
- name: signature
in: query
required: true
schema:
type: string
responses:
'200':
description: Asynchronous job initiated to start the VM.
content:
application/json:
schema:
$ref: '#/components/schemas/AsyncJobResponse'
examples:
StartVirtualMachine200Example:
summary: Default startVirtualMachine 200 response
x-microcks-default: true
value:
startvirtualmachineresponse:
jobid: c6d8e0f2-3456-7890-12cd-ef0123456789
'401':
description: Authentication failed.
'404':
description: Virtual machine not found.
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
security:
- apiKeyAuth: []
/async/query:
get:
operationId: queryAsyncJobResult
summary: Apache CloudStack Query Async Job Result
description: Query the result of an asynchronous API operation by job ID.
tags:
- Virtual Machines
parameters:
- name: command
in: query
required: true
schema:
type: string
enum:
- queryAsyncJobResult
- name: jobid
in: query
required: true
schema:
type: string
description: UUID of the async job to query.
- name: apikey
in: query
required: true
schema:
type: string
- name: signature
in: query
required: true
schema:
type: string
responses:
'200':
description: Async job status and result.
content:
application/json:
schema:
$ref: '#/components/schemas/AsyncJobResult'
examples:
QueryAsyncJobResult200Example:
summary: Default queryAsyncJobResult 200 response
x-microcks-default: true
value:
queryasyncjobresultresponse:
jobid: a4b6c8d0-1234-5678-90ab-cdef01234567
jobstatus: 1
jobresultcode: 0
jobresult:
virtualmachine:
id: vm-uuid-1234
name: web-server-01
state: Running
'401':
description: Authentication failed.
'404':
description: Job not found.
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
security:
- apiKeyAuth: []
components:
schemas:
AsyncJobResult:
title: AsyncJobResult
description: Result of a completed or in-progress asynchronous CloudStack job.
type: object
properties:
queryasyncjobresultresponse:
type: object
properties:
jobid:
type: string
description: UUID of the async job.
example: a4b6c8d0-1234-5678-90ab-cdef01234567
jobstatus:
type: integer
description: Job status code (0=pending, 1=success, 2=failure).
enum:
- 0
- 1
- 2
example: 1
jobresultcode:
type: integer
description: Result code (0 for success).
example: 0
jobresult:
type: object
description: Result payload containing the resource created or modified.
AsyncJobResponse:
title: AsyncJobResponse
description: Response returned when an asynchronous CloudStack API operation is initiated.
type: object
properties:
jobid:
type: string
description: UUID of the asynchronous job to poll for completion.
example: a4b6c8d0-1234-5678-90ab-cdef01234567
id:
type: string
description: UUID of the resource being created or modified.
example: vm-uuid-1234
VirtualMachineList:
title: VirtualMachineList
description: Paginated list of CloudStack virtual machines.
type: object
properties:
listvirtualmachinesresponse:
type: object
properties:
count:
type: integer
description: Total number of virtual machines matching the query.
example: 1
virtualmachine:
type: array
items:
$ref: '#/components/schemas/VirtualMachine'
VirtualMachine:
title: VirtualMachine
description: A CloudStack virtual machine resource with its configuration and runtime state.
type: object
properties:
id:
type: string
description: UUID of the virtual machine.
example: vm-uuid-1234
name:
type: string
description: Display name of the virtual machine.
example: web-server-01
state:
type: string
description: Current state of the virtual machine.
enum:
- Running
- Stopped
- Starting
- Stopping
- Destroyed
- Expunging
- Migrating
- Error
example: Running
zoneid:
type: string
description: UUID of the zone containing the virtual machine.
example: zone-uuid-abcd
zonename:
type: string
description: Name of the zone containing the virtual machine.
example: us-east-1
serviceofferingid:
type: string
description: UUID of the service offering used by the virtual machine.
example: so-uuid-5678
templateid:
type: string
description: UUID of the template used to create the virtual machine.
example: tmpl-uuid-9012
cpunumber:
type: integer
description: Number of CPU cores.
example: 2
memory:
type: integer
description: Memory in megabytes.
example: 2048
ipaddress:
type: string
description: Primary IP address of the virtual machine.
example: 10.0.0.100
securitySchemes:
apiKeyAuth:
type: apiKey
in: query
name: apikey
description: CloudStack API key for HMAC-SHA1 signed request authentication.