Queue & Tasks

Retrieve a queue item

GET/queue/{queueId}

A queued task with its actions, progress and any errors. Poll until finished is set.

Request

Authorization
Provide your bearer token in the Authorization header when making requests to protected resources.
Example: Authorization: Bearer ********************
Path Params#
queueIdinteger#required

A valid queue ID as shown in VirtFusion.

Example: 158

Request Code Samples

curl --location --request GET 'https://cp.domain.com/api/v1/queue/158' \
--header 'Authorization: Bearer <token>' \
--header 'Accept: application/json'
wget --quiet --output-document=- \
  --method=GET \
  --header='Authorization: Bearer <token>' \
  --header='Accept: application/json' \
  'https://cp.domain.com/api/v1/queue/158'
http GET 'https://cp.domain.com/api/v1/queue/158' \
  'Authorization: Bearer <token>' \
  'Accept: application/json'
const response = await fetch("https://cp.domain.com/api/v1/queue/158", {
    method: "GET",
    headers: {
        "Authorization": "Bearer <token>",
        "Accept": "application/json",
    },
});

const data = await response.json();
console.log(response.status, data);
import axios from "axios";

const response = await axios({
    method: "get",
    url: "https://cp.domain.com/api/v1/queue/158",
    headers: {
        "Authorization": "Bearer <token>",
        "Accept": "application/json",
    },
});

console.log(response.status, response.data);
const https = require("https");

const req = https.request({
    hostname: "cp.domain.com",
    path: "/api/v1/queue/158",
    method: "GET",
    headers: {
        "Authorization": "Bearer <token>",
        "Accept": "application/json",
    },
}, (res) => {
    let data = "";
    res.on("data", (chunk) => (data += chunk));
    res.on("end", () => console.log(res.statusCode, JSON.parse(data)));
});

req.on("error", (err) => console.error(err));
req.end();
import requests

url = "https://cp.domain.com/api/v1/queue/158"
headers = {
    "Authorization": "Bearer <token>",
    "Accept": "application/json",
}

response = requests.request("GET", url, headers=headers)

print(response.status_code)
print(response.json())
import http.client
import json

conn = http.client.HTTPSConnection("cp.domain.com")
headers = {
    "Authorization": "Bearer <token>",
    "Accept": "application/json",
}

conn.request("GET", "/api/v1/queue/158", None, headers)
response = conn.getresponse()

print(response.status)
print(json.loads(response.read()))
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => 'https://cp.domain.com/api/v1/queue/158',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => '',
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 0,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_HTTPHEADER => array(
        'Authorization: Bearer <token>',
        'Accept: application/json'
    ),
));

$response = curl_exec($curl);
curl_close($curl);

echo $response;
<?php

require 'vendor/autoload.php';

use GuzzleHttp\Client;

$client = new Client();

$response = $client->request('GET', 'https://cp.domain.com/api/v1/queue/158', [
    'headers' => [
        'Authorization' => 'Bearer <token>',
        'Accept' => 'application/json',
    ],
]);

echo $response->getStatusCode() . "\n";
echo $response->getBody();
package main

import (
    "fmt"
    "io"
    "net/http"
)

