VPS.org API

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

API резервних копій

Список резервних копій вашого сервера, створення резервної копії і відновлення сервера з одного сервера.

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

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

Повертає резервні копії всіх серверів, нові, 25 на сторінку. Фільтр сервера не буде: для групування слід використовувати сервер_ назва_ вузла.

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

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

Параметр Тип Обов'язково Опис
page integer Ні Номер сторінки, початок о 1

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

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

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

response = requests.get(url, headers=headers)
for backup in response.json()["results"]:
    print(backup["id"], backup["server_hostname"], backup["created_at"])
const response = await fetch('https://admin.vps.org/api/v1/backups/', {
  headers: { 'Authorization': 'Bearer YOUR_API_TOKEN' }
});

const data = await response.json();
console.log(data.results);

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

{
  "count": 96,
  "next": "https://admin.vps.org/api/v1/backups/?page=2",
  "previous": null,
  "results": [
    {
      "id": 5512,
      "server_hostname": "web-01",
      "name": "vzdump-qemu-1042-2026_09_14-16_44_10.vma.zst",
      "size_gb": 3.12,
      "deletion_date": "2026-09-21T20:45:40.697512Z",
      "days_remaining": 6,
      "created_at": "2026-09-14T20:45:40.699494Z"
    }
  ]
}

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

Поле Тип Опис
id integer Ідентифікатор резервної копії, який використовується get і reset end points
server_hostname string Назва вузла сервера, з якого було взято резервну копію
name string Назва файла архіву резервної копії
size_gb number Стиснений розмір у гігабайтах
deletion_date datetime Якщо резервну копію буде автоматично вилучено
days_remaining integer Цілих днів до дати вилучення
created_at datetime Час створення (ISO 8601, UTC)

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

200 Успішно отримано список резервних копій
403 Відсутній або некоректний ключ API або елемент не має потрібного дозволу
ОТРИМАТИ /api/v1/backups/{id}/

Отримати резервну копію

Повертає один об' єкт резервної копії з вказаним вище полями.

curl -X GET "https://admin.vps.org/api/v1/backups/5512/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
POST /api/v1/servers/{uuid}/backup/

Створити резервну копію

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

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

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

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

response = requests.post(url, headers=headers)
print(response.json())

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

{
  "message": "Backup queued successfully"
}

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

200 Дія була поставлена у чергу
400 Сервер ще не було встановлено
402 Немає способу сплати для файла або неоплачених рахунків
404 Не знайдено або він належить іншому обліковому запису
POST /api/v1/backups/{id}/restore/

Відновити сервер з резервної копії

Зупиняє роботу сервера, з якого було взято резервну копію, перезаписує диск на його резервну копію і знову її запускає. Не потрібно використовувати тіло запиту. Стан сервера - це черга у черзі під час виконання відновлення.

Потрібний дозвіл: backups:restore

curl -X POST "https://admin.vps.org/api/v1/backups/5512/restore/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
{
  "message": "Backup restore queued. The server will be stopped, restored, and restarted.",
  "backup": "vzdump-qemu-1042-2026_09_14-16_44_10.vma.zst",
  "job_id": "b6f1c7e2-3a4d-4f5e-8b9c-0d1e2f3a4b5c"
}
Попередження: Всі записи, написані на сервері після втрати резервної копії. Відновлення не можна скасувати.

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

200 Дія була поставлена у чергу
400 Сервер ще не було встановлено
404 Не знайдено або він належить іншому обліковому запису

Нотатки