VPS.org API

وثائق REST API

واجهة برمجة تطبيقات اللقطات

خذ لقطات سريعة موصوفة من الخادم، وقائمة لهم وحذف تلك التي لم تعد بحاجة إليها.

نقاط النهاية 4
المسار الأساسي /api/v1/snapshots
يحصل /api/v1/snapshots/

عرض جميع اللقطات

يعيد الصور في حسابك، أحدث أولاً، 25 في كل صفحة.

الإذن المطلوب: snapshots:list

مثال على الطلب

cURL
Python
JavaScript
curl -X GET "https://admin.vps.org/api/v1/snapshots/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
import requests

url = "https://admin.vps.org/api/v1/snapshots/"
headers = {"Authorization": "Bearer YOUR_API_TOKEN"}

response = requests.get(url, headers=headers)
for snapshot in response.json()["results"]:
    print(snapshot["uuid"], snapshot["label"], snapshot["ready"])
const response = await fetch('https://admin.vps.org/api/v1/snapshots/', {
  headers: { 'Authorization': 'Bearer YOUR_API_TOKEN' }
});

const data = await response.json();
console.log(data.results);

مثال على الاستجابة

{
  "count": 1,
  "next": null,
  "previous": null,
  "results": [
    {
      "uuid": "3f9a1c0e5b7d4e2f8a6c1b3d5e7f9a0b",
      "label": "before-upgrade",
      "server_hostname": "web-01",
      "ready": true,
      "deleting": false,
      "created_at": "2026-09-14T18:30:00.000000Z",
      "size_gb": 3.4
    }
  ]
}

حقول الاستجابة

الميدان يكتب وصف المشروع
uuid string رمز تحديد الهوية (32 حرفاً سداسياً، بدون فاصلة)
label string الوسم الممنوح عند إنشاء الصورة السريعة
server_hostname string اسم مضيف الخادم الذي أخذت منه الصوره الفوريه، أو صفر إذا لم يعد هذا الخادم موجودا
ready boolean صحيح عندما تنتهي اللقطة
deleting boolean صحيح بينما يجري حذف
created_at datetime وقت الإنشاء (ISO 8601، UTC)
size_gb number حجم الضغط بالغيغابايت
يحصل /api/v1/snapshots/{uuid}/

صور سريعة

يعيد كائن صورة سريعة واحد مع الحقول أعلاه. استخدمه لاستفتاء جاهز بعد إنشاء صورة سريعة.

curl -X GET "https://admin.vps.org/api/v1/snapshots/3f9a1c0e5b7d4e2f8a6c1b3d5e7f9a0b/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
الوظائف /api/v1/servers/{uuid}/snapshot/

إنشاء صورة سريعة

يقوم بتصفيف لقطة سريعة من خادم منشر ويعيد uuid لللقطة السريعة الجديدة. تُدرج لقطة سريعة فوراً مع الاستعداد المحدد إلى false.

الإذن المطلوب: servers:snapshot

معلمات نص الطلب

البارامترات يكتب مطلوب وصف المشروع
action string نعم يجب أن تكون صورة سريعة
snapshot_label string نعم علامة لتحديد الصورة
cURL
Python
curl -X POST "https://admin.vps.org/api/v1/servers/8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b/snapshot/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"action": "snapshot", "snapshot_label": "before-upgrade"}'
import requests

server_uuid = "8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b"
url = f"https://admin.vps.org/api/v1/servers/{server_uuid}/snapshot/"
headers = {"Authorization": "Bearer YOUR_API_TOKEN"}
data = {"action": "snapshot", "snapshot_label": "before-upgrade"}

response = requests.post(url, headers=headers, json=data)
print(response.json()["snapshot_uuid"])

مثال على الاستجابة

{
  "message": "Snapshot queued successfully",
  "snapshot_uuid": "3f9a1c0e5b7d4e2f8a6c1b3d5e7f9a0b"
}

رموز حالة الاستجابة

200 تم وضع العمل في صف
400 action أو snapshot_label مفقود، أو الخادم غير موزع بعد
402 عدم وجود طريقة دفع في الملف، أو فواتير غير مدفوعة
404 لم يُعثر عليها، أو أنها تنتمي إلى حساب آخر
يمسح /api/v1/snapshots/{uuid}/

حذف صورة سريعة

تضع الصوره الفوريه في صف للمحذوفه الدائمه. الملغيه صحيحه حتى تختفي.

الإذن المطلوب: snapshots:delete

curl -X DELETE "https://admin.vps.org/api/v1/snapshots/3f9a1c0e5b7d4e2f8a6c1b3d5e7f9a0b/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
{
  "message": "Snapshot deletion queued"
}

رموز حالة الاستجابة

202 مقبول: وضع الطلب في قائمة الانتظار
404 لم يُعثر عليها، أو أنها تنتمي إلى حساب آخر

حواشي