VPS.org API

REST API Dokümantasyonu

Yedeklemeler API'si

Sunucu yedeklemelerini programatik olarak yönetin. Sunucularınız için yedeklemeleri listeleyin, oluşturun, geri yükleyin ve silin.

Uç noktalar 3 endpoints
Temel Yol /api/v1/backups
ELDE ETMEK /api/v1/backups/

Tüm Yedeklemeleri Listele

Sunucularınızdaki tüm yedeklemelerin listesini alın.

Sorgu Parametreleri

Parametre Tip Gerekli Tanım
server_id integer HAYIR Yedeklemeleri sunucu kimliğine göre filtrele
backup_type string HAYIR Filtrele: manual , automatic

Örnek Talep

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

Örnek Yanıt

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

Yanıt Durum Kodları

200 Yedekleme listesi başarıyla alındı.
401 Yetkisiz - Geçersiz veya eksik kimlik doğrulama belirteci
POSTALAMAK /api/v1/backups/

Manuel Yedekleme Oluştur

Sunucunun manuel yedeğini oluşturun. Manuel yedekler otomatik olarak silinmez.

İstek Gövdesi Parametreleri

Parametre Tip Gerekli Tanım
server_id integer Evet Yedeklenecek sunucunun kimliği
description string HAYIR Yedekleme için isteğe bağlı açıklama

Örnek Talep

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

Örnek Yanıt

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

Yanıt Durum Kodları

201 Yedekleme oluşturma işlemi başarıyla başlatıldı.
400 Hatalı İstek - Geçersiz parametreler veya hatalı biçimlendirilmiş istek
401 Yetkisiz - Geçersiz veya eksik kimlik doğrulama belirteci
404 Bulunamadı - Sunucu mevcut değil.
Not: Sunucu başına en fazla 10 manuel yedekleme yapabilirsiniz. Otomatik yedeklemeler, planınızın yedekleme saklama politikasına (genellikle 7-30 gün) göre saklanır.
SİLMEK /api/v1/backups/{backup_id}/

Yedeklemeyi Sil

Yedeklemeyi kalıcı olarak silin. Bu işlem geri alınamaz.

Yol Parametreleri

Parametre Tip Gerekli Tanım
backup_id integer Evet Benzersiz yedekleme kimliği

Örnek Talep

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

Yanıt Durum Kodları

204 Yedekleme başarıyla silindi.
401 Yetkisiz - Geçersiz veya eksik kimlik doğrulama belirteci
404 Bulunamadı - Yedekleme mevcut değil.
Uyarı: Yedekleme dosyasını silmek kalıcıdır ve geri alınamaz. Silmeden önce bu yedeklemeye artık ihtiyacınız olmadığından emin olun.

Yedeklerden Geri Yükleme

Bir sunucuyu yedeklemeden geri yüklemek için Sunucular API'sinin geri yükleme uç noktasını kullanın:

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

Sunucu kurtarma hakkında ayrıntılı bilgi için lütfen bakınız. Sunucu API dokümantasyonu.

Yedekleme En İyi Uygulamaları