- Method:
GET
- Path:
/v1/orgs/{org}/compute/vms
- Operation ID:
listVms
- Tag: Compute
Send Authorization: Bearer <credential>. The credential is either an API key (vsk_…) created for an organization, or an OIDC access token obtained by signing in to VirtScale.
| Name |
Type |
Required |
Description |
org |
string (uuid) |
Yes |
The organization’s id. |
| Name |
Type |
Required |
Description |
region |
string, nullable |
No |
Restrict to one region. |
state |
string, nullable |
No |
Restrict to one state. |
limit |
integer |
No |
|
label |
array of string, nullable |
No |
Repeatable key:value. A row is listed only when its labels carry every pair. |
| Field |
Type |
Required |
Enum |
Description |
items |
array of VmOut |
Yes |
|
|
items.allowed_actions |
array of string |
Yes |
|
What may be asked of this instance where it is, from the vocabulary start, stop, reboot, console, resize, rebuild, rescue, unrescue, delete, firewall, public_ip, protection, in that order. Any action not listed is refused with 409 vm_action_not_allowed. An instance in a region whose disks are single copies on one host allows start, stop, reboot and console only, and start and console only while it is protected; any other instance allows every action, less delete while it is protected. This is policy, not state: a listed action can still be refused for the state the instance is in. |
items.created_at |
string (date-time) |
Yes |
|
|
items.desired_state |
string |
Yes |
|
|
items.disk_gb |
integer |
Yes |
|
|
items.error_class |
string, nullable |
Yes |
|
|
items.error_detail |
string, nullable |
Yes |
|
A fixed phrase and a non-identifying context label. Never a vendor exception, endpoint or response body. |
items.fqdn |
string, nullable |
Yes |
|
Null for a customer account: the zone is VirtScale’s own, and publishing a customer hostname in it would be a namespace nobody asked to share. |
items.id |
string (uuid) |
Yes |
|
|
items.image |
ImageRef |
Yes |
|
|
items.image.glance_id |
string |
Yes |
|
|
items.image.name |
string |
Yes |
|
|
items.memory_mb |
integer |
Yes |
|
|
items.name |
string |
Yes |
|
|
items.network_profile_id |
string |
Yes |
|
|
items.observed_addresses |
object, nullable |
Yes |
|
|
items.observed_at |
string (date-time), nullable |
Yes |
|
|
items.observed_status |
string, nullable |
Yes |
|
|
items.org_id |
string (uuid) |
Yes |
|
|
items.protected |
boolean |
Yes |
|
While true, deleting the instance is refused with 409 vm_protected. An owner of the organization switches it with PUT /v1/orgs/{org}/compute/vms/{vm_id}/protection. |
items.region_id |
string |
Yes |
|
|
items.ssh_key_names |
array of string |
Yes |
|
Names of the SSH keys attached to the instance. No key material. |
items.state |
string |
Yes |
|
|
items.storage_pool_id |
string |
Yes |
|
|
items.updated_at |
string (date-time) |
Yes |
|
|
items.user_data_present |
boolean |
Yes |
|
|
items.vcpus |
integer |
Yes |
|
|
items.workload_type |
string |
Yes |
|
|
next_cursor |
string, nullable |
No |
|
|
Every error response is application/problem+json (schema Problem).
| Status |
Meaning |
| 400 |
The request is malformed or failed validation. |
| 401 |
The credential is missing or invalid. |
| 404 |
The resource does not exist. |
| default |
Any other status is possible; the code field identifies the error. |
curl "https://api.virtscale.nl/v1/orgs/$ORG_ID/compute/vms" \
-H "Authorization: Bearer $VIRTSCALE_API_KEY"