VPS.org API

Documentación da API REST

API de copias de seguridade

Xestiona as copias de seguridade dos servidores mediante programación. Enumera, crea, restaura e elimina copias de seguridade dos teus servidores.

Puntos finais 3 endpoints
Camiño base /api/v1/backups
OBTER /api/v1/backups/

Listar todas as copias de seguridade

Obtén unha lista de todas as copias de seguridade dos teus servidores.

Parámetros de consulta

Parámetro Tipo Obrigatorio Descrición
server_id integer Non Filtrar copias de seguridade por ID do servidor
backup_type string Non Filtrar por tipo: manual , automatic

Exemplo de solicitude

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

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

Códigos de estado de resposta

200 Lista de copias de seguridade recuperada correctamente
401 Non autorizado: token de autenticación non válido ou falta
PUBLICAR /api/v1/backups/

Crear unha copia de seguridade manual

Crea unha copia de seguridade manual dun servidor. As copias de seguridade manuais non caducan automaticamente.

Parámetros do corpo da solicitude

Parámetro Tipo Obrigatorio Descrición
server_id integer Si ID do servidor para facer a copia de seguridade
description string Non Descrición opcional para a copia de seguridade

Exemplo de solicitude

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

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

Códigos de estado de resposta

201 A creación da copia de seguridade iniciouse correctamente
400 Solicitude incorrecta: parámetros non válidos ou solicitude con formato incorrecto
401 Non autorizado: token de autenticación non válido ou falta
404 Non atopado - O servidor non existe
Nota: Podes ter un máximo de 10 copias de seguridade manuais por servidor. As copias de seguridade automáticas consérvanse segundo a política de retención de copias de seguridade do teu plan (normalmente de 7 a 30 días).
ELIMINAR /api/v1/backups/{backup_id}/

Eliminar copia de seguridade

Eliminar unha copia de seguridade permanentemente. Esta acción non se pode desfacer.

Parámetros da ruta

Parámetro Tipo Obrigatorio Descrición
backup_id integer Si ID de copia de seguridade único

Exemplo de solicitude

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 resposta

204 Copia de seguranza eliminada correctamente
401 Non autorizado: token de autenticación non válido ou falta
404 Non atopado - Non existe a copia de seguridade
Aviso: Eliminar unha copia de seguridade é permanente e non se pode desfacer. Asegúrate de que xa non necesitas esta copia de seguridade antes de eliminala.

Restauración desde copias de seguridade

Para restaurar un servidor desde unha copia de seguridade, use o punto final de restauración da API de servidores :

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

Para obter información detallada sobre a restauración do servidor, consulte a sección Documentación da API de servidores.

Boas prácticas de copia de seguridade