VPS.org API

Documentación de la API REST

API de copias de seguridad

Administre las copias de seguridad del servidor mediante programación. Enumere, cree, restaure y elimine copias de seguridad de sus servidores.

Puntos finales 3 endpoints
Ruta base /api/v1/backups
CONSEGUIR /api/v1/backups/

Listar todas las copias de seguridad

Recupere una lista de todas las copias de seguridad en sus servidores.

Parámetros de consulta

Parámetro Tipo Requerido Descripción
server_id integer No Filtrar copias de seguridad por ID de servidor
backup_type string No Filtrar por tipo: manual , automatic

Ejemplo de solicitud

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

Ejemplo de respuesta

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

Códigos de estado de respuesta

200 Lista de copias de seguridad recuperada correctamente
401 No autorizado: token de autenticación no válido o faltante
CORREO /api/v1/backups/

Crear copia de seguridad manual

Cree una copia de seguridad manual de un servidor. Las copias de seguridad manuales no caducan automáticamente.

Parámetros del cuerpo de la solicitud

Parámetro Tipo Requerido Descripción
server_id integer ID del servidor del que se realizará la copia de seguridad
description string No Descripción opcional para la copia de seguridad

Ejemplo de solicitud

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

Ejemplo de respuesta

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

Códigos de estado de respuesta

201 La creación de la copia de seguridad se inició correctamente
400 Solicitud incorrecta: parámetros no válidos o solicitud mal formada
401 No autorizado: token de autenticación no válido o faltante
404 No encontrado - El servidor no existe
Nota: Puede tener un máximo de 10 copias de seguridad manuales por servidor. Las copias de seguridad automáticas se conservan según la política de retención de copias de seguridad de su plan (normalmente de 7 a 30 días).
BORRAR /api/v1/backups/{backup_id}/

Eliminar copia de seguridad

Eliminar una copia de seguridad de forma permanente. Esta acción no se puede deshacer.

Parámetros de ruta

Parámetro Tipo Requerido Descripción
backup_id integer ID de respaldo único

Ejemplo de solicitud

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

Códigos de estado de respuesta

204 Copia de seguridad eliminada correctamente
401 No autorizado: token de autenticación no válido o faltante
404 No encontrado - La copia de seguridad no existe
Advertencia: Eliminar una copia de seguridad es permanente e irreversible. Asegúrate de que ya no la necesites antes de eliminarla.

Restauración desde copias de seguridad

Para restaurar un servidor a partir de una copia de seguridad, utilice el punto final de restauración de la API de servidores :

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

Para obtener información detallada sobre la restauración del servidor, consulte la Documentación de la API de servidores.

Mejores prácticas de copia de seguridad