VPS.org API

Документація з програмного інтерфейсу REST

API серверів

Створення, перевірка, зміна потужності, зміна розміру та вилучення ваших серверів VPS. Сервери ідентифікуються за їх uid.

Кінцеві точки 15
Базовий шлях /api/v1/servers
ОТРИМАТИ /api/v1/servers/

Список усіх серверів

Повертає сервери вашого облікового запису, нові, 25 на сторінку. Сервери, які було вилучено, не включено.

Потрібний дозвіл: servers:list

Параметри запиту

Параметр Тип Обов'язково Опис
page integer Ні Номер сторінки, початок о 1
page_size integer Ні Результати на сторінку (типово 25, максимальний 100)

Приклад запиту

cURL
Python
JavaScript
PHP
curl -X GET "https://admin.vps.org/api/v1/servers/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
import requests

url = "https://admin.vps.org/api/v1/servers/"
headers = {"Authorization": "Bearer YOUR_API_TOKEN"}

response = requests.get(url, headers=headers)
for server in response.json()["results"]:
    print(server["uuid"], server["hostname"], server["status"])
const response = await fetch('https://admin.vps.org/api/v1/servers/', {
  headers: { 'Authorization': 'Bearer YOUR_API_TOKEN' }
});

const data = await response.json();
console.log(data.results);
$ch = curl_init('https://admin.vps.org/api/v1/servers/');
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_API_TOKEN']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$data = json_decode(curl_exec($ch), true);
curl_close($ch);

foreach ($data['results'] as $server) {
    echo $server['hostname'] . ' ' . $server['status'] . "\n";
}

Приклад відповіді

{
  "count": 2,
  "next": null,
  "previous": null,
  "results": [
    {
      "uuid": "8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b",
      "hostname": "web-01",
      "status": "on",
      "error_description": null,
      "location_name": "New Jersey",
      "plan_name": "1 vCPU / 2 GB RAM / 10 GB",
      "os_name": "Ubuntu",
      "ipv4_addresses": ["203.0.113.10"],
      "ipv6_addresses": ["2001:db8:2:dd::f9:6b"],
      "created_at": "2026-07-30T03:54:14.914364Z",
      "deployed": true
    },
    {
      "uuid": "2d7e9b40-6c1a-4f3e-8b5d-9a0c1e2f3b4d",
      "hostname": "db-01",
      "status": "queue",
      "error_description": null,
      "location_name": "New Jersey",
      "os_name": "Debian",
      "ipv4_addresses": [],
      "ipv6_addresses": [],
      "created_at": "2026-09-14T19:33:49.426508Z",
      "deployed": false
    }
  ]
}

Поля відповідей

Поле Тип Опис
uuid string Ідентифікатор сервера, який буде використано у кожній іншій точці сервера
hostname string Назва вузла, яку ви обрали під час створення сервера
status string Поточний стан. Нижче ви можете ознайомитися з значеннями стану сервера.
error_description string | null Подробиці про останню невдачу у разі помилки стану, у іншому випадку - нульовий
location_name string Назва місця, у якому запущено сервер
os_name string Назва операційної системи, без версії
plan_name string Резюме придатного для читання плану, наприклад, 1 vCPU / 2 ГБ ОЗП / 10 ГБ
ipv4_addresses array IPv4 - це рядки. Порожня адреса, доки сервер не буде застосовано, і у планах без IPv4.
ipv6_addresses array IPv6 - це рядки. Порожня адреса до часу, коли сервер буде застосований.
created_at datetime Час створення (ISO 8601, UTC)
deployed boolean Так, після завершення переходу

Коди стану відповіді

200 Список серверів успішно отримано
403 Відсутній або некоректний ключ API або елемент не має потрібного дозволу
POST /api/v1/servers/

Створити новий сервер

