VPS.org API

REST API-dokumentation

API för ögonblicksbilderName

Hantera server-snapshots för snabb återställning vid specifika tidpunkter. Snapshots fångar serverns fullständiga tillstånd.

Slutpunkter 4 endpoints
Basväg /api/v1/snapshots
/api/v1/snapshots/

Lista alla ögonblicksbilder

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

Frågeparametrar

Parameter Typ Nödvändig Varuslag
server_id integer Ej tillämpligt Filtrera ögonblicksbilder efter server-ID

Exempelförfrågan

cURL
Python
JavaScript
curl -X GET "https://admin.vps.org/api/v1/snapshots/?server_id=12345" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
import requests

url = "https://admin.vps.org/api/v1/snapshots/"
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/snapshots/?server_id=12345', {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer YOUR_API_TOKEN',
    'Content-Type': 'application/json'
  }
});

const snapshots = await response.json();
console.log(snapshots);

Exempelsvar

{
  "count": 2,
  "results": [
    {
      "id": 801,
      "server": {
        "id": 12345,
        "name": "web-server-01"
      },
      "name": "pre-migration-snapshot",
      "status": "completed",
      "size_mb": 5120,
      "created_at": "2025-01-15T18:30:00Z",
      "description": "Before major migration"
    },
    {
      "id": 798,
      "server": {
        "id": 12345,
        "name": "web-server-01"
      },
      "name": "weekly-snapshot-2025-01-08",
      "status": "completed",
      "size_mb": 4856,
      "created_at": "2025-01-08T12:00:00Z",
      "description": "Weekly snapshot"
    }
  ]
}

Svarsstatuskoder

200 Listan med ögonblicksbilder har hämtats
401 Obehörig - Ogiltig eller saknad autentiseringstoken
Från och med den 1 januari 2016 till och med den 31 december 2016 /api/v1/snapshots/

Skapa ögonblicksbild

Skapa en ögonblicksbild av en servers nuvarande tillstånd. Ögonblicksbilder är kopior i tid av hela servern.

Parametrar för begäran

Parameter Typ Nödvändig Varuslag
server_id integer Ja ID för servern som ska tas
name string Ja Namn på ögonblicksbilden (alfanumeriskt, bindestreck, understreck)
description string Ej tillämpligt Valfri beskrivning för ögonblicksbilden

Exempelförfrågan

cURL
Python
JavaScript
curl -X POST "https://admin.vps.org/api/v1/snapshots/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "server_id": 12345,
    "name": "before-update-snapshot",
    "description": "Snapshot before system update"
  }'
import requests

url = "https://admin.vps.org/api/v1/snapshots/"
headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json"
}
data = {
    "server_id": 12345,
    "name": "before-update-snapshot",
    "description": "Snapshot before system update"
}

response = requests.post(url, headers=headers, json=data)
print(response.json())
const response = await fetch('https://admin.vps.org/api/v1/snapshots/', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_TOKEN',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    server_id: 12345,
    name: 'before-update-snapshot',
    description: 'Snapshot before system update'
  })
});

const snapshot = await response.json();
console.log(snapshot);

Exempelsvar

{
  "id": 802,
  "server": {
    "id": 12345,
    "name": "web-server-01"
  },
  "name": "before-update-snapshot",
  "status": "in_progress",
  "size_mb": null,
  "created_at": "2025-01-16T16:15:00Z",
  "description": "Snapshot before system update",
  "message": "Snapshot is being created. This may take 3-10 minutes depending on server size."
}

Svarsstatuskoder

201 Skapandet av ögonblicksbilden har initierats
400 Bad Request - Invalid parameters or snapshot limit reached
401 Obehörig - Ogiltig eller saknad autentiseringstoken
404 Not Found - Server does not exist
Anmärkning: You can have a maximum of 5 snapshots per server. Creating a snapshot while the server is running may result in filesystem inconsistencies. For best results, stop the server before creating a snapshot.
Från och med den 1 januari 2016 till och med den 31 december 2016 /api/v1/snapshots/{snapshot_id}/restore/

Återställ från ögonblicksbild

Återställ en server till det tillstånd som fångas i en ögonblicksbild. Det skriver över alla aktuella data på servern.

Sökvägsparametrar

Parameter Typ Nödvändig Varuslag
snapshot_id integer Ja Unikt ögonblicksbilds-ID

Exempelförfrågan

cURL
Python
JavaScript
curl -X POST "https://admin.vps.org/api/v1/snapshots/801/restore/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
import requests

snapshot_id = 801
url = f"https://admin.vps.org/api/v1/snapshots/{snapshot_id}/restore/"
headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json"
}

response = requests.post(url, headers=headers)
print(response.json())
const snapshotId = 801;
const response = await fetch(`https://admin.vps.org/api/v1/snapshots/${snapshotId}/restore/`, {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_TOKEN',
    'Content-Type': 'application/json'
  }
});

const result = await response.json();
console.log(result);

Exempelsvar

{
  "status": "success",
  "message": "Server is being restored from snapshot. This may take 5-15 minutes.",
  "snapshot": {
    "id": 801,
    "name": "pre-migration-snapshot",
    "created_at": "2025-01-15T18:30:00Z"
  },
  "server": {
    "id": 12345,
    "name": "web-server-01",
    "status": "restoring"
  }
}

Svarsstatuskoder

200 Återställningen har initierats
400 Bad Request - Server is not in a valid state for restoration
401 Obehörig - Ogiltig eller saknad autentiseringstoken
404 Hittades inte - Ögonblicksbilden finns inte
Varning: Restoring from a snapshot will overwrite all current data on the server. This action cannot be undone. The server will be automatically stopped before restoration begins.
RADERA /api/v1/snapshots/{snapshot_id}/

Ta bort ögonblicksbild

Ta bort en ögonblicksbild permanent. Den här åtgärden kan inte ångras.

Sökvägsparametrar

Parameter Typ Nödvändig Varuslag
snapshot_id integer Ja Unikt ögonblicksbilds-ID

Exempelförfrågan

cURL
Python
curl -X DELETE "https://admin.vps.org/api/v1/snapshots/801/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
import requests

snapshot_id = 801
url = f"https://admin.vps.org/api/v1/snapshots/{snapshot_id}/"
headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json"
}

response = requests.delete(url, headers=headers)
print(response.status_code)

Svarsstatuskoder

204 Ögonblicksbilden har raderats
401 Obehörig - Ogiltig eller saknad autentiseringstoken
404 Hittades inte - Ögonblicksbilden finns inte

Snapshots vs Backups

Förstå när man ska använda ögonblicksbilder mot säkerhetskopior:

API för ögonblicksbilderName

  • Ändamål: Quick point-in-time recovery
  • Hastighet: Faster to create and restore (3-15 min)
  • Användningsfall: Before risky operations (updates, config changes)
  • Lagring: Stored on same infrastructure
  • Gräns: 5 snapshots per server
  • Bäst för: Short-term rollback capability

Säkerhetskopierings-API

  • Ändamål: Long-term data protection
  • Hastighet: Slower to create and restore (varies)
  • Användningsfall: Regular automated data protection
  • Lagring: Separate backup storage
  • Gräns: 10 manual + automatic backups
  • Bäst för: Disaster recovery and compliance

Bästa praxis