Console API reference for VM applications
Use the following reference to understand the console WebSocket endpoint, error codes, and guest requirements for VM application serial console access.
Application console WebSocket endpoint Copy linkLink copied!
The VM application console uses a WebSocket connection served by the flightctl-api service.
This endpoint is distinct from the device console endpoint (/ws/v1/devices/{name}/console), which provides access to the host operating system shell on the device.
| Property | Value |
|---|---|
|
Endpoint |
|
|
Protocol |
WebSocket |
|
Service |
|
|
Path parameter: |
The device name. |
|
Path parameter: |
The VM application name. |
|
Query parameter: |
The console type: |
|
Query parameter: |
When set, takes over an existing console session of the same type for this application. |
|
RBAC |
Requires |
Error codes Copy linkLink copied!
| HTTP code | Meaning | Resolution |
|---|---|---|
|
400 |
Missing session metadata. |
Ensure the |
|
403 |
Access denied.
The user does not have |
Request the required permission from your administrator. |
|
404 |
The device or application was not found. |
Verify the device name and application name. |
|
409 |
Another console session of the same type is already active for this application, or the device is in a state that prevents console access. |
To take over an existing session, use the |
|
504 |
Protocol negotiation with the device agent timed out after 60 seconds. |
The device agent might be unreachable or the VM might still be starting. Wait and retry. |
Guest kernel requirement Copy linkLink copied!
The VM guest kernel must include console=ttyS0 in the kernel command line for serial console output.
Without this parameter, the serial console session connects but does not display any output.
Most Linux distribution cloud images include this parameter by default.
If your guest image does not, add console=ttyS0 to the kernel command line in the GRUB configuration or through a cloud-init bootcmd directive.
By default, Windows VM guests do not output to the serial console.
To enable it, configure EMS/SAC in the guest (bcdedit /ems {current} on and bcdedit /emssettings EMSPORT:1 EMSBAUDRATE:115200).
For Windows VMs without EMS/SAC, use RDP via port publishing for remote access.