VPS.org API

REST API-dokumintaasje

Reservekopyen API

Behear serverbackups programmatysk. List, meitsje, herstel en wiskje reservekopyen foar jo servers.

Einpunten 3 endpoints
Basispaad /api/v1/backups
KRIJE /api/v1/backups/

List alle reservekopyen

Helje in list op fan alle reservekopyen op jo servers.

Fraachparameters

Parameter Type Ferplicht Beskriuwing
server_id integer Nee Filterje reservekopyen op server-ID
backup_type string Nee Filterje op type: manual , automatic

Foarbyldfersyk

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

Foarbyldantwurd

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

Antwurdstatuskoades

200 Reservekopylist mei súkses ophelle
401 Net autorisearre - Unjildich of ûntbrekkend autentikaasjetoken
PEAL /api/v1/backups/

Meitsje in hânmjittige reservekopy

Meitsje in hânmjittige reservekopy fan in server. Hânmjittige reservekopyen ferrinne net automatysk.

Parameters fan oanfraachlichem

Parameter Type Ferplicht Beskriuwing
server_id integer Ja ID fan 'e tsjinner om in reservekopy fan te meitsjen
description string Nee Opsjonele beskriuwing foar de reservekopy

Foarbyldfersyk

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

Foarbyldantwurd

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

Antwurdstatuskoades

201 Reservekopy oanmeitsjen mei súkses begûn
400 Minne oanfraach - Unjildige parameters of ferkeard foarme oanfraach
401 Net autorisearre - Unjildich of ûntbrekkend autentikaasjetoken
404 Net fûn - Tsjinner bestiet net
Noat: Jo kinne maksimaal 10 hânmjittige reservekopyen per server hawwe. Automatyske reservekopyen wurde bewarre op basis fan it reservekopybewaringsbelied fan jo plan (meastal 7-30 dagen).
WISKE /api/v1/backups/{backup_id}/

Reservekopy wiskje

In reservekopy permanint wiskje. Dizze aksje kin net ûngedien makke wurde.

Paadparameters

Parameter Type Ferplicht Beskriuwing
backup_id integer Ja Unike reservekopy-ID

Foarbyldfersyk

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

Antwurdstatuskoades

204 Reservekopy mei súkses wiske
401 Net autorisearre - Unjildich of ûntbrekkend autentikaasjetoken
404 Net fûn - Reservekopy bestiet net
Warskôging: It wiskjen fan in reservekopy is permanint en kin net ûngedien makke wurde. Soargje derfoar dat jo dizze reservekopy net mear nedich binne foardat jo it wiskje.

Weromsette fan reservekopyen

Om in server fan in reservekopy te herstellen, brûk it Servers API- hersteleindpunt:

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

Foar detaillearre ynformaasje oer serverherstel, sjoch de Dokumintaasje fan 'e servers API.

Bêste praktiken foar reservekopy