VPS.org API

Documentació de l'API REST

API de còpies de seguretat

Gestioneu les còpies de seguretat dels servidors mitjançant la programació. Llisteu, creeu, restaureu i suprimiu còpies de seguretat dels vostres servidors.

Punts finals 3 endpoints
Camí base /api/v1/backups
ACONSEGUEIX /api/v1/backups/

Llistar totes les còpies de seguretat

Recupereu una llista de totes les còpies de seguretat dels vostres servidors.

Paràmetres de consulta

Paràmetre Tipus Obligatori Descripció
server_id integer No Filtrar còpies de seguretat per ID de servidor
backup_type string No Filtra per tipus: manual , automatic

Exemple de sol·licitud

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 resposta

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

Codis d'estat de resposta

200 Llista de còpies de seguretat recuperada correctament
401 No autoritzat: testimoni d'autenticació no vàlid o que falta
PUBLICACIÓ /api/v1/backups/

Crea una còpia de seguretat manual

Crea una còpia de seguretat manual d'un servidor. Les còpies de seguretat manuals no caduquen automàticament.

Paràmetres del cos de la sol·licitud

Paràmetre Tipus Obligatori Descripció
server_id integer ID del servidor del qual es farà la còpia de seguretat
description string No Descripció opcional de la còpia de seguretat

Exemple de sol·licitud

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 resposta

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

Codis d'estat de resposta

201 La creació de la còpia de seguretat s'ha iniciat correctament
400 Sol·licitud incorrecta: paràmetres no vàlids o sol·licitud amb format incorrecte
401 No autoritzat: testimoni d'autenticació no vàlid o que falta
404 No s'ha trobat: el servidor no existeix
Nota: Podeu tenir un màxim de 10 còpies de seguretat manuals per servidor. Les còpies de seguretat automàtiques es conserven segons la política de retenció de còpies de seguretat del vostre pla (normalment de 7 a 30 dies).
ELIMINAR /api/v1/backups/{backup_id}/

Suprimeix la còpia de seguretat

Suprimeix permanentment una còpia de seguretat. Aquesta acció no es pot desfer.

Paràmetres de ruta

Paràmetre Tipus Obligatori Descripció
backup_id integer ID de còpia de seguretat únic

Exemple de sol·licitud

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

Codis d'estat de resposta

204 La còpia de seguretat s'ha suprimit correctament
401 No autoritzat: testimoni d'autenticació no vàlid o que falta
404 No s'ha trobat: la còpia de seguretat no existeix.
Avís: Eliminar una còpia de seguretat és permanent i no es pot desfer. Assegureu-vos que ja no necessiteu aquesta còpia de seguretat abans de suprimir-la.

Restauració des de còpies de seguretat

Per restaurar un servidor des d'una còpia de seguretat, utilitzeu el punt final de restauració de l' API de servidors :

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

Per obtenir informació detallada sobre la restauració del servidor, consulteu la Documentació de l'API dels servidors.

Millors pràctiques de còpia de seguretat