Set Configuration
curl --request POST \
--url https://{api_host}/kvm/v2/set/config \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data signature=session_signature_12345 \
--data kvm_id=kvm_xxxxx_yyyyy \
--data valid_until=1737476000 \
--data 'config={"boot_timeout":"5000","vnc_keymap":"en-us","cpu_model":"passthrough","disk_driver":"virtio","nw_driver":"virtio","video_driver":"cirrus","description":"fortest","assigned_vlan":"","cpu_set_cores":"core","auto_hydration":"off","tpm":"disabled","uefi":"disabled"}'import requests
url = "https://{api_host}/kvm/v2/set/config"
payload = {
"signature": "session_signature_12345",
"kvm_id": "kvm_xxxxx_yyyyy",
"valid_until": "1737476000",
"config": "{\"boot_timeout\":\"5000\",\"vnc_keymap\":\"en-us\",\"cpu_model\":\"passthrough\",\"disk_driver\":\"virtio\",\"nw_driver\":\"virtio\",\"video_driver\":\"cirrus\",\"description\":\"fortest\",\"assigned_vlan\":\"\",\"cpu_set_cores\":\"core\",\"auto_hydration\":\"off\",\"tpm\":\"disabled\",\"uefi\":\"disabled\"}"
}
headers = {"Content-Type": "application/x-www-form-urlencoded"}
response = requests.post(url, data=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/x-www-form-urlencoded'},
body: new URLSearchParams({
signature: 'session_signature_12345',
kvm_id: 'kvm_xxxxx_yyyyy',
valid_until: '1737476000',
config: '{"boot_timeout":"5000","vnc_keymap":"en-us","cpu_model":"passthrough","disk_driver":"virtio","nw_driver":"virtio","video_driver":"cirrus","description":"fortest","assigned_vlan":"","cpu_set_cores":"core","auto_hydration":"off","tpm":"disabled","uefi":"disabled"}'
})
};
fetch('https://{api_host}/kvm/v2/set/config', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{api_host}/kvm/v2/set/config",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "signature=session_signature_12345&kvm_id=kvm_xxxxx_yyyyy&valid_until=1737476000&config=%7B%22boot_timeout%22%3A%225000%22%2C%22vnc_keymap%22%3A%22en-us%22%2C%22cpu_model%22%3A%22passthrough%22%2C%22disk_driver%22%3A%22virtio%22%2C%22nw_driver%22%3A%22virtio%22%2C%22video_driver%22%3A%22cirrus%22%2C%22description%22%3A%22fortest%22%2C%22assigned_vlan%22%3A%22%22%2C%22cpu_set_cores%22%3A%22core%22%2C%22auto_hydration%22%3A%22off%22%2C%22tpm%22%3A%22disabled%22%2C%22uefi%22%3A%22disabled%22%7D",
CURLOPT_HTTPHEADER => [
"Content-Type: application/x-www-form-urlencoded"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{api_host}/kvm/v2/set/config"
payload := strings.NewReader("signature=session_signature_12345&kvm_id=kvm_xxxxx_yyyyy&valid_until=1737476000&config=%7B%22boot_timeout%22%3A%225000%22%2C%22vnc_keymap%22%3A%22en-us%22%2C%22cpu_model%22%3A%22passthrough%22%2C%22disk_driver%22%3A%22virtio%22%2C%22nw_driver%22%3A%22virtio%22%2C%22video_driver%22%3A%22cirrus%22%2C%22description%22%3A%22fortest%22%2C%22assigned_vlan%22%3A%22%22%2C%22cpu_set_cores%22%3A%22core%22%2C%22auto_hydration%22%3A%22off%22%2C%22tpm%22%3A%22disabled%22%2C%22uefi%22%3A%22disabled%22%7D")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/x-www-form-urlencoded")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://{api_host}/kvm/v2/set/config")
.header("Content-Type", "application/x-www-form-urlencoded")
.body("signature=session_signature_12345&kvm_id=kvm_xxxxx_yyyyy&valid_until=1737476000&config=%7B%22boot_timeout%22%3A%225000%22%2C%22vnc_keymap%22%3A%22en-us%22%2C%22cpu_model%22%3A%22passthrough%22%2C%22disk_driver%22%3A%22virtio%22%2C%22nw_driver%22%3A%22virtio%22%2C%22video_driver%22%3A%22cirrus%22%2C%22description%22%3A%22fortest%22%2C%22assigned_vlan%22%3A%22%22%2C%22cpu_set_cores%22%3A%22core%22%2C%22auto_hydration%22%3A%22off%22%2C%22tpm%22%3A%22disabled%22%2C%22uefi%22%3A%22disabled%22%7D")
.asString();require 'uri'
require 'net/http'
url = URI("https://{api_host}/kvm/v2/set/config")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/x-www-form-urlencoded'
request.body = "signature=session_signature_12345&kvm_id=kvm_xxxxx_yyyyy&valid_until=1737476000&config=%7B%22boot_timeout%22%3A%225000%22%2C%22vnc_keymap%22%3A%22en-us%22%2C%22cpu_model%22%3A%22passthrough%22%2C%22disk_driver%22%3A%22virtio%22%2C%22nw_driver%22%3A%22virtio%22%2C%22video_driver%22%3A%22cirrus%22%2C%22description%22%3A%22fortest%22%2C%22assigned_vlan%22%3A%22%22%2C%22cpu_set_cores%22%3A%22core%22%2C%22auto_hydration%22%3A%22off%22%2C%22tpm%22%3A%22disabled%22%2C%22uefi%22%3A%22disabled%22%7D"
response = http.request(request)
puts response.read_body{
"status": "success"
}{
"error": "Invalid parameters provided"
}{
"error": "Invalid session"
}{
"error": "Internal server error"
}Set Configuration
This endpoint allows you to set various configuration settings for a specified KVM VPS.
Use the api_host parameter obtained from the ‘Create AUTH-session’ response to authenticate the request.
Required Parameters:
- signature: The session signature obtained from the ‘Create AUTH-session’ call.
- kvm_id: The unique identifier of the KVM VPS.
- valid_until: The expiration timestamp for the session.
- config: A JSON object containing the configuration settings.
Example Configuration:
{"boot_timeout":"5000","vnc_keymap":"en-us","cpu_model":"passthrough","disk_driver":"virtio","nw_driver":"virtio","video_driver":"cirrus","description":"[a-zA-Z\-0-9\.\_]","assigned_vlan":"your vlan id","cpu_set_cores":"core or socket","auto_hydration":100}
POST
/
kvm
/
v2
/
set
/
config
Set Configuration
curl --request POST \
--url https://{api_host}/kvm/v2/set/config \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data signature=session_signature_12345 \
--data kvm_id=kvm_xxxxx_yyyyy \
--data valid_until=1737476000 \
--data 'config={"boot_timeout":"5000","vnc_keymap":"en-us","cpu_model":"passthrough","disk_driver":"virtio","nw_driver":"virtio","video_driver":"cirrus","description":"fortest","assigned_vlan":"","cpu_set_cores":"core","auto_hydration":"off","tpm":"disabled","uefi":"disabled"}'import requests
url = "https://{api_host}/kvm/v2/set/config"
payload = {
"signature": "session_signature_12345",
"kvm_id": "kvm_xxxxx_yyyyy",
"valid_until": "1737476000",
"config": "{\"boot_timeout\":\"5000\",\"vnc_keymap\":\"en-us\",\"cpu_model\":\"passthrough\",\"disk_driver\":\"virtio\",\"nw_driver\":\"virtio\",\"video_driver\":\"cirrus\",\"description\":\"fortest\",\"assigned_vlan\":\"\",\"cpu_set_cores\":\"core\",\"auto_hydration\":\"off\",\"tpm\":\"disabled\",\"uefi\":\"disabled\"}"
}
headers = {"Content-Type": "application/x-www-form-urlencoded"}
response = requests.post(url, data=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/x-www-form-urlencoded'},
body: new URLSearchParams({
signature: 'session_signature_12345',
kvm_id: 'kvm_xxxxx_yyyyy',
valid_until: '1737476000',
config: '{"boot_timeout":"5000","vnc_keymap":"en-us","cpu_model":"passthrough","disk_driver":"virtio","nw_driver":"virtio","video_driver":"cirrus","description":"fortest","assigned_vlan":"","cpu_set_cores":"core","auto_hydration":"off","tpm":"disabled","uefi":"disabled"}'
})
};
fetch('https://{api_host}/kvm/v2/set/config', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{api_host}/kvm/v2/set/config",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "signature=session_signature_12345&kvm_id=kvm_xxxxx_yyyyy&valid_until=1737476000&config=%7B%22boot_timeout%22%3A%225000%22%2C%22vnc_keymap%22%3A%22en-us%22%2C%22cpu_model%22%3A%22passthrough%22%2C%22disk_driver%22%3A%22virtio%22%2C%22nw_driver%22%3A%22virtio%22%2C%22video_driver%22%3A%22cirrus%22%2C%22description%22%3A%22fortest%22%2C%22assigned_vlan%22%3A%22%22%2C%22cpu_set_cores%22%3A%22core%22%2C%22auto_hydration%22%3A%22off%22%2C%22tpm%22%3A%22disabled%22%2C%22uefi%22%3A%22disabled%22%7D",
CURLOPT_HTTPHEADER => [
"Content-Type: application/x-www-form-urlencoded"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{api_host}/kvm/v2/set/config"
payload := strings.NewReader("signature=session_signature_12345&kvm_id=kvm_xxxxx_yyyyy&valid_until=1737476000&config=%7B%22boot_timeout%22%3A%225000%22%2C%22vnc_keymap%22%3A%22en-us%22%2C%22cpu_model%22%3A%22passthrough%22%2C%22disk_driver%22%3A%22virtio%22%2C%22nw_driver%22%3A%22virtio%22%2C%22video_driver%22%3A%22cirrus%22%2C%22description%22%3A%22fortest%22%2C%22assigned_vlan%22%3A%22%22%2C%22cpu_set_cores%22%3A%22core%22%2C%22auto_hydration%22%3A%22off%22%2C%22tpm%22%3A%22disabled%22%2C%22uefi%22%3A%22disabled%22%7D")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/x-www-form-urlencoded")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://{api_host}/kvm/v2/set/config")
.header("Content-Type", "application/x-www-form-urlencoded")
.body("signature=session_signature_12345&kvm_id=kvm_xxxxx_yyyyy&valid_until=1737476000&config=%7B%22boot_timeout%22%3A%225000%22%2C%22vnc_keymap%22%3A%22en-us%22%2C%22cpu_model%22%3A%22passthrough%22%2C%22disk_driver%22%3A%22virtio%22%2C%22nw_driver%22%3A%22virtio%22%2C%22video_driver%22%3A%22cirrus%22%2C%22description%22%3A%22fortest%22%2C%22assigned_vlan%22%3A%22%22%2C%22cpu_set_cores%22%3A%22core%22%2C%22auto_hydration%22%3A%22off%22%2C%22tpm%22%3A%22disabled%22%2C%22uefi%22%3A%22disabled%22%7D")
.asString();require 'uri'
require 'net/http'
url = URI("https://{api_host}/kvm/v2/set/config")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/x-www-form-urlencoded'
request.body = "signature=session_signature_12345&kvm_id=kvm_xxxxx_yyyyy&valid_until=1737476000&config=%7B%22boot_timeout%22%3A%225000%22%2C%22vnc_keymap%22%3A%22en-us%22%2C%22cpu_model%22%3A%22passthrough%22%2C%22disk_driver%22%3A%22virtio%22%2C%22nw_driver%22%3A%22virtio%22%2C%22video_driver%22%3A%22cirrus%22%2C%22description%22%3A%22fortest%22%2C%22assigned_vlan%22%3A%22%22%2C%22cpu_set_cores%22%3A%22core%22%2C%22auto_hydration%22%3A%22off%22%2C%22tpm%22%3A%22disabled%22%2C%22uefi%22%3A%22disabled%22%7D"
response = http.request(request)
puts response.read_body{
"status": "success"
}{
"error": "Invalid parameters provided"
}{
"error": "Invalid session"
}{
"error": "Internal server error"
}Body
application/x-www-form-urlencoded
Parameters required to configure a KVM VPS.
The session signature obtained from the 'Create AUTH-session' call.
Example:
"session_signature_12345"
The unique identifier of the KVM VPS.
Example:
"kvm_xxxxx_yyyyy"
The expiration timestamp for the session, obtained from the 'Create AUTH-session' call.
Example:
"1737476000"
config
string
default:{"boot_timeout":"5000","vnc_keymap":"en-us","cpu_model":"passthrough","disk_driver":"virtio","nw_driver":"virtio","video_driver":"cirrus","description":"fortest","assigned_vlan":"","cpu_set_cores":"core","auto_hydration":"off","tpm":"disabled","uefi":"disabled"}
JSON object containing configuration settings.
Supported values:
boot_timeout: Boot menu timeout in milliseconds (example:5000,10000)uefi:enabledordisabledtpm:enabledordisabledvnc_keymap: Keyboard layout such asen-us,en-gb,de,de-ch,fr,fr-be,fr-ch,es,it,nl,pt,sv,ru,tr, and other layouts available in the control panelcpu_set_cores:coreorsocketcpu_model:defaultorpassthroughdisk_driver:virtio,ide, orscsinw_driver:virtio,e1000, orrtl8139video_driver:cirrusorqxldescription: Custom VPS descriptionassigned_vlan: VLAN ID if VLAN service is enabledauto_hydration:off,100,200,300, or500
Example Configuration:
{"boot_timeout":"10000","vnc_keymap":"en-us","cpu_model":"passthrough","disk_driver":"virtio","nw_driver":"virtio","video_driver":"cirrus","assigned_vlan":"","cpu_set_cores":"core","auto_hydration":"off","tpm":"disabled","uefi":"disabled","description":"fortest"}
⚠️ Compatibility Notice
- UEFI is disabled by default. A value of
uefi=disabledmeans the VPS will boot using legacy BIOS mode. Settinguefi=enabledswitches the VPS to UEFI boot mode. - TPM is disabled by default. Setting
tpmtoenabledenables a Software TPM (vTPM) device for the VPS.
Response
Configuration updated successfully.
Example:
"success"
Last modified on December 17, 2025
Was this page helpful?