func main() {
    url := "https://cp.domain.com/api/v1/queue/158"
    req, _ := http.NewRequest("GET", url, nil)
    req.Header.Add("Authorization", "Bearer <token>")
    req.Header.Add("Accept", "application/json")

    res, err := http.DefaultClient.Do(req)
    if err != nil {
        panic(err)
    }
    defer res.Body.Close()

    body, _ := io.ReadAll(res.Body)
    fmt.Println(res.StatusCode, string(body))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class Main {
    public static void main(String[] args) throws Exception {
        HttpClient client = HttpClient.newHttpClient();

        HttpRequest request = HttpRequest.newBuilder()
            .uri(URI.create("https://cp.domain.com/api/v1/queue/158"))
            .header("Authorization", "Bearer <token>")
            .header("Accept", "application/json")
            .method("GET", HttpRequest.BodyPublishers.noBody())
            .build();

        HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
        System.out.println(response.statusCode());
        System.out.println(response.body());
    }
}
import okhttp3.*;

public class Main {
    public static void main(String[] args) throws Exception {
        OkHttpClient client = new OkHttpClient();

        Request request = new Request.Builder()
            .url("https://cp.domain.com/api/v1/queue/158")
            .method("GET", null)
            .addHeader("Authorization", "Bearer <token>")
            .addHeader("Accept", "application/json")
            .build();

        try (Response response = client.newCall(request).execute()) {
            System.out.println(response.code());
            System.out.println(response.body().string());
        }
    }
}
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;

var client = new HttpClient();
var request = new HttpRequestMessage(new HttpMethod("GET"), "https://cp.domain.com/api/v1/queue/158");
request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", "<token>");
request.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

var response = await client.SendAsync(request);
Console.WriteLine((int)response.StatusCode);
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "net/http"
require "json"

uri = URI("https://cp.domain.com/api/v1/queue/158")
request = Net::HTTP::Get.new(uri)
request["Authorization"] = "Bearer <token>"
request["Accept"] = "application/json"

response = Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |http|
  http.request(request)
end

puts response.code
puts JSON.pretty_generate(JSON.parse(response.body))
import Foundation

var request = URLRequest(url: URL(string: "https://cp.domain.com/api/v1/queue/158")!)
request.httpMethod = "GET"
request.setValue("Bearer <token>", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Accept")

let task = URLSession.shared.dataTask(with: request) { data, response, error in
    guard let data = data, error == nil else { print(error ?? "request failed"); return }
    print((response as! HTTPURLResponse).statusCode)
    print(String(data: data, encoding: .utf8) ?? "")
}
task.resume()
// Cargo.toml: reqwest = { version = "0.12", features = ["blocking", "json"] }, serde_json = "1"
use reqwest::blocking::Client;

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let client = Client::new();
    let response = client
        .request(reqwest::Method::GET, "https://cp.domain.com/api/v1/queue/158")
        .bearer_auth("<token>")
        .header("Accept", "application/json")
        .send()?;

    println!("{}", response.status());
    let json: serde_json::Value = response.json()?;
    println!("{}", serde_json::to_string_pretty(&json)?);
    Ok(())
}
// Cargo.toml: reqwest = { version = "0.12", features = ["json"] }, tokio = { version = "1", features = ["full"] }, serde_json = "1"
use reqwest::Client;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let client = Client::new();
    let response = client
        .request(reqwest::Method::GET, "https://cp.domain.com/api/v1/queue/158")
        .bearer_auth("<token>")
        .header("Accept", "application/json")
        .send()
        .await?;

    println!("{}", response.status());
    let json: serde_json::Value = response.json().await?;
    println!("{}", serde_json::to_string_pretty(&json)?);
    Ok(())
}
import okhttp3.MediaType.Companion.toMediaType
import okhttp3.OkHttpClient
import okhttp3.Request

fun main() {
    val client = OkHttpClient()
    val request = Request.Builder()
        .url("https://cp.domain.com/api/v1/queue/158")
        .method("GET", null)
        .addHeader("Authorization", "Bearer <token>")
        .addHeader("Accept", "application/json")
        .build()

    client.newCall(request).execute().use { response ->
        println(response.code)
        println(response.body?.string())
    }
}
// pubspec.yaml: http: ^1.2.0
import 'dart:convert';
import 'package:http/http.dart' as http;

Future<void> main() async {
  final request = http.Request('GET', Uri.parse('https://cp.domain.com/api/v1/queue/158'));
  request.headers['Authorization'] = 'Bearer <token>';
  request.headers['Accept'] = 'application/json';

  final response = await http.Response.fromStream(await request.send());
  print(response.statusCode);
  print(const JsonEncoder.withIndent('  ').convert(jsonDecode(response.body)));
}
#include <stdio.h>
#include <curl/curl.h>

int main(void) {
    CURL *curl = curl_easy_init();
    if (!curl) return 1;

    struct curl_slist *headers = NULL;
    headers = curl_slist_append(headers, "Authorization: Bearer <token>");
    headers = curl_slist_append(headers, "Accept: application/json");

    curl_easy_setopt(curl, CURLOPT_URL, "https://cp.domain.com/api/v1/queue/158");
    curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "GET");
    curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);

    CURLcode result = curl_easy_perform(curl);
    if (result != CURLE_OK) fprintf(stderr, "%s\n", curl_easy_strerror(result));

    curl_slist_free_all(headers);
    curl_easy_cleanup(curl);
    return result == CURLE_OK ? 0 : 1;
}
$headers = @{
    Authorization = "Bearer <token>"
    Accept        = "application/json"
}

