API Endpoint Reference (v2.0)
Legacy API
v2.0 is the legacy API and uses a flat URL structure. It remains supported for existing integrations, but v3 is recommended for all new integrations . See the v3 endpoint reference .
Base URL: https://vhaas.vector.cloud/api/v2.0
All endpoints require authentication via Authorization: Bearer <JWT> or private-token: <Access Token>, unless stated otherwise.
User & Profile
Self
Method
Path
Description
GET
/api/v2.0/users/self
Get the profile of the currently authenticated user.
Users
Method
Path
Description
Key Parameters
GET
/api/v2.0/users
List all visible users.
Query: name, is_technical, role
GET
/api/v2.0/users/{user_id}
Get a user.
—
PATCH
/api/v2.0/users/{user_id}
Update a user.
Body: name, …
DELETE
/api/v2.0/users/{user_id}
Delete a user.
—
PATCH
/api/v2.0/users/{user_id}/role
Update a user's global role.
Body: role
User Settings
Method
Path
Description
GET
/api/v2.0/users/{user_id}/settings
Get user settings.
PATCH
/api/v2.0/users/{user_id}/settings
Update user settings.
GET
/api/v2.0/users/{user_id}/access
Get user access information.
Favorite Assemblies
Method
Path
Description
GET
/api/v2.0/users/{user_id}/favorite-assemblies
List favorite Assemblies.
GET
/api/v2.0/users/{user_id}/favorite-assembly-refs
List favorite Assembly references.
POST
/api/v2.0/users/{user_id}/favorite-assemblies
Add a favorite Assembly.
DELETE
/api/v2.0/users/{user_id}/favorite-assemblies/{assembly_ref}
Remove a favorite Assembly.
User Variables
Encrypted key-value pairs stored per user, usable in CI pipelines.
Method
Path
Description
GET
/api/v2.0/users/{user_id}/variables
List all user variables.
POST
/api/v2.0/users/{user_id}/variables
Create a variable.
PATCH
/api/v2.0/users/{user_id}/variables
Update a variable.
GET
/api/v2.0/users/{user_id}/variables/{variable_name}
Get a single variable.
DELETE
/api/v2.0/users/{user_id}/variables/{variable_name}
Delete a variable.
Method
Path
Description
GET
/api/v2.0/users/{user_id}/rdp-settings
Get RDP settings.
GET
/api/v2.0/users/{user_id}/rdp-settings/mount-paths
List RDP mount paths.
POST
/api/v2.0/users/{user_id}/rdp-settings/mount-paths
Add an RDP mount path.
DELETE
/api/v2.0/users/{user_id}/rdp-settings/mount-paths/{rdp_path_id}
Remove an RDP mount path.
Cleanup Paths
Method
Path
Description
GET
/api/v2.0/users/{user_id}/cleanup-paths
List cleanup paths.
POST
/api/v2.0/users/{user_id}/cleanup-path
Add a cleanup path.
DELETE
/api/v2.0/users/{user_id}/cleanup-path
Remove a cleanup path.
API Access Tokens
Method
Path
Description
Key Parameters
GET
/api/v2.0/api-access-tokens
List Access Tokens.
Query: user_id, revoked, name
POST
/api/v2.0/api-access-tokens
Create an Access Token.
Body: name, expires_at
GET
/api/v2.0/api-access-tokens/{token_id}
Get a token.
—
PATCH
/api/v2.0/api-access-tokens/{token_id}
Revoke a token.
Body: revoked
DELETE
/api/v2.0/api-access-tokens/{token_id}
Delete a token.
—
Managing Access Tokens
Organizations
Method
Path
Description
Key Parameters
GET
/api/v2.0/organizations
List Organizations.
Query: search
POST
/api/v2.0/organizations
Create an Organization.
Body: organization_name
GET
/api/v2.0/organizations/{organization_id}
Get an Organization.
—
PATCH
/api/v2.0/organizations/{organization_id}
Rename an Organization.
Body: organization_name
DELETE
/api/v2.0/organizations/{organization_id}
Delete an Organization.
Query: cascade_delete (bool)
Organization Users
Method
Path
Description
Key Parameters
GET
/api/v2.0/organizations/{organization_id}/users
List users in Organization.
Query: include_technical_users
POST
/api/v2.0/organizations/{organization_id}/users
Add a user to the Organization.
Body: user_id
PATCH
/api/v2.0/organizations/{organization_id}/users/{user_id}
Update user role.
Body: role_id
DELETE
/api/v2.0/organizations/{organization_id}/users/{user_id}
Remove a user.
—
Groups
Method
Path
Description
Key Parameters
GET
/api/v2.0/groups
List Groups.
Query: name, organization_id
POST
/api/v2.0/groups
Create a Group.
Body: name, organization_id, description
GET
/api/v2.0/groups/{group_id}
Get a Group.
—
PATCH
/api/v2.0/groups/{group_id}
Update a Group.
Body: name, description
DELETE
/api/v2.0/groups/{group_id}
Delete a Group.
—
Group Users
Method
Path
Description
Key Parameters
GET
/api/v2.0/groups/{group_id}/users
List users in Group.
Query: include_technical_users
POST
/api/v2.0/groups/{group_id}/users
Add a user.
Body: user_id
PATCH
/api/v2.0/groups/{group_id}/users/{user_id}
Update user role.
Body: role_id
DELETE
/api/v2.0/groups/{group_id}/users/{user_id}
Remove a user.
—
Group Assemblies
Method
Path
Description
GET
/api/v2.0/groups/{group_id}/assemblies
List Assemblies in Group.
GET
/api/v2.0/groups/{group_id}/assembly_refs
List Assembly references in Group.
POST
/api/v2.0/groups/{group_id}/assemblies
Assign an Assembly to Group.
DELETE
/api/v2.0/groups/{group_id}/assemblies/{assembly_ref}
Remove an Assembly from Group.
Assemblies
Assembly Collection
Method
Path
Description
Key Parameters
GET
/api/v2.0/assemblies
List Assemblies.
Query: name, status, organization_id, group_id, cluster_ref, can_connect, include_virtual_machines
POST
/api/v2.0/assemblies
Create an Assembly.
Form: json_file, organization_id, group_id, cluster_ref, is_public_in_organization
GET
/api/v2.0/assemblies/{assembly_ref}
Get an Assembly.
—
PATCH
/api/v2.0/assemblies/{assembly_ref}
Update an Assembly.
Form: json_file, administration_status, is_public_in_organization
DELETE
/api/v2.0/assemblies/{assembly_ref}
Delete an Assembly.
—
GET
/api/v2.0/assemblies/image-legend
Get the SVG image legend for Assembly visualizations.
—
GET
/api/v2.0/assemblies/{assembly_ref}/image
Get the rendered Assembly SVG.
Query: hide_unwired_devices, infra_types, bus_types
Assembly Access & Owners
Method
Path
Description
GET
/api/v2.0/assemblies/{assembly_ref}/access
Get access information (Organizations, Groups, owners).
GET
/api/v2.0/assemblies/{assembly_ref}/owners
List Assembly owners.
POST
/api/v2.0/assemblies/{assembly_ref}/owners
Add owners.
DELETE
/api/v2.0/assemblies/{assembly_ref}/owners/{user_id}
Remove an owner.
Assembly Devices & Hardware Control
Method
Path
Description
GET
/api/v2.0/assemblies/{assembly_ref}/devices
List devices in the Assembly.
GET
/api/v2.0/assemblies/{assembly_ref}/devices/power
Get power status for all devices.
PATCH
/api/v2.0/assemblies/{assembly_ref}/devices/power
Set power state for devices.
GET
/api/v2.0/assemblies/{assembly_ref}/jumpers
Get jumper states.
PATCH
/api/v2.0/assemblies/{assembly_ref}/jumpers
Update jumper states.
GET
/api/v2.0/assemblies/{assembly_ref}/multiplexed-connections
Get active multiplexed connections.
PATCH
/api/v2.0/assemblies/{assembly_ref}/multiplexed-connections
Update multiplexed connections.
Assembly Execution Environments
Method
Path
Description
GET
/api/v2.0/assemblies/{assembly_ref}/virtual-machine
Get Execution Environments assigned to Assembly.
POST
/api/v2.0/assemblies/{assembly_ref}/virtual_machine
Assign an Execution Environment to Assembly.
PATCH
/api/v2.0/assemblies/{assembly_ref}/virtual-machine/{vm_id}
Update Execution Environment settings for Assembly.
DELETE
/api/v2.0/assemblies/{assembly_ref}/virtual-machine/{vm_id}
Unassign Execution Environment from Assembly.
Device Sequences
Automated power/control sequences that can be triggered on an Assembly. See Manage Device Sequences for the concept and UI workflow, and the v3 Device Sequences endpoints for new integrations.
Method
Path
Description
GET
/api/v2.0/assemblies/{assembly_ref}/device-sequences
List device sequences.
POST
/api/v2.0/assemblies/{assembly_ref}/device-sequences
Create a device sequence.
GET
/api/v2.0/assemblies/{assembly_ref}/device-sequences/{sequence_id}
Get a device sequence.
PATCH
/api/v2.0/assemblies/{assembly_ref}/device-sequences/{sequence_id}
Update a device sequence.
DELETE
/api/v2.0/assemblies/{assembly_ref}/device-sequences/{sequence_id}
Delete a device sequence.
POST
/api/v2.0/assemblies/{assembly_ref}/device-sequences/{sequence_id}/run
Execute a device sequence.
GET
/api/v2.0/assemblies/{assembly_ref}/device-sequences/{sequence_id}/run
Get latest runs of a sequence.
GET
/api/v2.0/assemblies/{assembly_ref}/device-sequences/{sequence_id}/run/{run_id}
Get the status of a specific run.
PATCH
/api/v2.0/assemblies/{assembly_ref}/device-sequences/{sequence_id}/run/{run_id}
Update run status.
Sessions & Bookings
Assembly Sessions
Method
Path
Description
Key Parameters
GET
/api/v2.0/assembly-session
List Sessions.
Query: start_time, end_time, assembly_ref, organization_id
POST
/api/v2.0/assembly-session
Book a Session.
Body: assembly_ref, start_time, end_time
GET
/api/v2.0/assembly-session/{session_id}
Get Session status and details.
—
PATCH
/api/v2.0/assembly-session/{session_id}
Update a Session (e.g. extend end time).
Body: start_time, end_time
DELETE
/api/v2.0/assembly-session/{session_id}
Release a Session immediately.
—
GET
/api/v2.0/assembly-session/{session_id}/session-tasks
Get tasks for a Session.
—
Create Session request body:
{
"assembly_ref" : "ASSEMBLY-101" ,
"start_time" : "2026-07-01T08:00:00Z" ,
"end_time" : "2026-07-01T17:00:00Z"
}
Session Contexts
Method
Path
Description
Key Parameters
GET
/api/v2.0/assembly-session-context
List Session contexts.
Query: start_time, end_time, assembly_ref
POST
/api/v2.0/assembly-session-context
Create a Session context.
Body: assembly_ref, start_time, end_time, context_type, description
GET
/api/v2.0/assembly-session-context/{context_id}
Get a Session context.
—
DELETE
/api/v2.0/assembly-session-context/{context_id}
Delete a Session context.
—
Session Transfers
Method
Path
Description
Key Parameters
GET
/api/v2.0/assembly-session-transfers
List transfer requests.
Query: session_transfer_status, organization_id
POST
/api/v2.0/assembly-session-transfers
Request a transfer.
Body: assembly_ref, new_user_id, force (bool)
PATCH
/api/v2.0/assembly-session-transfers/{transfer_id}
Approve or reject a transfer.
Body: status
Jobs
Method
Path
Description
Key Parameters
GET
/api/v2.0/jobs
List jobs.
Query: job_ids[], user_ids[], status
POST
/api/v2.0/jobs
Create a job.
Body: request_profile, start_time, end_time
GET
/api/v2.0/jobs/{job_id}
Get a job.
—
DELETE
/api/v2.0/jobs/{job_id}
Cancel / delete a job.
—
Execution Environments
Naming
Execution Environments were previously called Virtual Machines. The API keeps the old name in its paths and fields (virtual-machines, vm_id).
Method
Path
Description
Key Parameters
GET
/api/v2.0/virtual-machines
List Execution Environments.
Query: organization_id, cluster_ref
POST
/api/v2.0/virtual-machines
Create an Execution Environment.
Body: name, organization_id, cluster_ref, …
GET
/api/v2.0/virtual-machines/{vm_id}
Get an Execution Environment.
—
PATCH
/api/v2.0/virtual-machines/{vm_id}
Update an Execution Environment.
—
DELETE
/api/v2.0/virtual-machines/{vm_id}
Delete an Execution Environment.
—
GET
/api/v2.0/virtual-machines/{vm_id}/credentials
Get Execution Environment credentials.
—
POST
/api/v2.0/virtual-machines/{vm_id}/credentials
Set Execution Environment credentials.
—
DELETE
/api/v2.0/virtual-machines/{vm_id}/credentials
Delete Execution Environment credentials.
—
Clusters
Cluster Management
Method
Path
Description
Key Parameters
GET
/api/v2.0/clusters
List Clusters.
Query: name, organization_id, cluster_type
POST
/api/v2.0/clusters
Create a Cluster.
Body: cluster_name, organization_id, …
GET
/api/v2.0/clusters/{cluster_ref}
Get a Cluster.
—
PATCH
/api/v2.0/clusters/{cluster_ref}
Update a Cluster.
—
DELETE
/api/v2.0/clusters/{cluster_ref}
Delete a Cluster.
Query: cascade_delete (bool)
POST
/api/v2.0/clusters/{cluster_ref}/assemblies
Assign an Assembly to Cluster.
Query: cluster_partition_id; Body: assembly_ref
DELETE
/api/v2.0/clusters/{cluster_ref}/assemblies/{assembly_ref}
Remove Assembly from Cluster.
—
Cluster Partitions
Method
Path
Description
GET
/api/v2.0/clusters/{cluster_ref}/cluster_partitions
List Partitions.
POST
/api/v2.0/clusters/{cluster_ref}/cluster_partitions
Create a Partition.
PATCH
/api/v2.0/clusters/{cluster_ref}/cluster_partition/{partition_id}
Update a Partition.
DELETE
/api/v2.0/clusters/{cluster_ref}/cluster_partition/{partition_id}
Delete a Partition.
Cluster IPs & Sensors
Method
Path
Description
GET
/api/v2.0/clusters/{cluster_ref}/cluster_ips
List Cluster IPs.
POST
/api/v2.0/clusters/{cluster_ref}/cluster_ips
Add a Cluster IP.
GET
/api/v2.0/clusters/{cluster_ref}/cluster_ips/{ip_id}
Get a Cluster IP.
PATCH
/api/v2.0/clusters/{cluster_ref}/cluster_ips/{ip_id}
Update a Cluster IP.
DELETE
/api/v2.0/clusters/{cluster_ref}/cluster_ip/{ip_id}
Delete a Cluster IP.
GET
/api/v2.0/clusters/{cluster_ref}/cluster_ips/{ip_id}/sensor_configs
List sensor configs.
GET
/api/v2.0/clusters/{cluster_ref}/cluster_ips/{ip_id}/sensor_configs/{sensor_number}
Get a sensor config (0–32).
PATCH
/api/v2.0/clusters/{cluster_ref}/cluster_ips/{ip_id}/sensor_configs/{sensor_number}
Update a sensor config.
Hardware Catalog
Device Suppliers
Method
Path
Description
Key Parameters
GET
/api/v2.0/hardware/device_suppliers
List device suppliers.
Query: organization_id, skip_filter
GET
/api/v2.0/hardware/device_supplier
Get a device supplier.
Query: supplier_id (required)
POST
/api/v2.0/hardware/device_supplier
Create a device supplier.
Body: supplier_name, organization_id, …
PATCH
/api/v2.0/hardware/device_supplier/{supplier_id}
Update a device supplier.
—
DELETE
/api/v2.0/hardware/device_supplier/{supplier_id}
Delete a device supplier (cascades).
—
Device Model Families
Method
Path
Description
Key Parameters
GET
/api/v2.0/hardware/device_model_families
List model families.
Query: organization_id, skip_filter
GET
/api/v2.0/hardware/device_model_family
Get a model family.
Query: family_id (required)
POST
/api/v2.0/hardware/device_model_family
Create a model family.
Body: family_name, supplier_id, …
PATCH
/api/v2.0/hardware/device_model_family/{family_id}
Update a model family.
—
DELETE
/api/v2.0/hardware/device_model_family/{family_id}
Delete a model family (cascades).
—
Device Model Versions
Method
Path
Description
Key Parameters
GET
/api/v2.0/hardware/device_model_versions
List model versions.
Query: organization_id, skip_filter
GET
/api/v2.0/hardware/device_model_version
Get a model version.
Query: model_version_id (required)
POST
/api/v2.0/hardware/device_model_version
Create a model version.
Body: version_number, family_id, …
PATCH
/api/v2.0/hardware/device_model_version/{version_id}
Update a model version.
—
DELETE
/api/v2.0/hardware/device_model_version/{version_id}
Delete a model version.
—
Metrics & Monitoring
Method
Path
Description
Key Parameters
GET
/api/v2.0/metrics/assembly-panels
Get Assembly metrics.
Query: assembly_ref, query_key, start, end, step (seconds, 1–1000000)
GET
/api/v2.0/metrics/virtual-machine-panels
Get Execution Environment metrics.
Query: virtual_machine_id, query_key, start, end, step
GET
/api/v2.0/metrics/cluster-panels
Get Cluster metrics.
Query: cluster_ref, query_key, start, end, cluster_partition_id, step
GET
/api/v2.0/monitoring/vm-discovery
Get Execution Environment hostnames with port numbers and labels.
—
Banners
Assembly Banners
Method
Path
Description
Key Parameters
GET
/api/v2.0/banner
List Assembly banners.
Query: organization_id, active (bool)
POST
/api/v2.0/banner
Create a banner.
Body: message, organization_id, start_date, end_date, active
PATCH
/api/v2.0/banner/{banner_id}
Update a banner.
—
DELETE
/api/v2.0/banner/{banner_id}
Delete a banner.
—
Announcement Banners
Method
Path
Description
Key Parameters
GET
/api/v2.0/announcement-banner
List announcement banners.
Query: organization_id, active (bool), only_public_banners (bool)
POST
/api/v2.0/announcement-banner
Create an announcement banner.
Body: message, organization_id, start_date, end_date, active
PATCH
/api/v2.0/announcement-banner/{banner_id}
Update a banner.
—
DELETE
/api/v2.0/announcement-banner/{banner_id}
Delete a banner.
—
Health
Method
Path
Description
Auth
GET
/livez
Kubernetes liveness probe.
None
GET
/readyz
Kubernetes readiness probe (includes database check).
None