VPS.org API

REST API hujjatlari

Zaxira nusxalari APIsi

Server zaxira nusxalarini dasturiy ravishda boshqaring. Serverlaringiz uchun zaxira nusxalarini ro'yxatlang, yarating, tiklang va o'chiring.

Tugash nuqtalari 3 endpoints
Asosiy yo'l /api/v1/backups
OLING /api/v1/backups/

Barcha zaxira nusxalarini ro'yxatlash

Serverlaringizdagi barcha zaxira nusxalari ro'yxatini oling.

So'rov parametrlari

Parametr Turi Majburiy Tavsif
server_id integer Yo'q Server identifikatori bo'yicha zaxira nusxalarini filtrlang
backup_type string Yo'q Turi bo'yicha filtrlash: manual , automatic

Namunaviy so'rov

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

Javob namunasi

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

Javob holati kodlari

200 Zaxira nusxalari ro'yxati muvaffaqiyatli olindi
401 Tasdiqlanmagan - Autentifikatsiya tokeni noto'g'ri yoki yo'q
POCHTA /api/v1/backups/

Qo'lda zaxira nusxasini yarating

Serverning qo'lda zaxira nusxasini yarating. Qo'lda zaxira nusxalari avtomatik ravishda tugamaydi.

Tana parametrlarini so'rash

Parametr Turi Majburiy Tavsif
server_id integer Ha Zaxira nusxasi uchun server identifikatori
description string Yo'q Zaxira nusxasi uchun ixtiyoriy tavsif

Namunaviy so'rov

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

Javob namunasi

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

Javob holati kodlari

201 Zaxira nusxasini yaratish muvaffaqiyatli boshlandi
400 Noto'g'ri so'rov - Noto'g'ri parametrlar yoki noto'g'ri tuzilgan so'rov
401 Tasdiqlanmagan - Autentifikatsiya tokeni noto'g'ri yoki yo'q
404 Topilmadi - Server mavjud emas
Eslatma: Har bir serverda maksimal 10 ta qo'lda zaxira nusxasi bo'lishi mumkin. Avtomatik zaxira nusxalari rejangizning zaxira nusxasini saqlash siyosatiga asoslanib saqlanadi (odatda 7-30 kun).
O'CHIRISH /api/v1/backups/{backup_id}/

Zaxira nusxasini o'chirish

Zaxira nusxasini butunlay o'chirib tashlang. Bu amalni bekor qilib bo'lmaydi.

Yo'l parametrlari

Parametr Turi Majburiy Tavsif
backup_id integer Ha Noyob zaxira identifikatori

Namunaviy so'rov

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

Javob holati kodlari

204 Zaxira nusxasi muvaffaqiyatli o'chirildi
401 Tasdiqlanmagan - Autentifikatsiya tokeni noto'g'ri yoki yo'q
404 Topilmadi - Zaxira nusxasi mavjud emas
Ogohlantirish: Zaxira nusxasini o'chirish doimiy bo'lib, uni qaytarib bo'lmaydi. Uni o'chirishdan oldin, ushbu zaxira nusxasi endi kerak emasligiga ishonch hosil qiling.

Zaxira nusxalaridan tiklash

Serverni zaxira nusxasidan tiklash uchun Servers API tiklash nuqtasidan foydalaning:

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

Serverni tiklash haqida batafsil ma'lumot olish uchun qarang Serverlar API hujjatlari.

Zaxira nusxalarini yaratishning eng yaxshi amaliyotlari