Поставити у чергу новий сервер для впровадження і повернути його негайно з черги стану. У тлі продовження роботи продовжується: опитування кінцевої точки стану до встановлення буде виконано. Після того, як сервер буде готовий, параметри його входу до системи буде надіслано власнику облікового запису.

У вашому обліковому записі має бути збережений спосіб оплати. Залежно від історії вашого облікового запису, перед створенням сервера на вашу картку може бути тимчасово заблоковано суму приблизно за тиждень оплати плану (щонайменше 1 USD).

Потрібний дозвіл: servers:create

Параметри тіла запиту

Параметр Тип Обов'язково Опис
hostname string Так Щонайменше 3 символи. Тільки літери, цифри, дефіси та крапки.
location_id integer Так Ідентифікатор активної адреси API Locations
plan_uuid string Так uuid активного плану з API Plans
operating_system_version_uuid string Так uid активного запису у списку версій операційної системи
ssh_key_uuids array Ні UUID ключів SSH з API SSH, які слід встановити на сервері
ssh_key_ids array Ні Ідентифікатори Integer клавіш SSH, як альтернативу ssh_ key_ uuids. Якщо ви надсилаєте обидва ключі, буде використано ssh_ key_ id.
ssh_key_uuid, ssh_key_id string, integer Ні Коротке позначення для одного ключа SSH
auth_method string Ні пароль, ssh_ key або обидва ці ключі. Типово, пароль або обидва ключі для використання у SSH.

Приклад запиту

cURL
Python
JavaScript
PHP
curl -X POST "https://admin.vps.org/api/v1/servers/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "hostname": "web-01",
    "location_id": 1,
    "plan_uuid": "3bc2faf6-8f8b-4978-b62d-b52ed3f858e9",
    "operating_system_version_uuid": "c3418f90-80a0-4e00-a7e1-d0ab1822b941",
    "ssh_key_uuids": ["YOUR_SSH_KEY_UUID"]
  }'
import requests

url = "https://admin.vps.org/api/v1/servers/"
headers = {"Authorization": "Bearer YOUR_API_TOKEN"}
data = {
    "hostname": "web-01",
    "location_id": 1,
    "plan_uuid": "3bc2faf6-8f8b-4978-b62d-b52ed3f858e9",
    "operating_system_version_uuid": "c3418f90-80a0-4e00-a7e1-d0ab1822b941",
    "ssh_key_uuids": ["YOUR_SSH_KEY_UUID"],
}

response = requests.post(url, headers=headers, json=data)
server = response.json()
print(response.status_code, server["uuid"], server["status"])
const response = await fetch('https://admin.vps.org/api/v1/servers/', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_TOKEN',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    hostname: 'web-01',
    location_id: 1,
    plan_uuid: '3bc2faf6-8f8b-4978-b62d-b52ed3f858e9',
    operating_system_version_uuid: 'c3418f90-80a0-4e00-a7e1-d0ab1822b941',
    ssh_key_uuids: ['YOUR_SSH_KEY_UUID']
  })
});

const server = await response.json();
console.log(server.uuid, server.status);
$data = [
    'hostname' => 'web-01',
    'location_id' => 1,
    'plan_uuid' => '3bc2faf6-8f8b-4978-b62d-b52ed3f858e9',
    'operating_system_version_uuid' => 'c3418f90-80a0-4e00-a7e1-d0ab1822b941',
    'ssh_key_uuids' => ['YOUR_SSH_KEY_UUID']
];

$ch = curl_init('https://admin.vps.org/api/v1/servers/');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Authorization: Bearer YOUR_API_TOKEN',
    'Content-Type: application/json'
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$server = json_decode(curl_exec($ch), true);
curl_close($ch);

Приклад відповіді

201 Створено з повним об' єктом сервера, описаним у розділі Отримати подробиці сервера. Адреси і vmid буде заповнено після завершення роботи.

