VPS.org API

REST API-dokumentation

Backups API

Administrer serverbackups programmatisk. Vis, opret, gendan og slet backups til dine servere.

Endepunkter 3 endpoints
Basissti /api/v1/backups
/api/v1/backups/

Liste over alle sikkerhedskopier

Hent en liste over alle sikkerhedskopier på tværs af dine servere.

Forespørgselsparametre

Parameter Type Påkrævet Beskrivelse
server_id integer Ingen Filtrer sikkerhedskopier efter server-ID
backup_type string Ingen Filtrer efter type: manual , automatic

Eksempel på anmodning

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

Eksempel på svar

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

Svarstatuskoder

200 Backupliste hentet
401 Uautoriseret - Ugyldigt eller manglende godkendelsestoken
STOLPE /api/v1/backups/

Opret manuel sikkerhedskopi

Opret en manuel sikkerhedskopi af en server. Manuelle sikkerhedskopier udløber ikke automatisk.

Parametre for anmodningstekst

Parameter Type Påkrævet Beskrivelse
server_id integer Ja ID på den server, der skal sikkerhedskopieres
description string Ingen Valgfri beskrivelse af sikkerhedskopien

Eksempel på anmodning

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

Eksempel på svar

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

Svarstatuskoder

201 Oprettelse af sikkerhedskopi er startet
400 Dårlig anmodning - Ugyldige parametre eller forkert udformet anmodning
401 Uautoriseret - Ugyldigt eller manglende godkendelsestoken
404 Ikke fundet - Serveren findes ikke
Note: Du kan maksimalt have 10 manuelle sikkerhedskopier pr. server. Automatiske sikkerhedskopier gemmes baseret på din plans politik for opbevaring af sikkerhedskopier (typisk 7-30 dage).
SLET /api/v1/backups/{backup_id}/

Slet sikkerhedskopi

Slet en sikkerhedskopi permanent. Denne handling kan ikke fortrydes.

Stiparametre

Parameter Type Påkrævet Beskrivelse
backup_id integer Ja Unikt backup-ID

Eksempel på anmodning

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

Svarstatuskoder

204 Sikkerhedskopien er blevet slettet
401 Uautoriseret - Ugyldigt eller manglende godkendelsestoken
404 Ikke fundet - Backup findes ikke
Advarsel: Sletning af en sikkerhedskopi er permanent og kan ikke fortrydes. Sørg for, at du ikke længere har brug for sikkerhedskopien, før du sletter den.

Gendannelse fra sikkerhedskopier

For at gendanne en server fra en sikkerhedskopi skal du bruge Servers API'ens gendannelsesslutpunkt:

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

For detaljerede oplysninger om servergendannelse, se Dokumentation for server-API'er.

Bedste praksis for sikkerhedskopiering