VPS.org API

Dokumentasi API REST

API Gambaran Ringkas

Ambil snapshot berlabel pelayan, daftarkan mereka dan padam yang anda tidak perlukan lagi.

Titik akhir 4
Laluan Asas /api/v1/snapshots
DAPATKAN /api/v1/snapshots/

Senaraikan Semua Gambaran Ringkas

Kembalikan snapshot dalam akaun anda, terkini pertama, 25 per halaman.

Keizinan diperlukan: snapshots:list

Contoh Permintaan

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

Contoh Respons

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

Medan Respons

Medan Jenis Huraian
uuid string Pengenalpasti snapshot (32 aksara heksadesimal, tiada tanda kurung)
label string Label diberikan bila snapshot dicipta
server_hostname string Nama hos pelayan yang snapshot diambil daripada, atau kosong jika pelayan itu tidak wujud lagi
ready boolean Benar apabila snapshot telah selesai
deleting boolean Benar bila pembersihan sedang dijalankan
created_at datetime Masa penciptaan (ISO 8601, UTC)
size_gb number Saiz dimampat dalam gigabyte
DAPATKAN /api/v1/snapshots/{uuid}/

Dapatkan Cekupan Skrin

Kembalikan satu objek snapshot dengan medan di atas. Gunakannya untuk poll sedia selepas mencipta snapshot.

curl -X GET "https://admin.vps.org/api/v1/snapshots/3f9a1c0e5b7d4e2f8a6c1b3d5e7f9a0b/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
POST /api/v1/servers/{uuid}/snapshot/

Cipta Cipta Cekupan

Beribaris bagi snapshot pelayan yang dilaksanakan dan kembalikan uuid snapshot baru. Snapshot disenaraikan dengan segera dengan sedia ditetapkan kepada salah.

Keizinan diperlukan: servers:snapshot

Minta Parameter Badan

Parameter Jenis Diperlukan Huraian
action string Ya Mesti snapshot
snapshot_label string Ya Label untuk mengenal pasti snapshot dengan
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"])

Contoh Respons

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

Kod Status Respons

200 Tindakan telah diibalkan
400 action atau snapshot_label hilang, atau pelayan belum dilaksanakan
402 Tiada kaedah pembayaran pada fail, atau bil tidak dibayar
404 Tidak dijumpai, atau ia milik akaun lain
PADAM /api/v1/snapshots/{uuid}/

Padam Cekupan

Berijil snapshot untuk pembersihan kekal. pembersihan adalah benar sehingga ia hilang.

Keizinan diperlukan: snapshots:delete

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

Kod Status Respons

202 Terima: permintaan telah dibelitkan
404 Tidak dijumpai, atau ia milik akaun lain

Nota