{
  "uuid": "5f0c8e2a-6b1d-4c3e-9a7f-2d4b6c8e0a1f",
  "hostname": "web-01",
  "vmid": null,
  "status": "queue",
  "error_description": null,
  "location": {
    "id": 1,
    "name": "New Jersey",
    "country_name": "United States",
    "is_active": true
  },
  "plan": {
    "uuid": "3bc2faf6-8f8b-4978-b62d-b52ed3f858e9",
    "cpu": 1,
    "ram": 2,
    "ram_unit": "GB",
    "disk_space": 10,
    "disk_space_total": 10240,
    "transfer": 500,
    "price": "3.50",
    "cpu_type_name": "Shared",
    "is_active": true,
    "hourly_price": "0.005",
    "monthly_price": "3.50",
    "is_gpu": false,
    "gpu_count": 0,
    "gpu_model": ""
  },
  "operating_system": {
    "id": 1,
    "name": "Ubuntu",
    "svg_icon": "<svg ...>",
    "versions": [ ... ]
  },
  "operating_system_version": {
    "uuid": "c3418f90-80a0-4e00-a7e1-d0ab1822b941",
    "name": "24.04 LTS x64",
    "os_name": "Ubuntu",
    "os_svg_icon": "<svg ...>",
    "is_active": true
  },
  "ipv4_addresses": [],
  "ipv6_addresses": [],
  "deployed": false,
  "created_at": "2026-09-14T21:02:11.402113Z",
  "recent_actions": []
}

Коди стану відповіді

201 Сервер створено і поставлено у чергу для впровадження
400 Помилка під час перевірки, наприклад, неактивна адреса, план або версія операційної системи
402 Жодного способу сплати за файлами, неоплачуваних рахунків або було відкинуто попередньої уповноваження на картку
403 Відсутній або некоректний ключ API або елемент не має потрібного дозволу
429 Ваш обліковий запис досягнув обмеження на створення сервера
ОТРИМАТИ /api/v1/servers/{uuid}/

Отримати інформацію про сервер

Повертає один сервер з його адресою, планом, операційною системою, IP- адресами і п' ятьма останніми діями.

Потрібний дозвіл: servers:list

curl -X GET "https://admin.vps.org/api/v1/servers/8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"

Приклад відповіді

{
  "uuid": "8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b",
  "hostname": "web-01",
  "vmid": 1042,
  "status": "on",
  "error_description": null,
  "location": {
    "id": 1,
    "name": "New Jersey",
    "country_name": "United States",
    "is_active": true
  },
  "plan": {
    "uuid": "14186969-fbaf-43e1-9ab2-b1f1aeb66674",
    "cpu": 1,
    "ram": 2,
    "ram_unit": "GB",
    "disk_space": 25,
    "disk_space_total": 25600,
    "transfer": 1,
    "price": "5.00",
    "cpu_type_name": "Shared",
    "is_active": true,
    "hourly_price": "0.007",
    "monthly_price": "5.00",
    "is_gpu": false,
    "gpu_count": 0,
    "gpu_model": ""
  },
  "operating_system": {
    "id": 1,
    "name": "Ubuntu",
    "svg_icon": "<svg ...>",
    "versions": [ ... ]
  },
  "operating_system_version": {
    "uuid": "c3418f90-80a0-4e00-a7e1-d0ab1822b941",
    "name": "24.04 LTS x64",
    "os_name": "Ubuntu",
    "os_svg_icon": "<svg ...>",
    "is_active": true
  },
  "ipv4_addresses": [
    {
      "ip": "203.0.113.10",
      "gateway": "203.0.113.1",
      "subnet": "203.0.113.0",
      "rdns": "web-01.example.com"
    }
  ],
  "ipv6_addresses": [
    {
      "ip": "2001:db8:2:dd::f9:6b",
      "gateway": "2001:db8:2:dd::f9:1",
      "subnet": "2001:db8:2:dd::f9:0",
      "rdns": "web-01.example.com"
    }
  ],
  "deployed": true,
  "created_at": "2026-07-30T03:54:14.914364Z",
  "recent_actions": [
    {
      "id": 17028,
      "action": "create",
      "action_display": "Create",
      "description": "Server deployed with VMID 1042",
      "user_email": "you@example.com",
      "created_at": "2026-07-30T03:54:32.860854Z"
    }
  ]
}

