VPS.org API

Documentation de l'API REST

API de sauvegarde

Gérez les sauvegardes de vos serveurs par programmation. Listez, créez, restaurez et supprimez les sauvegardes de vos serveurs.

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

Liste de toutes les sauvegardes

Récupérez la liste de toutes les sauvegardes sur vos serveurs.

Paramètres de requête

Paramètre Taper Requis Désignation des marchandises
server_id integer Numéro Filtrer les sauvegardes par ID de serveur
backup_type string Numéro Filtrer par type: manuel, automatique

Exemple de requête

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

Exemple de réponse

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

Codes d'état de réponse

200 Liste de sauvegarde récupérée avec succès
401 Non autorisé - Jeton d'authentification invalide ou manquant
POSTE /api/v1/backups/

Créer une sauvegarde manuelle

Créez une sauvegarde manuelle du serveur. Les sauvegardes manuelles ne sont pas automatiquement supprimées.

Paramètres du corps de la requête

Paramètre Taper Requis Désignation des marchandises
server_id integer Oui ID du serveur à sauvegarder
description string Numéro Description facultative pour la sauvegarde

Exemple de requête

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

Exemple de réponse

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

Codes d'état de réponse

201 Création de la sauvegarde lancée avec succès
400 Requête incorrecte - Paramètres invalides ou requête mal formée
401 Non autorisé - Jeton d'authentification invalide ou manquant
404 Serveur introuvable - Le serveur n'existe pas
Remarque: Vous pouvez effectuer un maximum de 10 sauvegardes manuelles par serveur. Les sauvegardes automatiques sont conservées conformément à la politique de conservation des sauvegardes de votre abonnement (généralement de 7 à 30 jours).
SUPPRIMER /api/v1/backups/{backup_id}/

Supprimer la sauvegarde

Supprimer définitivement une sauvegarde. Cette action est irréversible.

Paramètres de chemin

Paramètre Taper Requis Désignation des marchandises
backup_id integer Oui ID de sauvegarde unique

Exemple de requête

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

Codes d'état de réponse

204 Sauvegarde supprimée avec succès
401 Non autorisé - Jeton d'authentification invalide ou manquant
404 Introuvable - Aucune sauvegarde n'existe
Avertissement: La suppression d'une sauvegarde est définitive et irréversible. Assurez-vous de ne plus avoir besoin de cette sauvegarde avant de la supprimer.

Restauration à partir de sauvegardes

Pour restaurer un serveur à partir d'une sauvegarde, utilisez le point de terminaison de restauration de l' API Servers :

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

Pour plus d'informations sur la restauration du serveur, consultez la documentation. Documentation de l'API des serveurs.

Meilleures pratiques de sauvegarde