curl --request POST \
--url https://{api_host}/kvm/v2/set/reinstall \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data signature=session_signature_12345 \
--data kvm_id=kvm_xxxxx_yyyyy \
--data valid_until=1737476000 \
--data image=debian-bullseye \
--data password=your-password \
--data 'cloudinit_user_data=<string>'import requests
url = "https://{api_host}/kvm/v2/set/reinstall"
payload = {
"signature": "session_signature_12345",
"kvm_id": "kvm_xxxxx_yyyyy",
"valid_until": "1737476000",
"image": "debian-bullseye",
"password": "your-password",
"cloudinit_user_data": "<string>"
}
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',
image: 'debian-bullseye',
password: 'your-password',
cloudinit_user_data: '<string>'
})
};
fetch('https://{api_host}/kvm/v2/set/reinstall', 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/reinstall",
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&image=debian-bullseye&password=your-password&cloudinit_user_data=%3Cstring%3E",
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/reinstall"
payload := strings.NewReader("signature=session_signature_12345&kvm_id=kvm_xxxxx_yyyyy&valid_until=1737476000&image=debian-bullseye&password=your-password&cloudinit_user_data=%3Cstring%3E")
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/reinstall")
.header("Content-Type", "application/x-www-form-urlencoded")
.body("signature=session_signature_12345&kvm_id=kvm_xxxxx_yyyyy&valid_until=1737476000&image=debian-bullseye&password=your-password&cloudinit_user_data=%3Cstring%3E")
.asString();require 'uri'
require 'net/http'
url = URI("https://{api_host}/kvm/v2/set/reinstall")
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&image=debian-bullseye&password=your-password&cloudinit_user_data=%3Cstring%3E"
response = http.request(request)
puts response.read_body{
"status": "success"
}{
"error": "Invalid parameters provided.",
"code": 400
}{
"error": "Invalid or expired session signature.",
"code": 401
}{
"error": "Access to this resource is denied.",
"code": 403
}{
"error": "An unexpected error occurred on the server.",
"code": 500
}Reinstall
This endpoint reinstalls the operating system on the specified KVM VPS.
The api_host parameter, obtained from the “Create AUTH-session” response,
is dynamically set in the URL.
Provide the signature, kvm_id, valid_until, and other required parameters
to execute the reinstallation.
curl --request POST \
--url https://{api_host}/kvm/v2/set/reinstall \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data signature=session_signature_12345 \
--data kvm_id=kvm_xxxxx_yyyyy \
--data valid_until=1737476000 \
--data image=debian-bullseye \
--data password=your-password \
--data 'cloudinit_user_data=<string>'import requests
url = "https://{api_host}/kvm/v2/set/reinstall"
payload = {
"signature": "session_signature_12345",
"kvm_id": "kvm_xxxxx_yyyyy",
"valid_until": "1737476000",
"image": "debian-bullseye",
"password": "your-password",
"cloudinit_user_data": "<string>"
}
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',
image: 'debian-bullseye',
password: 'your-password',
cloudinit_user_data: '<string>'
})
};
fetch('https://{api_host}/kvm/v2/set/reinstall', 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/reinstall",
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&image=debian-bullseye&password=your-password&cloudinit_user_data=%3Cstring%3E",
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/reinstall"
payload := strings.NewReader("signature=session_signature_12345&kvm_id=kvm_xxxxx_yyyyy&valid_until=1737476000&image=debian-bullseye&password=your-password&cloudinit_user_data=%3Cstring%3E")
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/reinstall")
.header("Content-Type", "application/x-www-form-urlencoded")
.body("signature=session_signature_12345&kvm_id=kvm_xxxxx_yyyyy&valid_until=1737476000&image=debian-bullseye&password=your-password&cloudinit_user_data=%3Cstring%3E")
.asString();require 'uri'
require 'net/http'
url = URI("https://{api_host}/kvm/v2/set/reinstall")
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&image=debian-bullseye&password=your-password&cloudinit_user_data=%3Cstring%3E"
response = http.request(request)
puts response.read_body{
"status": "success"
}{
"error": "Invalid parameters provided.",
"code": 400
}{
"error": "Invalid or expired session signature.",
"code": 401
}{
"error": "Access to this resource is denied.",
"code": 403
}{
"error": "An unexpected error occurred on the server.",
"code": 500
}Body
Required parameters to reinstall the operating system.
All parameters must be passed in the request body as application/x-www-form-urlencoded.
The session signature obtained from the "Create AUTH-session" call.
"session_signature_12345"
The unique identifier of the KVM VPS to reinstall.
This value is specific to your VPS.
"kvm_xxxxx_yyyyy"
The expiration timestamp for the session, as obtained from the "Create AUTH-session" call.
Ensure that the session is valid and has not expired.
"1737476000"
The name of the operating system image to install.
Use the get autoinstall images endpoint to retrieve available images.
"debian-bullseye"
The root password for the new installation.
⚠️ If "cloudinit_user_data" is provided, this parameter may be ignored depending on the cloud-init configuration.
"your-password"
Optional cloud-init configuration for supported images.
Example:
#cloud-config write_files: - path: /etc/apt/apt.conf.d/99force-ipv4 content: | Acquire::ForceIPv4 'true'; owner: 'root:root' permissions: '0644' set_hostname: kvmtest user: root password: YOUR_ROOT_PASSWORD disable_root: false disable_root_opts: '' ssh_pwauth: False ssh_authorized_keys: - ssh-rsa YOUR_SSH_KEY manage_etc_hosts: true expire: False runcmd: - chage -d 19000 root - [ /usr/bin/sed, -i, -E, 's/disable_root:.*true/disable_root: false/i', /etc/cloud/cloud.cfg ] - [ /usr/bin/sed, -i, -E, 's/PermitRootLogin.*/PermitRootLogin without-password/i', /etc/ssh/sshd_config ] - [ /usr/bin/sed, -i, -E, 's/#PermitRootLogin.*/PermitRootLogin yes/i', /etc/ssh/sshd_config ] users: - default power_state: delay: now mode: reboot message: Bye Bye timeout: 30 condition: True package_update: false package_upgrade: false
Refer to the Cloud-init documentation for details.
Response
The operating system was successfully reinstalled on the VPS.
The status of the operation.
"success"
Was this page helpful?