VPS.org API

REST APIaren dokumentazioa

Babeskopien APIa

Kudeatu zerbitzarien babeskopiak programazio bidez. Zerrendatu, sortu, leheneratu eta ezabatu zure zerbitzarien babeskopiak.

Amaiera-puntuak 3 endpoints
Oinarrizko bidea /api/v1/backups
LORTU /api/v1/backups/

Babeskopia guztiak zerrendatu

Eskuratu zure zerbitzarietako babeskopia guztien zerrenda.

Kontsulta-parametroak

Parametroa Mota Beharrezkoa Deskribapena
server_id integer Ez Iragazi babeskopiak zerbitzariaren IDaren arabera
backup_type string Ez Iragazi motaren arabera: manual , automatic

Eskaera adibidea

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

Adibide Erantzuna

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

Erantzun Egoera Kodeak

200 Babeskopien zerrenda behar bezala berreskuratu da
401 Baimenik gabea - Autentifikazio-token baliogabea edo falta da
POST /api/v1/backups/

Eskuzko babeskopia sortu

Sortu zerbitzari baten eskuzko babeskopia bat. Eskuzko babeskopiak ez dira automatikoki iraungitzen.

Eskaeraren Gorputzaren Parametroak

Parametroa Mota Beharrezkoa Deskribapena
server_id integer Bai Babeskopia egiteko zerbitzariaren IDa
description string Ez Babeskopiaren deskribapen aukerakoa

Eskaera adibidea

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

Adibide Erantzuna

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

Erantzun Egoera Kodeak

201 Babeskopia sortzea arrakastaz hasi da
400 Eskaera okerra - Parametro baliogabeak edo eskaera gaizki osatua
401 Baimenik gabea - Autentifikazio-token baliogabea edo falta da
404 Ez da aurkitu - Zerbitzaria ez da existitzen
Oharra: Gehienez 10 babeskopia eskuzko izan ditzakezu zerbitzari bakoitzeko. Babeskopia automatikoak zure planaren babeskopiak gordetzeko politikaren arabera gordetzen dira (normalean 7-30 egun).
EZABATU /api/v1/backups/{backup_id}/

Ezabatu babeskopia

Ezabatu babeskopia bat betiko. Ekintza hau ezin da desegin.

Bidearen parametroak

Parametroa Mota Beharrezkoa Deskribapena
backup_id integer Bai Babeskopia ID bakarra

Eskaera adibidea

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

Erantzun Egoera Kodeak

204 Babeskopia behar bezala ezabatu da
401 Baimenik gabea - Autentifikazio-token baliogabea edo falta da
404 Ez da aurkitu - Babeskopia ez dago
Abisua: Babeskopia bat ezabatzea behin betikoa da eta ezin da desegin. Ziurtatu babeskopia hau jada ez duzula behar ezabatu aurretik.

Babeskopietatik leheneratzea

Babeskopia batetik zerbitzari bat leheneratzeko, erabili Servers API leheneratze amaiera-puntua:

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

Zerbitzarien leheneratzeari buruzko informazio zehatza lortzeko, ikus Zerbitzarien API dokumentazioa.

Babeskopien praktika onenak