VPS.org API

Dokumentacija REST API-ja

API za sigurnosne kopije

Programski upravljajte sigurnosnim kopijama servera. Navedite, kreirajte, vratite i izbrišite sigurnosne kopije za vaše servere.

Krajnje tačke 3 endpoints
Osnovni put /api/v1/backups
DOBITI /api/v1/backups/

Prikaži sve sigurnosne kopije

Preuzmite listu svih sigurnosnih kopija na vašim serverima.

Parametri upita

Parametar Tip Obavezno Opis
server_id integer Ne Filtriraj sigurnosne kopije po ID-u servera
backup_type string Ne Filtriraj po vrsti: manual , automatic

Primjer zahtjeva

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

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

Kodovi statusa odgovora

200 Uspješno preuzeta lista sigurnosnih kopija
401 Neovlašteno - Nevažeći ili nedostajući token za autentifikaciju
POŠTA /api/v1/backups/

Ručno kreiranje sigurnosne kopije

Kreirajte ručnu sigurnosnu kopiju servera. Ručne sigurnosne kopije ne ističu automatski.

Zahtjev za parametre tijela

Parametar Tip Obavezno Opis
server_id integer Da ID servera za pravljenje sigurnosne kopije
description string Ne Opcionalni opis za sigurnosnu kopiju

Primjer zahtjeva

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

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

Kodovi statusa odgovora

201 Kreiranje sigurnosne kopije uspješno je započeto
400 Loš zahtjev - Nevažeći parametri ili oštećen zahtjev
401 Neovlašteno - Nevažeći ili nedostajući token za autentifikaciju
404 Nije pronađeno - Server ne postoji
Napomena: Možete imati maksimalno 10 ručnih sigurnosnih kopija po serveru. Automatske sigurnosne kopije se čuvaju na osnovu politike čuvanja sigurnosnih kopija vašeg plana (obično 7-30 dana).
IZBRIŠI /api/v1/backups/{backup_id}/

Izbriši sigurnosnu kopiju

Trajno izbrišite sigurnosnu kopiju. Ova radnja se ne može poništiti.

Parametri puta

Parametar Tip Obavezno Opis
backup_id integer Da Jedinstveni ID sigurnosne kopije

Primjer zahtjeva

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

Kodovi statusa odgovora

204 Sigurnosna kopija uspješno izbrisana
401 Neovlašteno - Nevažeći ili nedostajući token za autentifikaciju
404 Nije pronađeno - Sigurnosna kopija ne postoji
Upozorenje: Brisanje sigurnosne kopije je trajno i ne može se poništiti. Prije brisanja provjerite da vam ova sigurnosna kopija više nije potrebna.

Vraćanje iz sigurnosnih kopija

Da biste vratili server iz sigurnosne kopije, koristite krajnju tačku vraćanja Servers API-ja :

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

Za detaljne informacije o vraćanju servera u prvobitno stanje, pogledajte Dokumentacija API-ja servera.

Najbolje prakse za izradu sigurnosnih kopija