REST API リファレンス
Cockpit REST API を使用すると、管理者はホストの登録を自動化し、仮想マシンのライフサイクルを管理し、HTTP を介してシステムテレメトリを取得できます。
認証とセッション管理
REST API は、要求を検証するために JSON Web Token (JWT) 認証を実装しています。
すべての API 要求には、HTTP 認証ヘッダーに JWT トークンを含める必要があります。
http
Authorization: Bearer <YOUR_JWT_TOKEN>
Content-Type: application/json1. 認証 (セッショントークンの取得)
- エンドポイント:
POST /api/v1/auth/login - 要求ペイロード:json
{ "username": "admin", "password": "yourpassword" } - 応答ペイロード:json
{ "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...", "refresh_token": "a1b2c3d4-...", "expires_in": 3600 }
2. 有効期限が切れたセッショントークンの更新
- エンドポイント:
POST /api/v1/auth/refresh - 要求ペイロード:json
{ "refresh_token": "a1b2c3d4-..." }
ホストノードの管理
登録済みホストのリスト表示
- エンドポイント:
GET /api/v1/hosts - 応答ペイロード:json
{ "hosts": [ { "id": "019e0014-abcd-7057-b326-000000000001", "hostname": "vapor-node-01.corp.awan.io", "status": "connected", "sync_cursor": 1716999901 } ] }
仮想マシンの操作
すべての仮想マシンのリスト表示
- エンドポイント:
GET /api/v1/vms
VM の電源アクションのトリガー (VM Power Action)
- エンドポイント:
POST /api/v1/vms/:id/action - 要求ペイロードの例:
- VM の起動:
{"action": "start"} - 正常なシャットダウン:
{"action": "shutdown"} - 強制終了:
{"action": "stop", "force": true}
- VM の起動:
仮想マシンの移行の実行
- エンドポイント:
POST /api/v1/vms/:id/migrate - 要求ペイロード:json
{ "destination_host_id": "019e0014-ffff-7057-b326-000000000002", "live": true, "persistent": true, "undefine_source": true, "copy_storage": "none" } - 応答ペイロード:json
{ "migration_id": "abc123def456", "status": "initiated" }