VPS.org API

Dokumentacja REST API

API kopii zapasowych

Wyświetlanie kopii serwera, uruchomienie nowego kopii zapasowej i przywrócenie serwera z jednego.

Punkty końcowe 4
Ścieżka bazowa /api/v1/backups
DOSTAWAĆ /api/v1/backups/

Wyświetl wszystkie kopie zapasowe

Zwraca kopie zapasowe wszystkich serwerów, najnowsze, 25 na stronę. Nie ma filtra serwera: użyj serwera_ hostname, aby je grupować.

Wymagane zezwolenie: backups:list

Parametry zapytania

Parametr Typ Wymagany Opis
page integer Nie. Numer strony, zaczynając od 1

Przykładowe żądanie

cURL
Python
JavaScript
curl -X GET "https://admin.vps.org/api/v1/backups/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
import requests

url = "https://admin.vps.org/api/v1/backups/"
headers = {"Authorization": "Bearer YOUR_API_TOKEN"}

response = requests.get(url, headers=headers)
for backup in response.json()["results"]:
    print(backup["id"], backup["server_hostname"], backup["created_at"])
const response = await fetch('https://admin.vps.org/api/v1/backups/', {
  headers: { 'Authorization': 'Bearer YOUR_API_TOKEN' }
});

const data = await response.json();
console.log(data.results);

Przykładowa odpowiedź

{
  "count": 96,
  "next": "https://admin.vps.org/api/v1/backups/?page=2",
  "previous": null,
  "results": [
    {
      "id": 5512,
      "server_hostname": "web-01",
      "name": "vzdump-qemu-1042-2026_09_14-16_44_10.vma.zst",
      "size_gb": 3.12,
      "deletion_date": "2026-09-21T20:45:40.697512Z",
      "days_remaining": 6,
      "created_at": "2026-09-14T20:45:40.699494Z"
    }
  ]
}

Pola odpowiedzi

Pole Typ Opis
id integer Identyfikator kopii zapasowej, używany przez punkty końcowe pozyskiwania i przywrócenia
server_hostname string Nazwa serwera, z którego zapasowe kopie zostało zabrane
name string Nazwa pliku archiwum zapasowego
size_gb number Rozmiar kompromiowany w gigabajtach
deletion_date datetime Kiedy kopia zapasowa zostanie automatycznie usunięta
days_remaining integer Całe dni pozostają do usunięcia_ daty
created_at datetime Czas tworzenia (ISO 8601, UTC)

Kody statusu odpowiedzi

200 Lista kopii zapasowych pomyślnie odzyskana
403 Brak lub nieprawidłowy token API, lub token brakuje wymaganego pozwolenia
DOSTAWAĆ /api/v1/backups/{id}/

Pobierz kopię zapasową

Zwraca jeden obiekt zapasowy z powyższymi polami.

curl -X GET "https://admin.vps.org/api/v1/backups/5512/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
POST /api/v1/servers/{uuid}/backup/

Utwórz kopię zapasową

Zapasy rozmieszczonego serwera. Nie jest potrzebne żadne ciało. Kopiowanie pojawia się na liście po zakończeniu, co może zająć kilka minut w zależności od użycia dysku.

Wymagane zezwolenie: servers:backup

cURL
Python
curl -X POST "https://admin.vps.org/api/v1/servers/8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b/backup/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
import requests

server_uuid = "8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b"
url = f"https://admin.vps.org/api/v1/servers/{server_uuid}/backup/"
headers = {"Authorization": "Bearer YOUR_API_TOKEN"}

response = requests.post(url, headers=headers)
print(response.json())

Przykładowa odpowiedź

{
  "message": "Backup queued successfully"
}

Kody statusu odpowiedzi

200 Akcja została zakończona kolejką
400 Serwer nie został jeszcze rozładowany
402 Brak metody płatności na aktach lub niezapłaconych faktur
404 Nie znaleziono, albo należy do innego konta
POST /api/v1/backups/{id}/restore/

Przywróć serwer z kopii zapasowej

Zatrzymuje serwer z którego pobrano kopię kopii zapasowej, napisze jego dysk kopią kopii i uruchomi go ponownie. Nie jest potrzebny żadny organ zapytania. Status serwera jest kolejką podczas uruchamiania.

Wymagane zezwolenie: backups:restore

curl -X POST "https://admin.vps.org/api/v1/backups/5512/restore/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
{
  "message": "Backup restore queued. The server will be stopped, restored, and restarted.",
  "backup": "vzdump-qemu-1042-2026_09_14-16_44_10.vma.zst",
  "job_id": "b6f1c7e2-3a4d-4f5e-8b9c-0d1e2f3a4b5c"
}
Ostrzeżenie: Wszystko zapisane na serwer po pobraniu kopii zapasowej jest utracone. Przywrócenie nie może być cofnięte.

Kody statusu odpowiedzi

200 Akcja została zakończona kolejką
400 Serwer nie został jeszcze rozładowany
404 Nie znaleziono, albo należy do innego konta

Uwagi