VPS.org API

REST API-dokumentasie

Rugsteun-API

Bestuur bedienerrugsteun programmaties. Lys, skep, herstel en verwyder rugsteun vir jou bedieners.

Eindpunte 3 endpoints
Basispad /api/v1/backups
KRY /api/v1/backups/

Lys alle rugsteun

Kry 'n lys van alle rugsteun op jou bedieners.

Navraagparameters

Parameter Tipe Vereis Beskrywing
server_id integer Nee Filter rugsteun volgens bediener-ID
backup_type string Nee Filter volgens tipe: manual , automatic

Voorbeeldversoek

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

Voorbeeldantwoord

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

Reaksiestatuskodes

200 Rugsteunlys suksesvol herwin
401 Ongemagtig - Ongeldige of ontbrekende verifikasietoken
POS /api/v1/backups/

Skep handmatige rugsteun

Skep 'n handmatige rugsteun van 'n bediener. Handmatige rugsteun verval nie outomaties nie.

Versoekliggaamparameters

Parameter Tipe Vereis Beskrywing
server_id integer Ja ID van die bediener om te rugsteun
description string Nee Opsionele beskrywing vir die rugsteun

Voorbeeldversoek

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

Voorbeeldantwoord

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

Reaksiestatuskodes

201 Rugsteunskepping suksesvol begin
400 Slegte versoek - Ongeldige parameters of verkeerd gevormde versoek
401 Ongemagtig - Ongeldige of ontbrekende verifikasietoken
404 Nie gevind nie - Bediener bestaan nie
Let wel: Jy kan 'n maksimum van 10 handmatige rugsteun per bediener hê. Outomatiese rugsteun word behou op grond van jou plan se rugsteunbewaringsbeleid (gewoonlik 7-30 dae).
VERWYDER /api/v1/backups/{backup_id}/

Vee rugsteun uit

Vee 'n rugsteun permanent uit. Hierdie aksie kan nie ongedaan gemaak word nie.

Padparameters

Parameter Tipe Vereis Beskrywing
backup_id integer Ja Unieke rugsteun-ID

Voorbeeldversoek

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

Reaksiestatuskodes

204 Rugsteun suksesvol verwyder
401 Ongemagtig - Ongeldige of ontbrekende verifikasietoken
404 Nie gevind nie - Rugsteun bestaan nie
Waarskuwing: Die uitvee van 'n rugsteun is permanent en kan nie ongedaan gemaak word nie. Maak seker dat jy nie meer hierdie rugsteun nodig het voordat jy dit uitvee nie.

Herstel vanaf rugsteun

Om 'n bediener vanaf 'n rugsteun te herstel, gebruik die Servers API herstel-eindpunt:

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

Vir meer inligting oor bedienerherstel, sien die Bedieners API dokumentasie.

Beste praktyke vir rugsteun