Розмітка піктограм SVG і список версій буде скорочено.

Поля відповідей

Поле Тип Опис
vmid integer | null Номер віртуальної машини, встановленої під час її виконання
location object Об' єкт адреси, повернений API розташування
plan object Планувати об' єкт, як повертає його API Plans
operating_system, operating_system_version object Операційна система і встановлена версія, яку повертає операційний API
ipv4_addresses, ipv6_addresses array Один об' єкт на одну адресу з ip, ip, pswire і rrns (поворотною назвою вузла DNS)
recent_actions array До п' яти останніх дій: id, action, action_ display, description, user_ email, create_ at

Коди стану відповіді

200 Успішно отримано дані сервера
404 Не знайдено або він належить іншому обліковому запису
ОТРИМАТИ /api/v1/servers/{uuid}/status/

Отримати стан сервера

Легкий виклик для опитування після створення, вимикання або зміни розміру сервера.

curl -X GET "https://admin.vps.org/api/v1/servers/8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b/status/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
{
  "status": "on",
  "deployed": true,
  "resizing": false
}

Значення стану сервера

Значення Опис
queue Дія (розмір, потужність, зміна розміру, відновлення) виконується у черзі або в черзі
deploying Перелік даних. Сервери, створені на панелі керування, використовують цей стан; сервери, створені за допомогою API, залишаються у черзі до їх створення.
on Працює
off Вимкнено
error Остання дія зазнала невдачі. Див. помилку_ опис.
suspended_payment Призупинено через неоплачувані рахунки
POST /api/v1/servers/{uuid}/power/

Керування живленням сервера

Додати до черги дію з живлення. Стан сервера змінюється у чергу до завершення дії.

Потрібний дозвіл: servers:power

Параметри тіла запиту

Параметр Тип Обов'язково Опис
action string Так start: живлення
shutdown: ніжне завершення роботи, змушене вимикатися якщо гість не зупиниться
restart: жорсткий цикл (зупинка, потім початок)
stop: Зараз виконує той самий цикл живлення, що і перезапуск. Скористайтеся кнопкою вимикання, щоб залишити сервер.

Приклад запиту

cURL
Python
curl -X POST "https://admin.vps.org/api/v1/servers/8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b/power/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"action": "restart"}'
import requests

server_uuid = "8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b"
url = f"https://admin.vps.org/api/v1/servers/{server_uuid}/power/"
headers = {"Authorization": "Bearer YOUR_API_TOKEN"}

response = requests.post(url, headers=headers, json={"action": "restart"})
print(response.json())

Приклад відповіді

{
  "message": "Server restart queued"
}

Коди стану відповіді

200 Дія була поставлена у чергу
400 Не вистачає або не підтримується дії
402 start відмовлено, оскільки рахунок не оплачено
404 Не знайдено або він належить іншому обліковому запису
POST /api/v1/servers/{uuid}/resize/

Змінити розмір сервера

Пересуває сервер до іншого активного плану. Новий план не може мати менше місця на диску, ніж поточний, а тіло запиту має включати набір дій, щоб змінити розмір. Можливість гіпервізизора для нового плану буде перевірено до того, як у черзі буде відмовлено, отже запит залишить сервер незмінним.

Сервер буде закрито під час зміни розміру і запущено знову. Якщо зміна розміру зазнає невдачі, сервер буде повернуто до попереднього плану і запущено знову, якщо його запущено. Приріст диска не можна скасувати.

Потрібний дозвіл: servers:resize

Параметри тіла запиту

