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/

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

שאַפֿן אַ בילדל פֿון דעם באַדינער ס׳הײַנטיקן צושטאַנד. בילדלן זײַנען צייט־קאָפּיעס פֿון דעם גאַנצן באַדינער

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

פּאַראַמעטערס טיפּ פארלאנגט באַשרײַבונג
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/

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

איבער־פֿאַרקער דעם באַדינער צו דער צושטאַנד װאָס איז אױסגעפֿירט װי אַ בילדצעל. דאָס װעט איבערשרײַבן אַלע איצטיקע דאַטן אױף דעם באַדינער

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

פּאַראַמעטערס טיפּ פארלאנגט באַשרײַבונג
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

פֿאַרשטײן װען צו ניצן שטיקל־שפּילער קעגן רעצעפּט־סעקװאַנסן:

סנאַפּשאַץ 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

בעסטער־פּראָצעס