VPS.org API

Dokumentacija REST API-ja

API za varnostne kopije

Programsko upravljajte varnostne kopije strežnikov. Seznam, ustvarjanje, obnavljanje in brisanje varnostnih kopij za vaše strežnike.

Končne točke 3 endpoints
Osnovna pot /api/v1/backups
PRIDOBITE /api/v1/backups/

Seznam vseh varnostnih kopij

Pridobite seznam vseh varnostnih kopij na vaših strežnikih.

Parametri poizvedbe

Parameter Vrsta Zahtevano Opis
server_id integer Ne Filtriraj varnostne kopije po ID-ju strežnika
backup_type string Ne Filtriraj po vrsti: manual , automatic

Primer zahteve

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

Primer odgovora

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

Kode stanja odgovora

200 Seznam varnostnih kopij uspešno pridobljen
401 Nepooblaščeno - neveljaven ali manjkajoči žeton za preverjanje pristnosti
OBJAVA /api/v1/backups/

Ustvari ročno varnostno kopijo

Ustvarite ročno varnostno kopijo strežnika. Ročne varnostne kopije ne potečejo samodejno.

Zahtevajte parametre telesa

Parameter Vrsta Zahtevano Opis
server_id integer Da ID strežnika za varnostno kopiranje
description string Ne Neobvezen opis za varnostno kopijo

Primer zahteve

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

Primer odgovora

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

Kode stanja odgovora

201 Ustvarjanje varnostne kopije se je uspešno začelo
400 Slaba zahteva - neveljavni parametri ali napačno oblikovana zahteva
401 Nepooblaščeno - neveljaven ali manjkajoči žeton za preverjanje pristnosti
404 Ni najdeno - strežnik ne obstaja
Opomba: Na strežnik lahko ustvarite največ 10 ročnih varnostnih kopij. Samodejne varnostne kopije se hranijo v skladu s pravilnikom o hranjenju varnostnih kopij vašega paketa (običajno 7–30 dni).
IZBRIŠI /api/v1/backups/{backup_id}/

Izbriši varnostno kopijo

Trajno izbriši varnostno kopijo. Tega dejanja ni mogoče razveljaviti.

Parametri poti

Parameter Vrsta Zahtevano Opis
backup_id integer Da Enolični ID varnostne kopije

Primer zahteve

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

Kode stanja odgovora

204 Varnostna kopija je bila uspešno izbrisana
401 Nepooblaščeno - neveljaven ali manjkajoči žeton za preverjanje pristnosti
404 Ni najdeno - Varnostna kopija ne obstaja
Opozorilo: Brisanje varnostne kopije je trajno in je ni mogoče razveljaviti. Preden jo izbrišete, se prepričajte, da te varnostne kopije ne potrebujete več.

Obnovitev iz varnostnih kopij

Če želite obnoviti strežnik iz varnostne kopije, uporabite končno točko za obnovitev Servers API :

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

Za podrobne informacije o obnovi strežnika glejte Dokumentacija API-ja strežnikov.

Najboljše prakse varnostnega kopiranja