VPS.org API

REST API Sənədləri

Yedəkləmə API-si

Server ehtiyat nüsxələrini proqramlı şəkildə idarə edin. Serverləriniz üçün ehtiyat nüsxələrini siyahıya alın, yaradın, bərpa edin və silin.

Son Nöqtələr 3 endpoints
Əsas Yol /api/v1/backups
AL /api/v1/backups/

Bütün Yedəkləmələri Siyahıya Alın

Serverlərinizdəki bütün ehtiyat nüsxələrinin siyahısını əldə edin.

Sorğu Parametrləri

Parametr Növü Tələb olunur Təsvir
server_id integer Xeyr Yedəkləmələri server ID-sinə görə filtrləyin
backup_type string Xeyr Növünə görə filtrləyin: manual , automatic

Nümunə Sorğu

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);

Nümunə Cavab

{
  "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"
    }
  ]
}

Cavab Status Kodları

200 Ehtiyat nüsxə siyahısı uğurla əldə edildi
401 İcazəsiz - Yanlış və ya çatışmayan identifikasiya nişanı
POÇT /api/v1/backups/

Əl ilə Yedəkləmə Yaradın

Serverin əl ilə ehtiyat nüsxəsini yaradın. Əl ilə ehtiyat nüsxələri avtomatik olaraq bitmir.

Əsas Parametrləri Sorğu

Parametr Növü Tələb olunur Təsvir
server_id integer Bəli Yedəkləmə üçün serverin ID-si
description string Xeyr Yedəkləmə üçün əlavə təsvir

Nümunə Sorğu

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);

Nümunə Cavab

{
  "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."
}

Cavab Status Kodları

201 Yedəkləmənin yaradılması uğurla başladı
400 Yanlış Sorğu - Yanlış parametrlər və ya səhv formalı sorğu
401 İcazəsiz - Yanlış və ya çatışmayan identifikasiya nişanı
404 Tapılmadı - Server mövcud deyil
Qeyd: Hər server üçün maksimum 10 əl ilə ehtiyat nüsxəsinə sahib ola bilərsiniz. Avtomatik ehtiyat nüsxələri planınızın ehtiyat nüsxəsinin saxlanma siyasətinə əsasən saxlanılır (adətən 7-30 gün).
SİLİN /api/v1/backups/{backup_id}/

Yedəkləməni silin

Yedək nüsxəsini birdəfəlik silin. Bu əməliyyat geri qaytarıla bilməz.

Yol Parametrləri

Parametr Növü Tələb olunur Təsvir
backup_id integer Bəli Unikal ehtiyat nüsxə ID-si

Nümunə Sorğu

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);

Cavab Status Kodları

204 Yedəkləmə uğurla silindi
401 İcazəsiz - Yanlış və ya çatışmayan identifikasiya nişanı
404 Tapılmadı - Yedəkləmə mövcud deyil
Xəbərdarlıq: Yedək nüsxəsinin silinməsi birdəfəlikdir və geri qaytarıla bilməz. Silməzdən əvvəl bu yedək nüsxəsinə ehtiyacınız olmadığından əmin olun.

Yedəkləmələrdən bərpa

Serveri ehtiyat nüsxədən bərpa etmək üçün Servers API bərpa son nöqtəsindən istifadə edin:

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

Serverin bərpası haqqında ətraflı məlumat üçün baxın Server API sənədləri.

Ən Yaxşı Yedəkləmə Təcrübələri