VPS.org API

REST API-dokumentation

Säkerhetskopierings-API

Hantera serversäkerhetskopior programmatiskt. Lista, skapa, återställ och ta bort säkerhetskopior för dina servrar.

Slutpunkter 3 endpoints
Basväg /api/v1/backups
/api/v1/backups/

Lista alla säkerhetskopior

Hämta en lista över alla säkerhetskopior på dina servrar.

Frågeparametrar

Parameter Typ Nödvändig Beskrivning
server_id integer Inga Filtrera säkerhetskopior efter server-ID
backup_type string Inga Filtrera efter typ: manual , automatic

Exempelförfrågan

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

Exempelsvar

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

Svarsstatuskoder

200 Säkerhetskopieringslistan har hämtats
401 Obehörig - Ogiltig eller saknad autentiseringstoken
POSTA /api/v1/backups/

Skapa manuell säkerhetskopia

Skapa en manuell säkerhetskopia av en server. Manuella säkerhetskopior upphör inte att gälla automatiskt.

Parametrar för begäran

Parameter Typ Nödvändig Beskrivning
server_id integer Ja ID för servern som ska säkerhetskopieras
description string Inga Valfri beskrivning för säkerhetskopian

Exempelförfrågan

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

Exempelsvar

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

Svarsstatuskoder

201 Skapandet av säkerhetskopian har initierats
400 Felaktig begäran - Ogiltiga parametrar eller felaktigt formaterad begäran
401 Obehörig - Ogiltig eller saknad autentiseringstoken
404 Hittades inte - Servern finns inte
Notera: Du kan ha maximalt 10 manuella säkerhetskopior per server. Automatiska säkerhetskopior sparas baserat på din plans policy för säkerhetskopior (vanligtvis 7–30 dagar).
RADERA /api/v1/backups/{backup_id}/

Ta bort säkerhetskopia

Ta bort en säkerhetskopia permanent. Den här åtgärden kan inte ångras.

Sökvägsparametrar

Parameter Typ Nödvändig Beskrivning
backup_id integer Ja Unikt säkerhetskopierings-ID

Exempelförfrågan

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

Svarsstatuskoder

204 Säkerhetskopian har raderats
401 Obehörig - Ogiltig eller saknad autentiseringstoken
404 Hittades inte - Säkerhetskopiering finns inte
Varning: Att ta bort en säkerhetskopia är permanent och kan inte ångras. Se till att du inte längre behöver säkerhetskopian innan du tar bort den.

Återställa från säkerhetskopior

För att återställa en server från en säkerhetskopia, använd Servers API:s återställningsslutpunkt:

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

För detaljerad information om serveråterställning, se Dokumentation för servrars API.

Bästa praxis för säkerhetskopiering