VPS.org API

REST API ҳужжатлаштириш

Snapshots API'si

Сервернинг белгиланган суратларини олинг, уларни рўйхатга олинг ва сизга керак бўлмаганларини ўчиринг.

Tugash nuqtalari 4
Asosiy yo'l /api/v1/snapshots
OLING /api/v1/snapshots/

Barcha suratlarni ro'yxatlash

Ҳисобингиздаги суратларни қайтаради, энг янгиси биринчи, саҳифада 25.

Ҳужжат талаб этилади: snapshots:list

Namunaviy so'rov

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

Javob namunasi

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

Javob maydonlari

Асосий Turi Тасвирлаш
uuid string Снимка идентификатори (32 ўн олтилик белги, ҳўпламларсиз)
label string Сканнер яратилганда берилган белги
server_hostname string Снимка олинган сервернинг хост номи, ёки агар сервер мавжуд бўлмаса, нуль
ready boolean Сканнерлаш тугаганидан кейин True
deleting boolean Охирги ўзгаришлар
created_at datetime Юклаш вақти (ISO 8601, UTC)
size_gb number Сиқилган ҳажми гигабайтларда
OLING /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

Tana parametrlarini so'rash

Парамeтрлар Turi Majburiy Тасвирлаш
action string Ha Снимка бўлиши керак
snapshot_label string Ha Сканнерни аниқлаш учун белги
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"])

Javob namunasi

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

Javob holati kodlari

200 Фаолият навбатда турибди
400 Action ёки snapshot_label йўқ ёки сервер ҳали ўрнатилмаган
402 Файлда тўлов усули йўқ ёки тўловсиз ҳисобварақлар
404 Топилмади ёки бошқа ҳисобга тегишли
O'CHIRISH /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"
}

Javob holati kodlari

202 Қўлланган: сўров навбатда турибди
404 Топилмади ёки бошқа ҳисобга тегишли

Ёдлаш