Referensi REST API
API Cockpit memungkinkan Anda untuk mengotomatiskan mesin virtual, menanyakan log kinerja, dan mengelola sumber daya klaster secara eksternal.
Autentikasi
Semua endpoint REST memerlukan JSON Web Token (JWT) yang dikirimkan dalam header HTTP:
http
Authorization: Bearer <JWT_TOKEN>
Content-Type: application/jsonEndpoint Autentikasi
Masuk & Dapatkan Token
http
POST /api/v1/auth/login- Payload:
{"username": "admin", "password": "yourpassword"} - Respons (200 OK):json
{ "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...", "refresh_token": "a1b2c3d4-...", "expires_in": 3600 }
Perbarui Token yang Kedaluwarsa
http
POST /api/v1/auth/refresh- Payload:
{"refresh_token": "a1b2c3d4-..."}
Endpoint Host
Daftar Host Terdaftar
http
GET /api/v1/hosts- Respons (200 OK):json
{ "hosts": [ { "id": "019e0014-abcd-7057-b326-000000000001", "hostname": "vapor-node-01.corp.awan.io", "status": "connected", "sync_cursor": 1716999901 } ] }
Endpoint Mesin Virtual
Daftar Semua VM dalam Klaster
http
GET /api/v1/vmsMulai / Hentikan / Mulai Ulang VM
http
POST /api/v1/vms/:id/action- Payload:
{"action": "start"}atau{"action": "stop", "force": true}
Memicu migrasi langsung VM
http
POST /api/v1/vms/:id/migrate- Payload:json
{ "destination_host_id": "019e0014-ffff-7057-b326-000000000002", "live": true, "persistent": true, "undefine_source": true, "copy_storage": "none" } - Respons (202 Accepted):json
{ "migration_id": "abc123def456", "status": "initiated" }