VPS.org API

Documentazione delle API REST

API degli snapshot

Prendere le istantanee contrassegnate di un server, elencarle ed eliminare quelle che non servono più.

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

Elenca tutte le istantanee

Restituisce le istantanee nel tuo account, il più recente prima, 25 per pagina.

Autorizzazione richiesta: snapshots:list

Richiesta di esempio

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

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

response = requests.get(url, headers=headers)
for snapshot in response.json()["results"]:
    print(snapshot["uuid"], snapshot["label"], snapshot["ready"])
const response = await fetch('https://admin.vps.org/api/v1/snapshots/', {
  headers: { 'Authorization': 'Bearer YOUR_API_TOKEN' }
});

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

Esempio di risposta

{
  "count": 1,
  "next": null,
  "previous": null,
  "results": [
    {
      "uuid": "3f9a1c0e5b7d4e2f8a6c1b3d5e7f9a0b",
      "label": "before-upgrade",
      "server_hostname": "web-01",
      "ready": true,
      "deleting": false,
      "created_at": "2026-09-14T18:30:00.000000Z",
      "size_gb": 3.4
    }
  ]
}

Campi di risposta

Campo Tipo Designazione delle merci
uuid string identificatore della snapshot (32 caratteri esadecimali, senza trattini)
label string Etichetta data quando è stata creata l'istantanea
server_hostname string Nome host del server da cui è stata presa l'istantanea, o null se il server non esiste più
ready boolean Vero una volta che l'istantanea è finita
deleting boolean Vero mentre una cancellazione è in corso
created_at datetime Tempo di creazione (ISO 8601, UTC)
size_gb number Dimensione compressa in gigabyte
OTTENERE /api/v1/snapshots/{uuid}/

Ottenere una foto

Restituisce un oggetto snapshot con i campi sopra riportati. Usalo per fare sondaggi pronti dopo aver creato un'istantanea.

curl -X GET "https://admin.vps.org/api/v1/snapshots/3f9a1c0e5b7d4e2f8a6c1b3d5e7f9a0b/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
POST /api/v1/servers/{uuid}/snapshot/

Crea una snapshot

In coda a un'istantanea di un server implementato e restituisce l'uid della nuova istantanea. L'istantanea è immediatamente elencata con set pronto per essere false.

Autorizzazione richiesta: servers:snapshot

Parametri del corpo della richiesta

Parametro Tipo Necessario Designazione delle merci
action string SÌ Deve essere un'istantanea
snapshot_label string SÌ Un'etichetta per riconoscere l'istantanea da
cURL
Python
curl -X POST "https://admin.vps.org/api/v1/servers/8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b/snapshot/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"action": "snapshot", "snapshot_label": "before-upgrade"}'
import requests

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

response = requests.post(url, headers=headers, json=data)
print(response.json()["snapshot_uuid"])

Esempio di risposta

{
  "message": "Snapshot queued successfully",
  "snapshot_uuid": "3f9a1c0e5b7d4e2f8a6c1b3d5e7f9a0b"
}

Codici di stato della risposta

200 L'azione è stata in coda
400 assenza di azione o snapshot_label, oppure il server non è ancora stato implementato
402 Nessun metodo di pagamento sul file, o fatture non pagate
404 Non trovato, o appartiene ad un altro account
ELIMINARE /api/v1/snapshots/{uuid}/

Elimina una snapshot

Coda l'istantanea per la cancellazione permanente. l'eliminazione è vera fino a quando non è andato.

Autorizzazione richiesta: snapshots:delete

curl -X DELETE "https://admin.vps.org/api/v1/snapshots/3f9a1c0e5b7d4e2f8a6c1b3d5e7f9a0b/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
{
  "message": "Snapshot deletion queued"
}

Codici di stato della risposta

202 Accettato: la richiesta è stata in coda
404 Non trovato, o appartiene ad un altro account

Osservazioni