Skip to main content
POST
/
create_desktop
curl -X POST "http://CONTROL_PLANE_IP:PORT/create_desktop" \
  -H "Content-Type: application/json" \
  -d '{
    "provider_name": "docker",
    "os_type": "Ubuntu",
    "require_a11y_tree": true,
    "require_terminal": false,
    "timeout": 3600
  }'
{
  "status": "accepted",
  "message": "Desktop environment creation started",
  "vm_id": "vm-abc123",
  "task_id": "uuid-string",
  "status_url": "/task_status/uuid-string"
}
Creates and initializes a new desktop environment. Runs as a background task and returns immediately with a task ID for status polling. Supports multiple VMs simultaneously (max 16). Returns 429 Too Many Requests if the maximum number of concurrent environments is reached.

Request Body

provider_name
string
default:"docker"
VM provider
os_type
string
default:"Ubuntu"
Operating system (Ubuntu, Windows, macOS)
remote_server_ip
string
Remote server IP (for remote VMs)
remote_server_port
integer
Remote server port
require_a11y_tree
boolean
default:"false"
Enable accessibility tree
require_terminal
boolean
default:"false"
Enable terminal access
timeout
integer
default:"3600"
Session timeout in seconds

Response

status
string
Request status (accepted)
message
string
Status message
vm_id
string
Unique identifier for the VM
task_id
string
Background task ID for status polling
status_url
string
URL to check task status
curl -X POST "http://CONTROL_PLANE_IP:PORT/create_desktop" \
  -H "Content-Type: application/json" \
  -d '{
    "provider_name": "docker",
    "os_type": "Ubuntu",
    "require_a11y_tree": true,
    "require_terminal": false,
    "timeout": 3600
  }'
{
  "status": "accepted",
  "message": "Desktop environment creation started",
  "vm_id": "vm-abc123",
  "task_id": "uuid-string",
  "status_url": "/task_status/uuid-string"
}