VPS.org API

REST API dokumentacija

Atsarginių kopijų API

Programiškai tvarkykite serverio atsargines kopijas. Pateikite savo serverių atsarginių kopijų sąrašą, kurkite, atkurkite ir ištrinkite jas.

Galutiniai taškai 3 endpoints
Bazinis kelias /api/v1/backups
GAUTI /api/v1/backups/

Visų atsarginių kopijų sąrašas

Gaukite visų atsarginių kopijų, esančių jūsų serveriuose, sąrašą.

Užklausos parametrai

Parametras Tipas Privaloma Aprašymas
server_id integer Ne Filtruoti atsargines kopijas pagal serverio ID
backup_type string Ne Filtruoti pagal tipą: manual , automatic

Prašymo pavyzdys

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

Atsakymo pavyzdys

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

Atsakymo būsenos kodai

200 Atsarginių kopijų sąrašas sėkmingai gautas
401 Neautorizuota – neteisingas arba trūksta autentifikavimo prieigos rakto
PAŠTAS /api/v1/backups/

Sukurti rankinę atsarginę kopiją

Sukurkite rankinę serverio atsarginę kopiją. Rankinės atsarginės kopijos automatiškai nenustoja galioti.

Užklausos turinio parametrai

Parametras Tipas Privaloma Aprašymas
server_id integer Taip Serverio, kuriam bus kuriama atsarginė kopija, ID
description string Ne Pasirinktinai atsarginės kopijos aprašymas

Prašymo pavyzdys

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

Atsakymo pavyzdys

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

Atsakymo būsenos kodai

201 Atsarginės kopijos kūrimas sėkmingai pradėtas
400 Neteisinga užklausa – neteisingi parametrai arba netinkamai suformuota užklausa
401 Neautorizuota – neteisingas arba trūksta autentifikavimo prieigos rakto
404 Nerasta – serverio nėra
Pastaba: Vienam serveriui galite turėti daugiausia 10 rankinių atsarginių kopijų. Automatinės atsarginės kopijos saugomos pagal jūsų plano atsarginių kopijų saugojimo politiką (paprastai 7–30 dienų).
IŠTRINTI /api/v1/backups/{backup_id}/

Ištrinti atsarginę kopiją

Visam laikui ištrinti atsarginę kopiją. Šio veiksmo negalima atšaukti.

Kelio parametrai

Parametras Tipas Privaloma Aprašymas
backup_id integer Taip Unikalus atsarginės kopijos ID

Prašymo pavyzdys

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

Atsakymo būsenos kodai

204 Atsarginė kopija sėkmingai ištrinta
401 Neautorizuota – neteisingas arba trūksta autentifikavimo prieigos rakto
404 Nerasta – atsarginės kopijos nėra
Įspėjimas: Atsarginės kopijos ištrynimas yra negrįžtamas ir jo negalima atšaukti. Prieš ištrindami atsarginę kopiją, įsitikinkite, kad jums jos nebereikia.

Atkūrimas iš atsarginių kopijų

Norėdami atkurti serverį iš atsarginės kopijos, naudokite serverių API atkūrimo galinį tašką:

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

Išsamesnės informacijos apie serverio atkūrimą žr. Serverių API dokumentacija.

Geriausia atsarginių kopijų kūrimo praktika