VPS.org API

Документација REST API-ја

API за резервне копије

Програмски управљајте резервним копијама сервера. Наведите, креирајте, вратите и обришите резервне копије за ваше сервере.

Крајње тачке 3 endpoints
Основна путања /api/v1/backups
ДОБИЈ /api/v1/backups/

Наведите све резервне копије

Преузмите листу свих резервних копија на вашим серверима.

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

Параметар Тип Обавезно Опис
server_id integer Не Филтрирај резервне копије по ИД-у сервера
backup_type string Не Филтрирај по типу: manual , automatic

Пример захтева

cURL
Python
JavaScript
curl -X GET "https://admin.vps.org/api/v1/backups/?server_id=12345" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
import requests

url = "https://admin.vps.org/api/v1/backups/"
headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json"
}
params = {"server_id": 12345}

response = requests.get(url, headers=headers, params=params)
print(response.json())
const response = await fetch('https://admin.vps.org/api/v1/backups/?server_id=12345', {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer YOUR_API_TOKEN',
    'Content-Type': 'application/json'
  }
});

const backups = await response.json();
console.log(backups);

Пример одговора

{
  "count": 3,
  "results": [
    {
      "id": 501,
      "server": {
        "id": 12345,
        "name": "web-server-01"
      },
      "backup_type": "automatic",
      "status": "completed",
      "size_mb": 4523,
      "created_at": "2025-01-16T03:00:00Z",
      "expires_at": "2025-02-16T03:00:00Z",
      "description": "Automatic daily backup"
    },
    {
      "id": 499,
      "server": {
        "id": 12345,
        "name": "web-server-01"
      },
      "backup_type": "manual",
      "status": "completed",
      "size_mb": 4456,
      "created_at": "2025-01-14T10:30:00Z",
      "expires_at": null,
      "description": "Pre-update backup"
    },
    {
      "id": 495,
      "server": {
        "id": 12345,
        "name": "web-server-01"
      },
      "backup_type": "automatic",
      "status": "completed",
      "size_mb": 4389,
      "created_at": "2025-01-15T03:00:00Z",
      "expires_at": "2025-02-15T03:00:00Z",
      "description": "Automatic daily backup"
    }
  ]
}

Кодови статуса одговора

200 Листа резервних копија је успешно преузета
401 Неовлашћено - Неважећи или недостајући токен за аутентификацију
ПОШТА /api/v1/backups/

Ручно креирајте резервну копију

Направите ручну резервну копију сервера. Ручне резервне копије не истичу аутоматски.

Захтевајте параметре тела

Параметар Тип Обавезно Опис
server_id integer Да ИД сервера за прављење резервне копије
description string Не Опциони опис за резервну копију

Пример захтева

cURL
Python
JavaScript
PHP
curl -X POST "https://admin.vps.org/api/v1/backups/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "server_id": 12345,
    "description": "Pre-deployment backup"
  }'
import requests

url = "https://admin.vps.org/api/v1/backups/"
headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json"
}
data = {
    "server_id": 12345,
    "description": "Pre-deployment backup"
}

response = requests.post(url, headers=headers, json=data)
print(response.json())
const response = await fetch('https://admin.vps.org/api/v1/backups/', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_TOKEN',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    server_id: 12345,
    description: 'Pre-deployment backup'
  })
});

const backup = await response.json();
console.log(backup);
$data = [
    'server_id' => 12345,
    'description' => 'Pre-deployment backup'
];

$ch = curl_init('https://admin.vps.org/api/v1/backups/');
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);

$response = curl_exec($ch);
$backup = json_decode($response, true);
curl_close($ch);

Пример одговора

{
  "id": 502,
  "server": {
    "id": 12345,
    "name": "web-server-01"
  },
  "backup_type": "manual",
  "status": "in_progress",
  "size_mb": null,
  "created_at": "2025-01-16T15:45:00Z",
  "expires_at": null,
  "description": "Pre-deployment backup",
  "message": "Backup is being created. This may take several minutes depending on server size."
}

Кодови статуса одговора

201 Креирање резервне копије је успешно покренуто
400 Лош захтев - Неважећи параметри или погрешно форматиран захтев
401 Неовлашћено - Неважећи или недостајући токен за аутентификацију
404 Није пронађено - Сервер не постоји
Напомена: Можете имати највише 10 ручних резервних копија по серверу. Аутоматске резервне копије се чувају на основу политике чувања резервних копија вашег плана (обично 7-30 дана).
ОБРИШИ /api/v1/backups/{backup_id}/

Обриши резервну копију

Трајно обришите резервну копију. Ова радња се не може поништити.

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

Параметар Тип Обавезно Опис
backup_id integer Да Јединствени ИД резервне копије

Пример захтева

cURL
Python
JavaScript
curl -X DELETE "https://admin.vps.org/api/v1/backups/501/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
import requests

backup_id = 501
url = f"https://admin.vps.org/api/v1/backups/{backup_id}/"
headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json"
}

response = requests.delete(url, headers=headers)
print(response.status_code)
const backupId = 501;
const response = await fetch(`https://admin.vps.org/api/v1/backups/${backupId}/`, {
  method: 'DELETE',
  headers: {
    'Authorization': 'Bearer YOUR_API_TOKEN',
    'Content-Type': 'application/json'
  }
});

console.log(response.status);

Кодови статуса одговора

204 Резервна копија је успешно обрисана
401 Неовлашћено - Неважећи или недостајући токен за аутентификацију
404 Није пронађено - Резервна копија не постоји
Упозорење: Брисање резервне копије је трајно и не може се поништити. Уверите се да вам више није потребна ова резервна копија пре него што је обришете.

Враћање из резервних копија

Да бисте вратили сервер из резервне копије, користите крајњу тачку враћања Servers API-ја :

POST /api/v1/servers/{server_id}/restore/
{
  "backup_id": 501
}

За детаљније информације о враћању сервера, погледајте Документација API-ја сервера.

Најбоље праксе за прављење резервних копија