$response = Invoke-RestMethod -Uri "https://cp.domain.com/api/v1/queue/158" -Method GET -Headers $headers
$response | ConvertTo-Json -Depth 10
GET /api/v1/queue/158 HTTP/1.1
Host: cp.domain.com
Authorization: Bearer <token>
Accept: application/json

Responses

200

OK.

#
application/json
object

A queued task, its actions and its progress.

QueueItem fields
idinteger#
jobIdstring#
jobstring#
hypervisorIdinteger#
serverIdinteger#
actionstring#
queuestring#
startedstring <date-time>#
updatedstring <date-time>#
finishedstring <date-time>#
failedboolean#
progressinteger#
errorsobject#
fields
exceptionobject#
fields
typestring#nullable
stringableboolean#
errorsarray[any]#
tracestring#nullable
messagestring#nullable
primaryActionsarray[object]#
item fields
typestring#
dataTypestring#
dataany#

Shape varies; see the example.

createdstring <date-time>#
updatedstring <date-time>#
subActionsarray[any]#
Example
{
    "data": {
        "id": 158,
        "jobId": "852",
        "job": "App\\Jobs\\Server\\KVM\\Build",
        "hypervisorId": 6,
        "serverId": 69,
        "action": "build_server",
        "queue": "default",
        "started": "2025-01-15T15:00:26+00:00",
        "updated": "2025-01-15T15:00:49+00:00",
        "finished": "2025-01-15T15:00:49+00:00",
        "failed": false,
        "progress": 100,
        "errors": {
            "exception": {
                "stringable": false,
                "errors": [],
                "type": null,
                "trace": null,
                "message": null
            }
        },
        "primaryActions": [
            {
                "type": "server.get.status",
                "dataType": "object",
                "data": {
                    "success": true,
                    "version": "{{VERSION}}",
                    "setOpts": {
                        "failOnVersionCheck": true,
                        "failOnDisasterRecovery": true,
                        "createDirStructure": true,
                        "writeXMLConfiguration": false,
                        "failOnCustomXML": false,
                        "failOnPriorityXML": false,
                        "failOnElevateXML": true
                    },
                    "actions": {
                        "createDirStructure": {
                            "requested": true,
                            "output": "server directory structure set. No action required",
                            "msg": null,
                            "success": true
                        }
                    },
                    "statusTree": {
                        "disasterRecoveryActive": false,
                        "customXML": false,
                        "priorityXML": false,
                        "elevateXML": false
                    }
                },
                "created": "2025-01-15T15:00:26+00:00",
                "updated": "2025-01-15T15:00:26+00:00"
            },
            {
                "type": "server.config.dhcp",
                "dataType": "object",
                "data": {
                    "system": {
                        "success": true,
                        "commandline": [],
                        "data": []
                    }
                },
                "created": "2025-01-15T15:00:26+00:00",
                "updated": "2025-01-15T15:00:26+00:00"
            },
            {
                "type": "server.os.template.exists",
                "dataType": "object",
                "data": {
                    "success": false,
                    "remote": {
                        "info": {
                            "url": "https://cloud-images.ubuntu.com/noble/current/noble-server-cloudimg-amd64.img",
                            "content_type": "application/octet-stream",
                            "http_code": 200,
                            "header_size": 255,
                            "request_size": 176,
                            "filetime": -1,
                            "ssl_verify_result": 20,
                            "redirect_count": 0,
                            "total_time": 0.070349,
                            "namelookup_time": 0.016706,
                            "connect_time": 0.03088,
                            "pretransfer_time": 0.054076,
                            "size_upload": 0,
                            "size_download": 0,
                            "speed_download": 0,
                            "speed_upload": 0,
                            "download_content_length": 609856512,
                            "upload_content_length": 0,
                            "starttransfer_time": 0.070305,
                            "redirect_time": 0,
                            "redirect_url": "",
                            "primary_ip": "185.125.190.37",
                            "certinfo": [],
                            "primary_port": 443,
                            "local_ip": "192.168.4.2",
                            "local_port": 34728,
                            "http_version": 2,
                            "protocol": 2,
                            "ssl_verifyresult": 0,
                            "scheme": "HTTPS",
                            "appconnect_time_us": 54015,
                            "connect_time_us": 30880,
                            "namelookup_time_us": 16706,
                            "pretransfer_time_us": 54076,
                            "redirect_time_us": 0,
                            "starttransfer_time_us": 70305,
                            "total_time_us": 70349,
                            "effective_method": "HEAD"
                        },
                        "exitCode": 0,
                        "error": null,
                        "completed": true
                    }
                },
                "created": "2025-01-15T15:00:27+00:00",
                "updated": "2025-01-15T15:00:27+00:00"
            },
            {
                "type": "server.os.template.download",
                "dataType": "object",
                "data": {
                    "system": {
                        "success": true,
                        "errors": [],
                        "commandline": [],
                        "data": [
                            {
                                "sourceUrl": "https://cloud-images.ubuntu.com/noble/current/noble-server-cloudimg-amd64.img",
                                "sourceDecompress": "",
                                "destinationPath": "/home/vf-data/os/template/ubuntu-noble-server-cloudimg-amd64-2024-04-25.qcow2",
                                "exitCode": null,
                                "pid": null,
                                "finished": false,
                                "error": null,
                                "errorOutput": null,
                                "success": 0,
                                "updated": 1736953227
                            }
                        ]
                    }
                },
                "created": "2025-01-15T15:00:27+00:00",
                "updated": "2025-01-15T15:00:27+00:00"
            },
            {
                "type": "server.os.template.download.check",
                "dataType": "object",
                "data": {
                    "success": true,
                    "filesize": 609856512,
                    "remote": "{\n    \"sourceUrl\": \"https:\\/\\/cloud-images.ubuntu.com\\/noble\\/current\\/noble-server-cloudimg-amd64.img\",\n    \"sourceDecompress\": \"\",\n    \"destinationPath\": \"\\/home\\/vf-data\\/os\\/template\\/ubuntu-noble-server-cloudimg-amd64-2024-04-25.qcow2\",\n    \"exitCode\": 0,\n    \"pid\": 387093,\n    \"finished\": true,\n    \"error\": null,\n    \"errorOutput\": null,\n    \"success\": true,\n    \"updated\": 1736953235,\n    \"decompressOutput\": null\n}"
                },
                "created": "2025-01-15T15:00:35+00:00",
                "updated": "2025-01-15T15:00:35+00:00"
            },
            {
                "type": "server.create.ci",
                "dataType": "object",
                "data": {
                    "network": {
                        "version": 2,
                        "ethernets": {
                            "ens3": {
                                "match": {
                                    "macaddress": "00:e7:fb:01:87:14"
                                },
                                "addresses": [
                                    "192.168.4.32/23",
                                    "192.168.4.35/23"
                                ],
                                "gateway4": "192.168.4.1",
                                "nameservers": {
                                    "addresses": [
                                        "8.8.8.8",
                                        "8.8.4.4"
                                    ]
                                },
                                "routes": [
                                    {
                                        "to": "192.168.4.1",
                                        "via": "0.0.0.0",
                                        "scope": "link"
                                    }
                                ]
                            },
                            "ens4": {
                                "match": {
                                    "macaddress": "00:f0:4a:c6:3f:08"
                                },
                                "addresses": [
                                    "192.168.4.33/23",
                                    "192.168.4.34/23"
                                ],
                                "gateway4": "192.168.4.1",
                                "nameservers": {
                                    "addresses": [
                                        "8.8.8.8",
                                        "8.8.4.4"
                                    ]
                                }
                            }
                        }
                    },
                    "user": {
                        "timezone": "Europe/London",
                        "ssh_pwauth": false,
                        "users": [
                            {
                                "name": "root",
                                "ssh-authorized-keys": [
                                    "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC+JdL4fWELBWGAknSu0PwVpDDOlORxy9z7eVnZphZXBzYLMnux+ZogVLns6+O6NDE8JmWvP9RIg3SIga7RDOkW9UCdLzRu0jF2ALL7CK1huo1Ih0PDM9ZbFDy2Fd7a4DTvUX6923fQyW0PWRtyL11R4c9NUqzejKp5kW8vHfPQjzwb1hGIKvkSYkI0Auq4JJhlvjjnoK7Z8t5mpDrVfNTrVqevPgsW5Xwnq8R+02XywrY+Q/wnpxDs3Wjb2aA61A0x5J0xcZQpTQHoJNj77J3VmPI7Ry7Q8hPbTSLGZbN+gODr0lOaL5TdbvM3bnus5JvoqgRoszzPcTiNMZAe3v9UM8hiXise54b8rsc2M9MQ4olPu7TrROZbcw+9q4m6cV+dfVU/NRFkf27YRa4oZNKehHsMiupDyoISgSl4qSB8YXAWsX03oC/gzpB2YJIqEL1Y/SmKYEhgr0cplkvGZy6C/Q9cJHyHlMPtEBPexgcjXC9QrVK4n2cmde3TuSRMctawcat7Nuq08C8fGHaGHr8iAeage3o/ODVOt0rhBu69PknzQeVBdlwK3+p1dH6PnMzNNBhWyNZT/NqB2eS6K8lYpOQ47byXPwYsRLvStUjpZRdikOT7D31T5g8FwOThQ+6WX+xfMD7CSLsSKCn/FhlinbVbG2IhCLH3B30Akw5bUw=="
                                ],
                                "hashed_passwd": "",
                                "lock_passwd": true
                            }
                        ],
                        "runcmd": [
                            "DEBIAN_FRONTEND=noninteractive /usr/bin/apt-get --option=Dpkg::Options::=--force-confold --option=Dpkg::options::=--force-unsafe-io --assume-yes --quiet update",
                            "DEBIAN_FRONTEND=noninteractive /usr/bin/apt-get --option=Dpkg::Options::=--force-confold --option=Dpkg::options::=--force-unsafe-io --assume-yes --quiet install qemu-guest-agent",
                            "/usr/bin/systemctl enable qemu-guest-agent",
                            "/usr/bin/systemctl start qemu-guest-agent",
                            "DEBIAN_FRONTEND=noninteractive /usr/bin/apt-get --option=Dpkg::Options::=--force-confold --option=Dpkg::options::=--force-unsafe-io --assume-yes --quiet dist-upgrade"
                        ]
                    },
                    "meta": {
                        "instance-id": "b9fd9092-7200-4a24-96d4-76aedd664274",
                        "local-hostname": "elliptical-way"
                    }
                },
                "created": "2025-01-15T15:00:35+00:00",
                "updated": "2025-01-15T15:00:35+00:00"
            },
            {
                "type": "server.disk.create.os",
                "dataType": "object",
                "data": {
                    "system": {
                        "success": true,
                        "commandline": [
                            {
                                "result": {
                                    "success": true,
                                    "exitOnZero": false,
                                    "command": "'virsh' 'destroy' 'b9fd9092-7200-4a24-96d4-76aedd664274'",
                                    "exit_code": 1,
                                    "pid": 387131,
                                    "started": 1736953235.403454,
                                    "env": {
                                        "PATH": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
                                    },
                                    "timeout": 180,
                                    "output": "",
                                    "error": "error: failed to get domain 'b9fd9092-7200-4a24-96d4-76aedd664274'"
                                }
                            },
                            {
                                "command": "qemu-img info '/home/vf-data/os/template/ubuntu-noble-server-cloudimg-amd64-2024-04-25.qcow2' | grep -v grep | grep -w \"file format:\" | awk '{ print $3 }'",
                                "exit_code": 0,
                                "output": "qcow2",
                                "error": ""
                            },
                            {
                                "command": "'cloud-localds' '/home/vf-data/server/b9fd9092-7200-4a24-96d4-76aedd664274/cloud-drive.img' '--network-config=/home/vf-data/server/b9fd9092-7200-4a24-96d4-76aedd664274/network-config-v2.yaml' '/home/vf-data/server/b9fd9092-7200-4a24-96d4-76aedd664274/user-data.yaml' '/home/vf-data/server/b9fd9092-7200-4a24-96d4-76aedd664274/meta-data.yaml'",
                                "exit_code": 0,
                                "output": "",
                                "error": ""
                            }
                        ],
                        "data": {
                            "success": true,
                            "forkData": {
                                "status": true,
                                "errors": [],
                                "commandline": [],
                                "output": [
                                    {
                                        "sourcePath": "/home/vf-data/os/template/ubuntu-noble-server-cloudimg-amd64-2024-04-25.qcow2",
                                        "destinationPath": "/home/vf-data/disk/b9fd9092-7200-4a24-96d4-76aedd664274_1.img",
                                        "convertProcess": [
                                            "qemu-img",
                                            "convert",
                                            "-f",
                                            "qcow2",
                                            "-O",
                                            "qcow2",
                                            "/home/vf-data/os/template/ubuntu-noble-server-cloudimg-amd64-2024-04-25.qcow2",
                                            "/home/vf-data/disk/b9fd9092-7200-4a24-96d4-76aedd664274_1.img"
                                        ],
                                        "resizeProcess": [
                                            "qemu-img",
                                            "resize",
                                            "-f",
                                            "qcow2",
                                            "/home/vf-data/disk/b9fd9092-7200-4a24-96d4-76aedd664274_1.img",
                                            "11G"
                                        ],
                                        "resizeProcessPid": null,
                                        "convertProcessPid": null,
                                        "finished": false,
                                        "convertProcessOutput": null,
                                        "resizeProcessOutput": null,
                                        "convertProcessExitCode": null,
                                        "resizeProcessExitCode": null,
                                        "convertProcessError": null,
                                        "resizeProcessError": null,
                                        "error": null,
                                        "success": false,
                                        "updated": 1736953238
                                    }
                                ]
                            },
                            "abort": false,
                            "error": null,
                            "errorException": null
                        }
                    }
                },
                "created": "2025-01-15T15:00:38+00:00",
                "updated": "2025-01-15T15:00:38+00:00"
            },
            {
                "type": "server.os.install.check",
                "dataType": "object",
                "data": {
                    "success": true,
                    "sourceFilesize": 609856512,
                    "destinationFilesize": 1832517808,
                    "remote": {
                        "sourcePath": "/home/vf-data/os/template/ubuntu-noble-server-cloudimg-amd64-2024-04-25.qcow2",
                        "destinationPath": "/home/vf-data/disk/b9fd9092-7200-4a24-96d4-76aedd664274_1.img",
                        "convertProcess": [
                            "qemu-img",
                            "convert",
                            "-f",
                            "qcow2",
                            "-O",
                            "qcow2",
                            "/home/vf-data/os/template/ubuntu-noble-server-cloudimg-amd64-2024-04-25.qcow2",
                            "/home/vf-data/disk/b9fd9092-7200-4a24-96d4-76aedd664274_1.img"
                        ],
                        "resizeProcess": [
                            "qemu-img",
                            "resize",
                            "-f",
                            "qcow2",
                            "/home/vf-data/disk/b9fd9092-7200-4a24-96d4-76aedd664274_1.img",
                            "11G"
                        ],
                        "resizeProcessPid": 387270,
                        "convertProcessPid": 387168,
                        "finished": true,
                        "convertProcessOutput": "",
                        "resizeProcessOutput": "Image resized.\n",
                        "convertProcessExitCode": 0,
                        "resizeProcessExitCode": 0,
                        "convertProcessError": null,
                        "resizeProcessError": null,
                        "error": null,
                        "success": true,
                        "updated": 1736953244
                    }
                },
                "created": "2025-01-15T15:00:44+00:00",
                "updated": "2025-01-15T15:00:44+00:00"
            },
            {
                "type": "server.vnc.disable",
                "dataType": "object",
                "data": {
                    "system": {
                        "success": true,
                        "commandline": [
                            {
                                "command": "'/usr/sbin/ufw' 'deny' '5903'",
                                "exit_code": 0,
                                "output": "Skipping adding existing rule\nSkipping adding existing rule (v6)",
                                "error": ""
                            }
                        ],
                        "data": []
                    }
                },
                "created": "2025-01-15T15:00:45+00:00",
                "updated": "2025-01-15T15:00:45+00:00"
            },
            {
                "type": "server.boot",
                "dataType": "object",
                "data": {
                    "system": {
                        "success": true,
                        "errors": [],
                        "commandline": [
                            {
                                "success": true,
                                "exitOnZero": false,
                                "command": "'virsh' '-q' 'domstate' 'b9fd9092-7200-4a24-96d4-76aedd664274'",
                                "exit_code": 1,
                                "pid": 387301,
                                "started": 1736953245.165795,
                                "env": {
                                    "PATH": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
                                },
                                "timeout": 60,
                                "output": "",
                                "error": "error: failed to get domain 'b9fd9092-7200-4a24-96d4-76aedd664274'"
                            },
                            {
                                "success": true,
                                "exitOnZero": true,
                                "command": "'virsh' 'create' '/home/vf-data/server/b9fd9092-7200-4a24-96d4-76aedd664274/server.xml'",
                                "exit_code": 0,
                                "pid": 387303,
                                "started": 1736953245.190122,
                                "env": {
                                    "PATH": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
                                },
                                "timeout": 360,
                                "output": "Domain 'b9fd9092-7200-4a24-96d4-76aedd664274' created from /home/vf-data/server/b9fd9092-7200-4a24-96d4-76aedd664274/server.xml",
                                "error": ""
                            },
                            {
                                "result": {
                                    "success": true,
                                    "exitOnZero": true,
                                    "command": "'virsh' 'attach-disk' 'b9fd9092-7200-4a24-96d4-76aedd664274' '/home/vf-data/server/b9fd9092-7200-4a24-96d4-76aedd664274/cloud-drive.img' 'sdx' '--mode' 'readonly'",
                                    "exit_code": 0,
                                    "pid": 387457,
                                    "started": 1736953246.67152,
                                    "env": {
                                        "PATH": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
                                    },
                                    "timeout": 60,
                                    "output": "Disk attached successfully",
                                    "error": ""
                                }
                            }
                        ],
                        "data": [
                            [
                                {
                                    "filter_list": null,
                                    "filter_apply": null,
                                    "filter_apply_success": true,
                                    "filter_apply_error": false,
                                    "filter_apply_error_trace": false,
                                    "filter_apply_cli": null,
                                    "filter_apply_code": null,
                                    "tmp_filter_1": "/home/vf-data/server/b9fd9092-7200-4a24-96d4-76aedd664274/networkFilter-3933491695.xml",
                                    "tmp_filter_2": "/home/vf-data/server/b9fd9092-7200-4a24-96d4-76aedd664274/networkFilter-3933491695.xml-tmp",
                                    "sha1": "bd9ce80d8372e025e5de8757ec63c042986a48fa",
                                    "sha1_last": "bd9ce80d8372e025e5de8757ec63c042986a48fa",
                                    "native": {
                                        "primary": [],
                                        "secondary": {
                                            "sha1": "801b6632cbb50f2c8c6dd15037ba9c9d4e03cf50",
                                            "sha1_last": "801b6632cbb50f2c8c6dd15037ba9c9d4e03cf50"
                                        }
                                    }
                                }
                            ]
                        ]
                    }
                },
                "created": "2025-01-15T15:00:46+00:00",
                "updated": "2025-01-15T15:00:46+00:00"
            },
            {
                "type": "server.config.statistics",
                "dataType": "object",
                "data": [],
                "created": "2025-01-15T15:00:48+00:00",
                "updated": "2025-01-15T15:00:48+00:00"
            }
        ],
        "subActions": []
    }
}
401

The bearer token is missing, invalid, or expired. The response has no body.

#
No response body.
404

The item was not found.

#
application/json
msgstring#
Example
{
    "msg": "item not found"
}
429

Too many requests. Either the token's requests per minute are used up (see the `X-RateL…

#
application/json

Too many requests. Either the token's requests per minute are used up (see the X-RateLimit-* headers) or the calling address has failed authentication 10 times in a minute (the body then includes retry_after_seconds). Retry-After gives the seconds to wait.

object
errorsarray[string]#
retry_after_secondsinteger#

Seconds to wait before retrying. Present on the failed-authentication limit only.

Response headers
Retry-Afterinteger

Seconds to wait before retrying.

X-RateLimit-Limitinteger

The token's requests per minute (token limit only).

X-RateLimit-Remaininginteger

Requests left in the current minute (token limit only).

X-RateLimit-Resetinteger

Unix timestamp at which the minute resets (token limit only).

Examples
{
    "errors": [
        "Too Many Requests"
    ]
}
{
    "errors": [
        "Too many authentication attempts. Try again later."
    ],
    "retry_after_seconds": 42
}