API Endpoint Reference (v2.0)
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 Virtual Machines
| Method |
Path |
Description |
GET |
/api/v2.0/assemblies/{assembly_ref}/virtual-machine |
Get VMs assigned to assembly. |
POST |
/api/v2.0/assemblies/{assembly_ref}/virtual_machine |
Assign a VM to assembly. |
PATCH |
/api/v2.0/assemblies/{assembly_ref}/virtual-machine/{vm_id} |
Update VM settings for assembly. |
DELETE |
/api/v2.0/assemblies/{assembly_ref}/virtual-machine/{vm_id} |
Unassign VM 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. |
— |
Virtual Machines
| Method |
Path |
Description |
Key Parameters |
GET |
/api/v2.0/virtual-machines |
List VMs. |
Query: organization_id, cluster_ref |
POST |
/api/v2.0/virtual-machines |
Create a VM. |
Body: name, organization_id, cluster_ref, … |
GET |
/api/v2.0/virtual-machines/{vm_id} |
Get a VM. |
— |
PATCH |
/api/v2.0/virtual-machines/{vm_id} |
Update a VM. |
— |
DELETE |
/api/v2.0/virtual-machines/{vm_id} |
Delete a VM. |
— |
GET |
/api/v2.0/virtual-machines/{vm_id}/credentials |
Get VM credentials. |
— |
POST |
/api/v2.0/virtual-machines/{vm_id}/credentials |
Set VM credentials. |
— |
DELETE |
/api/v2.0/virtual-machines/{vm_id}/credentials |
Delete VM 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 VM 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 VM 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 |