VPS.org API

REST API דאָקומענטאַציע

סנאַפּשאַץ API

פאַרוואַלטן סערווער סנאַפּשאַץ פֿאַר שנעלע צייט-רעסטאָראַציע. סנאַפּשאַץ כאַפּן דעם גאַנצן צושטאַנד פון דיין סערווער.

ענדפּונקטן 4 endpoints
באַזע דרך /api/v1/snapshots
באַקומען /api/v1/snapshots/

ליסט אַלע סנאַפּשאַץ

באַקומען אַ רשימה פון אַלע סנעפּשאַץ אויף דיין סערווערס.

קווערי פּאַראַמעטערס

פּאַראַמעטער טיפּ פארלאנגט באַשרייַבונג
server_id integer ניין פילטער סנעפּשאַץ לויט סערווער ID

בייַשפּיל בקשה

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

בייַשפּיל ענטפער

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

ענטפער סטאַטוס קאָדעס

200 הצלחהדיק צוריקגעקראָגן סנעפּשאַפּ רשימה
401 נישט בארעכטיגט - אומגילטיקער אדער פעלנדיקער אויטענטיפיקאציע טאָקען
פּאָסט /api/v1/snapshots/

שאַפֿן אַ מאָמענטבילד

Create a snapshot of a server's current state. Snapshots are point-in-time copies of the entire server.

פארלאנג גוף פאראמעטערס

פּאַראַמעטער טיפּ פארלאנגט באַשרייַבונג
server_id integer יא אידענטיפיקאציע פון סערווער צו סנעפשאט
name string יא נאָמען פֿאַר דער מאָמענטבילד (אַלפאַנומעריש, היפֿענס, אַנדערסטרעקס)
description string ניין אפציאנעלע באַשרייַבונג פֿאַר די מאָמענטבילד

בייַשפּיל בקשה

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

בייַשפּיל ענטפער

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

ענטפער סטאַטוס קאָדעס

201 שאַפונג פון אַ סנאַפּשאָט האָט זיך געמאַכט מיט הצלחה
400 Bad Request - Invalid parameters or snapshot limit reached
401 נישט בארעכטיגט - אומגילטיקער אדער פעלנדיקער אויטענטיפיקאציע טאָקען
404 Not Found - Server does not exist
באַמערקונג: 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.
פּאָסט /api/v1/snapshots/{snapshot_id}/restore/

צוריקשטעלן פון סנעפּשאָט

Restore a server to the state captured in a snapshot. This will overwrite all current data on the server.

וועג פּאַראַמעטערס

פּאַראַמעטער טיפּ פארלאנגט באַשרייַבונג
snapshot_id integer יא איינציקאַרטיקע סנעפּשאָט אידענטיפיקאַציע

בייַשפּיל בקשה

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

בייַשפּיל ענטפער

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

ענטפער סטאַטוס קאָדעס

200 צוריקשטעלן האט זיך ערפאלגרייך אנגעהויבן
400 Bad Request - Server is not in a valid state for restoration
401 נישט בארעכטיגט - אומגילטיקער אדער פעלנדיקער אויטענטיפיקאציע טאָקען
404 נישט געפֿונען - סנעפּשאָט עקזיסטירט נישט
ווארענונג: 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.
אויסמעקן /api/v1/snapshots/{snapshot_id}/

אויסמעקן סנעפּשאָט

אויסמעקן א שנעלע בילד אויף אייביק. די אקציע קען נישט בטל געמאכט ווערן.

וועג פּאַראַמעטערס

פּאַראַמעטער טיפּ פארלאנגט באַשרייַבונג
snapshot_id integer יא איינציקאַרטיקע סנעפּשאָט אידענטיפיקאַציע

בייַשפּיל בקשה

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)

ענטפער סטאַטוס קאָדעס

204 מאָמענטבילד אויסגעמעקט
401 נישט בארעכטיגט - אומגילטיקער אדער פעלנדיקער אויטענטיפיקאציע טאָקען
404 נישט געפֿונען - סנעפּשאָט עקזיסטירט נישט

Snapshots vs Backups

Understanding when to use snapshots versus backups:

סנאַפּשאַץ API

  • צוועק: Quick point-in-time recovery
  • גיכקייט: Faster to create and restore (3-15 min)
  • נוץ פאַל: Before risky operations (updates, config changes)
  • סטאָרידזש: Stored on same infrastructure
  • לימיט: 5 snapshots per server
  • בעסטער פֿאַר: Short-term rollback capability

באַקאַפּס API

  • צוועק: Long-term data protection
  • גיכקייט: Slower to create and restore (varies)
  • נוץ פאַל: Regular automated data protection
  • סטאָרידזש: Separate backup storage
  • לימיט: 10 manual + automatic backups
  • בעסטער פֿאַר: Disaster recovery and compliance

Best Practices