VPS.org API

REST APIドキュメント

スナップショット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 スナップショットを取ったサーバのホスト名、サーバが存在しない場合は null
ready boolean スナップショットが終了したらtrue
deleting boolean 削除が進行中の間は TRUE
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 を返します。スナップショットは、ready を 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 見つかりませんでした。あるいは、他のアカウントに属しています。

ノート