VPS.org API

Documentazione delle API REST

API di backup

Elenca i tuoi backup del server, avvia un nuovo backup e ripristina un server da uno.

Punti finali 4
Percorso di base /api/v1/backups
OTTENERE /api/v1/backups/

Elenca tutti i backup

Restituisce i backup di tutti i server, il più recente prima, 25 per pagina. Non c'è nessun filtro server: usa server_hostname per raggrupparli.

Autorizzazione richiesta: backups:list

Parametri di query

Parametro Tipo Necessario Designazione delle merci
page integer No. Numero di pagina, a partire da 1

Richiesta di esempio

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

Esempio di risposta

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

Campi di risposta

Campo Tipo Designazione delle merci
id integer identificatore di backup, utilizzato dall'endpoint di get e ripristino
server_hostname string Nome host del server da cui è stato preso il backup
name string Nome file di archivio di backup
size_gb number Dimensione compressa in gigabyte
deletion_date datetime Quando il backup verrà rimosso automaticamente
days_remaining integer Giorni interi rimasti fino alla data di cancellazione
created_at datetime Tempo di creazione (ISO 8601, UTC)

Codici di stato della risposta

200 Elenco di backup recuperato con successo
403 Token API mancante o non valido, o il token non ha il permesso richiesto
OTTENERE /api/v1/backups/{id}/

Prendi un backup

Restituisce un oggetto di backup con i campi sopra riportati.

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

Crea un backup

Coda un backup di un server implementato. Non è necessario alcun corpo di richiesta. Il backup appare nell'elenco una volta terminato, che può richiedere diversi minuti a seconda dell'utilizzo del disco.

Autorizzazione richiesta: 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())

Esempio di risposta

{
  "message": "Backup queued successfully"
}

Codici di stato della risposta

200 L'azione è stata in coda
400 Il server non è ancora stato distribuito
402 Nessun metodo di pagamento sul file, o fatture non pagate
404 Non trovato, o appartiene ad un altro account
POST /api/v1/backups/{id}/restore/

Ripristina un server da un backup

Ferma il server da cui è stato preso il backup, sovrascrive il disco con il backup e lo riavvia. Non è necessario alcun corpo di richiesta. Lo stato del server è in coda durante il ripristino.

Autorizzazione richiesta: 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"
}
Attenzione: Tutto quello che è stato scritto sul server dopo che il backup è stato preso è perso. Un ripristino non può essere annullato.

Codici di stato della risposta

200 L'azione è stata in coda
400 Il server non è ancora stato distribuito
404 Non trovato, o appartiene ad un altro account

Osservazioni