Параметр Тип Обов'язково Опис
action string Так Має бути змінений розмір
new_plan_uuid string Так uid плану для переїзду до
curl -X POST "https://admin.vps.org/api/v1/servers/8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b/resize/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"action": "resize", "new_plan_uuid": "5e26a4a6-bd0c-467c-abca-da036c811c3f"}'
{
  "message": "Resize queued successfully"
}

Приклад зміни розміру відмовленого (409):

{
  "error": "Not enough hypervisor capacity for the selected plan; the server was not changed"
}

Коди стану відповіді

200 Дія була поставлена у чергу
400 Відсутній дія або новий_ plan_ uuid, некоректний або неактивний план, план з меншим об' ємом на диску або план GPU (плани GPU не можна змінювати за допомогою API)
404 Не знайдено або він належить іншому обліковому запису
409 Зміна розміру або зберігання вже виконується, або недостатньо можливостей для нового плану
503 Зараз неможливо перевірити місткість. Сервер не було змінено; спробуйте пізніше.
POST /api/v1/servers/{uuid}/reset-password/

Скинути пароль адміністратора

Створює новий пароль адміністратора, повертає його у відповідь і чергує зміну на сервері. Новий пароль також буде надіслано вам. Слід встановити сервер. Не потрібно вказувати текст запиту.

curl -X POST "https://admin.vps.org/api/v1/servers/8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b/reset-password/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
{
  "message": "Password reset queued. New password will also be emailed to you.",
  "password": "generated-password",
  "job_id": "b6f1c7e2-3a4d-4f5e-8b9c-0d1e2f3a4b5c"
}

Коди стану відповіді

200 Дія була поставлена у чергу
400 Сервер ще не було встановлено
404 Не знайдено або він належить іншому обліковому запису
ОТРИМАТИ POST /api/v1/servers/{uuid}/rdns/

Зворотний DNS (PTR)

Отримання списку зворотної назви вузла DNS всіх IPv4 і IPv6 на сервері. POST встановлює її для однієї адреси. Надсилання порожньої назви вузла відновить типові значення назви DNS.

Потрібний дозвіл: servers:update

Параметри тіла запиту (POST)

Параметр Тип Обов'язково Опис
ip string Так IPv4 або IPv6- адреса, призначена цьому серверу
hostname string Ні Назва вузла PTR. Залиште порожнім, щоб повернутися до типового значення.
curl -X POST "https://admin.vps.org/api/v1/servers/8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b/rdns/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"ip": "203.0.113.10", "hostname": "mail.example.com"}'
{
  "message": "Reverse DNS for 203.0.113.10 set to mail.example.com",
  "ip": "203.0.113.10",
  "hostname": "mail.example.com"
}

Відповідь:

{
  "rdns": [
    {"ip": "203.0.113.10", "hostname": "mail.example.com"},
    {"ip": "2001:db8:2:dd::f9:6b", "hostname": "mail.example.com"}
  ]
}

Коди стану відповіді

400 Немає ip, або не вдалося встановити назву вузла
404 IP- адреса не призначена цьому серверу
POST /api/v1/servers/{uuid}/exec/

Виконати команду на сервері

Виконує команду оболонки всередині сервера за допомогою агента- гостя QEMU і чекає на завершення її виконання. Сервер слід встановити і запустити, а також встановити qemu- guest- agent і запустити у готелю.

Потрібний дозвіл: servers:exec

Параметри тіла запиту

Параметр Тип Обов'язково Опис
command string Так Командний рядок виконується з / bin/ sh - c, аж до 2000 символів
timeout integer Ні Секунди очікування команди від 1 до 300 (типово 30)
curl -X POST "https://admin.vps.org/api/v1/servers/8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b/exec/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"command": "uptime", "timeout": 30}'
{
  "stdout": " 21:14:03 up 46 days,  2:10,  0 users,  load average: 0.08, 0.03, 0.01\n",
  "stderr": "",
  "exit_code": 0,
  "timed_out": false
}

