VPS.org API

Documentación de API REST

API de copias de seguridad

Enumere las copias de seguridad de su servidor, inicie una nueva copia de seguridad y restaure un servidor desde uno.

Puntos finales 4
Ruta base /api/v1/backups
CONSEGUIR /api/v1/backups/

Listar todas las copias de seguridad

Devuelve las copias de seguridad de todos sus servidores, el más reciente primero, 25 por página. No hay ningún filtro de servidor: use server_hostname para agruparlos.

Permiso requerido: backups:list

Parámetros de consulta

Parámetro Tipo Requerido Descripción
page integer No Número de página, a partir de 1

Ejemplo de solicitud

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

Ejemplo de respuesta

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

Campos de respuesta

Campo Tipo Descripción
id integer Identificador de copia de seguridad, utilizado por los endpoints de get y restablece
server_hostname string Nombre del servidor del que se tomó la copia de seguridad
name string Copia de seguridad del nombre del archivo
size_gb number Tamaño comprimido en gigabytes
deletion_date datetime Cuando la copia de seguridad se eliminará automáticamente
days_remaining integer Días enteros hasta la eliminación_date
created_at datetime Tiempo de creación (ISO 8601, UTC)

Códigos de estado de respuesta

200 Lista de copias de seguridad recuperadas con éxito
403 Token API no válido o falta el token o el token carece del permiso requerido
CONSEGUIR /api/v1/backups/{id}/

Obtener una copia de seguridad

Devuelve un objeto de copia de seguridad con los campos anteriores.

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

Crear una copia de seguridad

Encola una copia de seguridad de un servidor desplegado. No se necesita ningún cuerpo de solicitud. La copia de seguridad aparece en la lista una vez que ha terminado, lo que puede tomar varios minutos dependiendo del uso del disco.

Permiso requerido: 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())

Ejemplo de respuesta

{
  "message": "Backup queued successfully"
}

Códigos de estado de respuesta

200 La acción estaba en fila
400 El servidor no está desplegado todavía
402 No hay ningún método de pago en el archivo, o facturas impagadas
404 No encontrado, o pertenece a otra cuenta
POST /api/v1/backups/{id}/restore/

Restaurar un servidor desde una copia de seguridad

Detiene el servidor del que se tomó la copia de seguridad, sobreescribe su disco con la copia de seguridad y lo inicia de nuevo. No se necesita ningún cuerpo de solicitud. El estado del servidor es cola mientras se ejecuta la restauración.

Permiso requerido: 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"
}
Aviso: Todo lo escrito al servidor después de que se tomó la copia de seguridad se pierde. Una restauración no puede ser deshecho.

Códigos de estado de respuesta

200 La acción estaba en fila
400 El servidor no está desplegado todavía
404 No encontrado, o pertenece a otra cuenta

Notas