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 құжаттамасы.

Сақтық көшірме жасаудың ең жақсы тәжірибелері