VPS.org API

Dokumentasi API REST

API Sandaran

Urus sandaran pelayan secara pengaturcaraan. Senaraikan, cipta, pulihkan dan padamkan sandaran untuk pelayan anda.

Titik akhir 3 endpoints
Laluan Asas /api/v1/backups
DAPATKAN /api/v1/backups/

Senaraikan Semua Sandaran

Dapatkan senarai semua sandaran merentasi pelayan anda.

Parameter Pertanyaan

Parameter Jenis Diperlukan Penerangan
server_id integer Tidak Tapis sandaran mengikut ID pelayan
backup_type string Tidak Tapis mengikut jenis: manual , automatic

Contoh Permintaan

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

Contoh Respons

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

Kod Status Respons

200 Berjaya mendapatkan semula senarai sandaran
401 Tidak Dibenarkan - Token pengesahan tidak sah atau tiada
POS /api/v1/backups/

Cipta Sandaran Manual

Cipta sandaran manual pelayan. Sandaran manual tidak akan luput secara automatik.

Minta Parameter Badan

Parameter Jenis Diperlukan Penerangan
server_id integer Ya ID pelayan untuk membuat sandaran
description string Tidak Huraian pilihan untuk sandaran

Contoh Permintaan

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

Contoh Respons

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

Kod Status Respons

201 Penciptaan sandaran berjaya dimulakan
400 Permintaan Buruk - Parameter tidak sah atau permintaan salah bentuk
401 Tidak Dibenarkan - Token pengesahan tidak sah atau tiada
404 Tidak Dijumpai - Pelayan tidak wujud
Nota: Anda boleh mempunyai maksimum 10 sandaran manual bagi setiap pelayan. Sandaran automatik dikekalkan berdasarkan dasar pengekalan sandaran pelan anda (biasanya 7-30 hari).
PADAM /api/v1/backups/{backup_id}/

Padam Sandaran

Padamkan sandaran secara kekal. Tindakan ini tidak boleh dibuat asal.

Parameter Laluan

Parameter Jenis Diperlukan Penerangan
backup_id integer Ya ID sandaran unik

Contoh Permintaan

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

Kod Status Respons

204 Sandaran berjaya dipadamkan
401 Tidak Dibenarkan - Token pengesahan tidak sah atau tiada
404 Tidak Ditemui - Sandaran tidak wujud
Amaran: Memadamkan sandaran adalah kekal dan tidak boleh dibuat asal. Pastikan anda tidak lagi memerlukan sandaran ini sebelum memadamkannya.

Memulihkan daripada Sandaran

Untuk memulihkan pelayan daripada sandaran, gunakan titik akhir pemulihan API Pelayan :

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

Untuk maklumat terperinci tentang pemulihan pelayan, lihat Dokumentasi API pelayan.

Amalan Terbaik Sandaran