Якщо команда все ще виконується під час завершення очікування, відповідь має значення timed_ out встановити значення true і exit_ code встановити нульовий код.

Коди стану відповіді

200 Команду завершено або перевищено час очікування
400 Сервер не було запущено або не було запущено, або некоректні параметри
409 На сервері не запущено агент- гостельник QEMU
503 Проблема тимчасового з' єднання. Спробуйте ще раз після заголовка " Повторити " після.
ВИДАЛИТИ /api/v1/servers/{uuid}/

Видалити сервер

Поставити сервер у чергу для постійного вилучення. Сервер негайно зникає зі списку, його не можна відновити.

Потрібний дозвіл: servers:delete

curl -X DELETE "https://admin.vps.org/api/v1/servers/8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
{
  "message": "Server deletion queued"
}

Коди стану відповіді

202 Прийнято: запит було поставлено до черги
404 Не знайдено або він належить іншому обліковому запису
ОТРИМАТИ POST /api/v1/ssh-keys/

Клавіші SSH

Зберігати відкриті ключі SSH у вашому обліковому записі, а потім передавати свої uid як ssh_ key_ uuids після створення сервера. У списку можна знайти ваші ключі (25 на сторінку); POST додає один.

Потрібний дозвіл: ssh-keys:list (GET), ssh-keys:create (POST)

Параметри тіла запиту (POST)

Параметр Тип Обов'язково Опис
name string Так Назва для розпізнавання ключа, до 100 символів
public_key string Так Відкритий ключ у форматі OpenSSH, наприклад, вміст id_ ed25519. pub

Приклад запиту

cURL
Python
curl -X POST "https://admin.vps.org/api/v1/ssh-keys/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name": "laptop", "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI... you@laptop"}'
import requests

url = "https://admin.vps.org/api/v1/ssh-keys/"
headers = {"Authorization": "Bearer YOUR_API_TOKEN"}

with open("/home/you/.ssh/id_ed25519.pub") as f:
    data = {"name": "laptop", "public_key": f.read().strip()}

response = requests.post(url, headers=headers, json=data)
print(response.status_code, response.json()["uuid"])

Приклад відповіді

{
  "id": 19,
  "uuid": "6e1b9c52-3f8a-4d7e-a2c4-5b9d0e1f2a3c",
  "name": "laptop",
  "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI... you@laptop",
  "fingerprint": "0b:4c:9b:48:76:e7:1d:07:b9:ac:71:90:70:f7:9a:69",
  "created_at": "2026-08-23T19:16:11.547183Z",
  "last_used_at": null
}

Поля відповідей

Поле Тип Опис
id, uuid integer, string Ідентифікатори ключів. Скористайтеся uuid у ssh_ key_ uuids і в адресі URL, розташованій нижче; id працює у ssh_ key_ id.
fingerprint string Відбиток відбитка MD5 ключа, обчисленого за платформою
last_used_at datetime | null Коли ключ було востаннє встановлено на новому сервері

Коди стану відповіді

201 Додано ключ
400 Немає назви або відкритий ключ не є чинним відкритим ключем SSH
ОТРИМАТИ ВИДАЛИТИ /api/v1/ssh-keys/{uuid}/

Отримати або вилучити ключ SSH

Поставити один ключ з вказаним вище полем. DELETE вилучає його з вашого облікового запису і повертає 204 без вмісту. Вилучення ключа не вилучає його з серверів, на яких його було встановлено. Змінити ключі неможливо: вилучити і додати знову.

Потрібний дозвіл: ssh-keys:list (GET), ssh-keys:delete (DELETE)

curl -X DELETE "https://admin.vps.org/api/v1/ssh-keys/6e1b9c52-3f8a-4d7e-a2c4-5b9d0e1f2a3c/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"

Резервні копії і знімки

Створення резервної копії або знімка є також дією сервера: