VPS.org API

Documentation de l'API REST

API de sauvegarde

Listez les sauvegardes de votre serveur, démarrez une nouvelle sauvegarde et restaurez un serveur à partir d'un seul.

Points d'extrémité 4
Chemin de base /api/v1/backups
OBTENIR /api/v1/backups/

Liste de toutes les sauvegardes

Retourne les sauvegardes de tous vos serveurs, les plus récents en premier, 25 par page. Il n'y a pas de filtre serveur: utilisez server_hostname pour les regrouper.

Autorisation requise: backups:list

Paramètres de requête

Paramètre Taper Requis Désignation des marchandises
page integer Numéro Page numéro, à partir de 1

Exemple de requête

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

Exemple de réponse

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

Champs de réponse

Champ Taper Désignation des marchandises
id integer Identifiant de sauvegarde, utilisé par les paramètres get et restaure
server_hostname string Nom du serveur de sauvegarde
name string Nom du fichier d'archive de sauvegarde
size_gb number Taille comprimée en gigaoctets
deletion_date datetime Lorsque la sauvegarde sera supprimée automatiquement
days_remaining integer Il reste des jours entiers jusqu'à la date de suppression
created_at datetime Heure de création (ISO 8601, UTC)

Codes d'état de réponse

200 Liste de sauvegarde récupérée avec succès
403 Jeton API manquant ou invalide, ou le jeton manque la permission requise
OBTENIR /api/v1/backups/{id}/

Un sauvegarde

Retourne un objet de sauvegarde avec les champs ci-dessus.

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

Créer une sauvegarde

Requête une sauvegarde d'un serveur déployé. Aucun corps de requête n'est nécessaire. La sauvegarde apparaît dans la liste une fois qu'elle a fini, ce qui peut prendre plusieurs minutes en fonction de l'utilisation du disque.

Autorisation requise: 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())

Exemple de réponse

{
  "message": "Backup queued successfully"
}

Codes d'état de réponse

200 L'action a été mise en attente
400 Le serveur n'est pas encore déployé
402 Aucun mode de paiement au dossier, ni factures impayées
404 Non trouvé, ou il appartient à un autre compte
POSTE /api/v1/backups/{id}/restore/

Restaurer un serveur depuis une sauvegarde

Arrête le serveur de la sauvegarde, écrase son disque avec la sauvegarde et le redémarre. Aucun corps de requête n'est nécessaire. L'état du serveur est en file d'attente pendant que la restauration est lancée.

Autorisation requise: 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"
}
Avertissement: Tout ce qui a été écrit au serveur après la sauvegarde est perdu. Une restauration ne peut pas être annulée.

Codes d'état de réponse

200 L'action a été mise en attente
400 Le serveur n'est pas encore déployé
404 Non trouvé, ou il appartient à un autre compte

Annexe