切換選單
切換偏好設定選單
切換個人選單
尚未登入
若您做出任何編輯,會公開您的 IP 位址。
這是此頁面最近一次修訂;沒有已批准修訂。

什麼是API

API 的全稱是 Application Programming Interface(應用程式編程接口)。通俗地講就是可以通過直接訪問網站地址(url)執行一些功能

API能幹嘛

可以在不使用kiwiVM面板裡面的按鈕或界面執行腳本,發送http請求完成自動開機、關機、查詢伺服器狀態、執行指令等等的目的,這些都是官方提供的功能,適用於自動化程序控制伺服器。

如何使用API

使用瀏覽器或curl或程式語言發送http請求

使用瀏覽器直接在地址欄輸入完整的url 雖然能但一般不使用這種方式

使用curl wget等命令行工具發送http請求

使用php python golang等程式語言發送http請求

使用前準備

獲取api key和 伺服器id(veid)

打開kiwivm面板 登陸後打開https://bandwagonhost.com/services 打開你要用api控制的伺服器

再次提醒:請務必保管好API Key 不要洩露給任何人 防止伺服器和API被盜用 如果發生洩漏請使用Reset API Key重置也應當保護調用API所在的設備

再次提醒:請務必保管好API Key 不要洩露給任何人 防止伺服器和API被盜用 如果發生洩漏請使用Reset API Key重置也應當保護調用API所在的設備

再次提醒:請務必保管好API Key 不要洩露給任何人 防止伺服器和API被盜用 如果發生洩漏請使用Reset API Key重置也應當保護調用API所在的設備

再次提醒:請務必保管好API Key 不要洩露給任何人 防止伺服器和API被盜用 如果發生洩漏請使用Reset API Key重置也應當保護調用API所在的設備

API的使用

基礎的url是:https://api.64clouds.com/v1/

需要攜帶 veidapi_key 參數

get與post請求方法都可以 但get請求有長度限制.如果執行一些長的命令 最終還是需要post請求方法 post也更加安全

https://api.64clouds.com/v1/api的请求路径?veid=YOUR_VEID&api_key=YOUR_API_KEY

使用時需要把文字部分替換為指定的內容

3處要替換的地方

1. api的請求路徑 也就是你需要執行的功能

2. YOUR_VEID 你的伺服器id

3. YOUR_API_KEY 你的API_Key

以獲取伺服器信息為例

例如你的 veid=33333 api_key=privateewww324242

需要調用 獲取伺服器信息 的功能 那麼 請求路徑 getServiceInfo

https://api.64clouds.com/v1/getServiceInfo?veid=33333&api_key=privateewww324242

使用時請替換為自己實際的內容 使用你選擇的工具發送http請求

順利的話會返回很多數據 關鍵信息已經隱藏…

成功的返回值 不同請求路徑 返回的內容不一樣

{
	"vm_type": "kvm",
    "hostname": "xxxx",
    "node_alias": "xxxx",
    "node_location_id": "xxxxx",
    "node_location": "xxxxx",
    "node_datacenter": "xxxxx",
    "location_ipv6_ready": true,
    "plan": "xxxxxx",
    "plan_monthly_data": 0,
    "monthly_data_multiplier": 0,
    "plan_disk": 0,
    "plan_ram": 0,
    "plan_swap": 0,
    "plan_max_ipv6s": 0,
    "os": "xxxx",
    "email": "xxxxxx",
    "data_counter": 0,
    "data_next_reset": 0,
    "ip_addresses": [
        "xxx.xxx.xxx.xx"
    ],
    等一些信息 在此省略
}

失敗的返回值 這個示範是 身份驗證錯誤 就是api_key或者veid不正確

{
"error": 700005,
"message": "Authentication failure"
}

其他示例

curl 調用:開啟伺服器 (start)

#GET 方法
curl "https://api.64clouds.com/v1/start?veid=YOUR_VEID&api_key=YOUR_API_KEY"


#POST方法
curl -X POST "https://api.64clouds.com/v1/start" \
     -d "veid=YOUR_VEID" \
     -d "api_key=YOUR_API_KEY"

wget 調用:關閉伺服器 (stop)

wget默認會下載文件,加上-qO-可以讓它像 curl 一樣直接輸出結果到屏幕,而不保存文件。

#GET方法
wget -qO- "https://api.64clouds.com/v1/stop?veid=YOUR_VEID&api_key=YOUR_API_KEY"


#POST方法
wget -qO- --post-data="veid=YOUR_VEID&api_key=YOUR_API_KEY" "https://api.64clouds.com/v1/stop"

Python調用:執行命令在伺服器的/tmp目錄下創建一個文件(basicShell/exec)

Python 的 requests 庫會自動處理 URL 編碼,非常方便。

如果沒安裝的話

pip install requests

#GET
import requests
import json

# 配置信息
url = "https://api.64clouds.com/v1/basicShell/exec"
params = {
    "veid": "YOUR_VEID",
    "api_key": "YOUR_API_KEY",
    "command": "touch /tmp/python_test.txt"  # 创建一个文件
}

# 发送请求
try:
    response = requests.get(url, params=params)
    response.raise_for_status() # 检查 HTTP 错误
    
    result = response.json()
    print(f"执行状态码: {result.get('error')}")
    print(f"返回消息: {result.get('message')}")
    
except Exception as e:
    print(f"请求出错: {e}")
    
#POST
import requests
import json

# 配置信息
url = "https://api.64clouds.com/v1/basicShell/exec"

# 这里的字典数据将作为 POST 的 Body 发送
payload = {
    "veid": "YOUR_VEID",
    "api_key": "YOUR_API_KEY",
    "command": "touch /tmp/python_test_post.txt"  # 我改了下文件名,方便你区分
}

# 发送请求
try:
    response = requests.post(url, data=payload)
    
    response.raise_for_status() # 检查 HTTP 错误
    
    result = response.json()
    print(f"执行状态码: {result.get('error')}")
    print(f"返回消息: {result.get('message')}")
    
except Exception as e:
    print(f"请求出错: {e}")

PHP 示例:執行命令在伺服器的/tmp目錄下創建一個文件(basicShell/exec)

PHP 自帶的http_build_query函數可以完美處理 URL 編碼。

#GET
<?php
$url = "https://api.64clouds.com/v1/basicShell/exec";

$data = [
    'veid'    => 'YOUR_VEID',
    'api_key' => 'YOUR_API_KEY',
    'command' => 'touch /tmp/php_test.txt' // 创建一个文件
];

// 构建查询字符串 (会自动进行 URL 编码)
$queryString = http_build_query($data);
$requestUrl = $url . '?' . $queryString;

// 发送请求
$response = file_get_contents($requestUrl);

if ($response !== false) {
    $json = json_decode($response, true);
    echo "Error Code: " . $json['error'] . "\n";
    echo "Message: " . $json['message'] . "\n";
} else {
    echo "请求失败\n";
}
?>

#POST
<?php
$url = "https://api.64clouds.com/v1/basicShell/exec";

// 你的数据 (保持不变)
$data = [
    'veid'    => 'YOUR_VEID',
    'api_key' => 'YOUR_API_KEY',
    'command' => 'touch /tmp/php_post_test.txt' // 改了个文件名方便区分
];

// 1. 依然需要用 http_build_query 处理数据,
// 但这次不是拼在 URL 后面,而是放在 Body 里
$content = http_build_query($data);

// 2. 创建 HTTP 头部选项
$options = [
    'http' => [
        'method'  => 'POST', // 显式指定 POST
        'header'  => 'Content-type: application/x-www-form-urlencoded', // 必须告诉服务器这是表单数据
        'content' => $content // 把数据放入 Body
    ]
];

// 3. 创建流上下文 (Stream Context)
$context  = stream_context_create($options);

// 4. 发送请求
// 注意:这里 URL 还是干净的 URL,把 $context 作为第三个参数传进去
$response = file_get_contents($url, false, $context);

// 5. 处理结果
if ($response !== false) {
    $json = json_decode($response, true);
    // 加上 isset 检查防止报错
    $err = isset($json['error']) ? $json['error'] : 'Unknown';
    $msg = isset($json['message']) ? $json['message'] : 'No message';
    
    echo "Error Code: " . $err . "\n";
    echo "Message: " . $msg . "\n";
} else {
    echo "请求失败\n";
}
?>

Golang 示例:執行命令在伺服器的/tmp目錄下創建一個文件(basicShell/exec)

Go 語言使用net/url包來構建參數。

#GET
package main

import (
	"encoding/json"
	"fmt"
	"io/ioutil"
	"net/http"
	"net/url"
)

func main() {
	baseURL := "https://api.64clouds.com/v1/basicShell/exec"
	
	// 设置参数
	params := url.Values{}
	params.Add("veid", "YOUR_VEID")
	params.Add("api_key", "YOUR_API_KEY")
	params.Add("command", "touch /tmp/golang_test.txt") // 创建一个文件

	// 拼接 URL (Encode() 会自动处理空格和特殊字符)
	fullURL := fmt.Sprintf("%s?%s", baseURL, params.Encode())

	// 发送 GET 请求
	resp, err := http.Get(fullURL)
	if err != nil {
		fmt.Printf("请求失败: %s\n", err)
		return
	}
	defer resp.Body.Close()

	// 读取响应
	body, _ := ioutil.ReadAll(resp.Body)

	// 解析 JSON (可选)
	var result map[string]interface{}
	if err := json.Unmarshal(body, &result); err == nil {
		fmt.Printf("Error Code: %v\n", result["error"])
		fmt.Printf("Message: %v\n", result["message"])
	} else {
		fmt.Println(string(body))
	}
}

#POST
package main

import (
	"encoding/json"
	"fmt"
	"io/ioutil"
	"net/http"
	"net/url"
)

func main() {
	// 1. 这里的 URL 不需要拼接参数了,只写接口地址
	baseURL := "https://api.64clouds.com/v1/basicShell/exec"
	
	// 2. 设置参数 (这一步保持不变,还是用 url.Values)
	params := url.Values{}
	params.Set("veid", "YOUR_VEID")      // 习惯上用 Set 替换 Add (防止重复),效果一样
	params.Set("api_key", "YOUR_API_KEY")
	params.Set("command", "touch /tmp/golang_post_test.txt") // 改个文件名区分

	// 3. 发送 POST 请求 (核心修改)
	// http.PostForm 这个函数专门用于发送 form-data
	// 它会自动设置 Content-Type: application/x-www-form-urlencoded
	// 并且把 params 编码放在 Body 里
	resp, err := http.PostForm(baseURL, params)
	
	if err != nil {
		fmt.Printf("请求失败: %s\n", err)
		return
	}
	defer resp.Body.Close()

	//读取响应
	body, _ := ioutil.ReadAll(resp.Body)

	// 解析 JSON
	var result map[string]interface{}
	if err := json.Unmarshal(body, &result); err == nil {
		fmt.Printf("Error Code: %v\n", result["error"])
		fmt.Printf("Message: %v\n", result["message"])
	} else {
		fmt.Println(string(body))
	}
}

常見錯誤

這個是說沒有發現veid參數 有可能沒寫或者寫錯了

比如 https://api.64clouds.com/v1/getServiceInfo?这里缺少了veid&api_key=privateewww324242

這個自然就是缺少api_key啦

比如 https://api.64clouds.com/v1/getServiceInfo?veid=3232&这里缺少了api_key

API:invalidrequest 未驗證的請求

請求路徑錯誤…就是說https://api.64clouds.com/v1/stare?veid=33333&api_key=privateewww324242 把start錯誤拼寫成了stare

身份驗證失敗

veid或api_key錯誤

請注意

  • 當您的參數中含有特殊字符 例如調用basicShell/exec 接口執行ls -la /var/log指令時 https://api.64clouds.com/v1/basicShell/exec?veid=33333&api_key=privateewww324242&command=ls -la /var/log 您需要使用url編碼變為&command=ls%20-la%20%2Fvar%2Flog 具體怎樣url編碼和您使用的工具有關
  • 請妥善使用API 避免濫用等問題
  • 當您在短時間內執行過多的 API 調用時,KiwiVM API 可能會開始在幾分鐘內丟棄您的請求。此調用允許監控此事。詳情請查看 請求路徑 getRateLimitStatus 的描述和返回值列

官方API文檔的翻譯

更新時間utc 2026/01/20 05:58

請求路徑 參數 描述和返回值
start 啟動 VPS
stop 停止 VPS
restart 重啟 VPS
kill 允許強制停止一個卡死且無法通過正常手段停止的 VPS。請務必謹慎使用此功能,因為任何未保存的數據都將丟失
getServiceInfo 獲取服務信息

Returns (返回值)

vm_type: 虛擬化類型(ovz 或 kvm)

hostname: VPS 的主機名

node_alias: 物理節點的內部暱稱

node_location: 物理位置(國家,州/省)

location_ipv6_ready: 當前位置是否支持 IPv6

plan: 套餐名稱

plan_disk: 磁碟配額(字節)

plan_ram: 內存(字節)

plan_swap: SWAP 交換分區(字節)

os: 作業系統

email: 帳戶的主電子郵件地址

plan_monthly_data: 每月允許的數據傳輸量(字節)。需要乘以 monthly_data_multiplier(見下文)。

data_counter: 當前計費月份已使用的數據傳輸量。需要乘以 monthly_data_multiplier(見下文)。

monthly_data_multiplier: 某些位置提供更昂貴的帶寬;此變量包含帶寬核算係數。 data_next_reset: 傳輸計數器重置的日期和時間(UNIX 時間戳)

ip_addresses: 分配給 VPS 的 IPv4 地址和 IPv6 /64 子網(數組)private_ip_addresses: 分配給 VPS 的私有 IPv4 地址(數組)

ip_nullroutes: 關於 (D)DoS 攻擊期間 IP 地址空路由封禁的信息(數組)。

iso1: 已掛載的鏡像 #1

iso2: 已掛載的鏡像 #2(目前不支持)

available_isos: 可供使用的 ISO 鏡像數組

plan_max_ipv6s: 套餐允許的最大 IPv6 /64 子網數量

rdns_api_available: 是否可以通過 API 設置 rDNS 記錄plan_private_network_available: 此套餐是否可以使用私有網絡功能location_private_network_available: 此位置是否可以使用私有網絡功能

ptr: rDNS 記錄(二維數組:ip=>value)

suspended: VPS 是否被暫停

policy_violation: 是否有需要注意的活動策略違規(參見 getPolicyViolationssuspension_count: 本日曆年內服務被暫停的次數

total_abuse_points: 本日曆年內累計的濫用積分總數

max_abuse_points: 套餐在本日曆年內允許的最大濫用積分

[ip_nullroutes] => Array
        (
            [1.2.3.4] => Array
                (
                    [nullroute_timestamp] => 1556678627      // start of attack
                    [nullroute_duration_s] => 360            // duration of nullroute
                    [log] => "Packet dump data of the attack (multi-line)" // raw log of attack
                )


        )
getLiveServiceInfo 此函數返回 getServiceInfo 提供的所有數據。此外,它還提供 VPS 的詳細狀態。請注意,此調用可能需要長達 15 秒才能完成。

根據虛擬化程序的不同,此調用將返回以下信息:

Returns [OVZ hypervisor] (OVZ 虛擬化返回值)

vz_status: 包含 OpenVZ beancounters、系統平均負載、進程數、打開的文件、套接字、內存使用情況等的數組

vz_quota: 包含 OpenVZ 磁碟大小、inode 和使用情況信息的數組

is_cpu_throttled: 0 = CPU 未被限制,1 = 由於高使用率 CPU 被限制。限制每 2 小時自動重置一次。

ssh_port: VPS 的 SSH 埠

Returns [KVM hypervisor] (KVM 虛擬化返回值)

ve_status: Starting(啟動中)、Running(運行中)或 Stopped(已停止)ve_mac1: 主網絡接口的 MAC 地址

ve_used_disk_space_b: 已占用(映射)的磁碟空間(字節)

ve_disk_quota_gb: 磁碟鏡像的實際大小(GB)

is_cpu_throttled: 0 = CPU 未被限制,1 = 由於高使用率 CPU 被限制。限制每 2 小時自動重置一次。

is_disk_throttled: 0 = 磁碟 I/O 未被限制,1 = 由於高使用率磁碟 I/O 被限制。限制根據持續存儲 I/O 利用率每 15-180 分鐘自動重置一次。

ssh_port: VPS 的 SSH 埠(僅當 VPS 運行時返回)

live_hostname: 在 VPS 內部執行 "hostname" 命令的結果

load_average: 原始平均負載字符串

mem_available_kb: 可用內存量(KB)

swap_total_kb: Swap 總量(KB)

swap_available_kb: 可用 Swap 量(KB)

screendump_png_base64: VGA 控制台的 base64 編碼 png 截圖

getAvailableOS 獲取可用作業系統

Returns (返回值)

installed: 當前安裝的作業系統

templates: 可用作業系統的數組

reinstallOS os 重裝作業系統。必須通過 os 變量指定作業系統。使用 getAvailableOS 調用獲取可用系統列表。

Returns (返回值)

rootPassword: 新的 root 密碼

sshPort: SSH 埠

sshKeys: 上傳到 /root/.ssh/authorized_keys 的 SSH 密鑰

sshKeysBrief: SSH 密鑰(視覺展示用的縮短版)

notificationEmail: 完成時發送通知的電子郵件地址

updateSshKeys ssh_keys 更新 Hypervisor 保管庫中的每 VM SSH 密鑰。這些密鑰將在 reinstallOS 調用期間寫入 /root/.ssh/authorized_keys。這些密鑰將覆蓋計費門戶中設置的任何密鑰。
getSshKeys 獲取存儲在 Hypervisor 保管庫以及計費門戶中的 SSH 密鑰。

Returns (返回值)

ssh_keys_veid: 存儲在 Hypervisor 保管庫中的每 VM SSH 密鑰

ssh_keys_user: 存儲在計費門戶中的每帳戶 SSH 密鑰

ssh_keys_preferred: 在 reinstallOS 調用期間實際使用的 SSH 密鑰(每 VM 密鑰將始終覆蓋每帳戶密鑰)

shortened_ssh_keys_veid: 視覺縮短後的密鑰

shortened_ssh_keys_user: 視覺縮短後的密鑰

shortened_ssh_keys_preferred: 視覺縮短後的密鑰

resetRootPassword 生成並設置一個新的 root 密碼。

Returns (返回值)password: 新的 root 密碼

getUsageGraphs 已廢棄,請改用 getRawUsageStats
getRawUsageStats 返回一個二維數組,包含 KiwiVM 中「Detailed Statistics(詳細統計)」下顯示的詳細使用統計數據。
getAuditLog 返回一個數組,包含 KiwiVM 中「Audit Log(審計日誌)」下顯示的詳細審計日誌。
setHostname newHostname 設置新的主機名。
setPTR ip, ptr 為 IP 設置新的 PTR (rDNS) 記錄。
iso/mount iso 設置要引導的 ISO 鏡像。在此 API 調用後,VM 必須完全關機並重新啟動。
iso/unmount 移除 ISO 鏡像並配置 VM 從主存儲引導。在此 API 調用後,VM 必須完全關機並重新啟動。
basicShell/cd currentDir, newDir 模擬 VPS 內部的目錄更改。可用於構建類似「Basic shell」的 shell。

Returns (返回值)pwd: 更改後的 "pwd" 命令結果。

basicShell/exec command 在 VPS 上執行 shell 命令(同步)。

Returns (返回值)

error: 已執行命令的退出狀態代碼

message: 已執行命令的控制台輸出

shellScript/exec script 在 VPS 上執行 shell 腳本(異步)。

Returns (返回值)

log: 輸出日誌文件的名稱。

snapshot/create description (可選) 創建快照

Returns (返回值)

notificationEmail: 任務完成後將發送通知的文件中的電子郵件地址。

snapshot/list 獲取快照列表。

Returns (返回值)

snapshots: 快照數組(fileName, os, description, size, md5, sticky, purgesIn, downloadLink, downloadLinkSSL)。

snapshot/delete snapshot 按文件名刪除快照(可通過 snapshot/list 調用檢索)。
snapshot/restore snapshot 按文件名還原快照(可通過 snapshot/list 調用檢索)。這將覆蓋 VPS 上的所有數據。
snapshot/toggleSticky snapshot, sticky 設置或移除 sticky 屬性(「sticky」快照永遠不會被清除)。快照名稱可通過 snapshot/list

調用檢索——查找 fileName 變量。設置 sticky = 1 以設置 sticky 屬性設置 sticky = 0 以移除 sticky 屬性

snapshot/export snapshot 生成一個令牌 (token),通過該令牌可以將快照傳輸到另一個實例。
snapshot/import sourceVeid, sourceToken 從由 VEID 和 Token 標識的另一個實例導入快照。VEID 和 Token 必須事先通過 snapshot/export 調用從另一個實例獲得。
backup/list 獲取自動備份列表。

Returns (返回值)

backups: 備份數組(backupToken, size, os, md5, timestamp)。

backup/copyToSnapshot backupToken 將由 backupToken(由 backup/list 返回)標識的備份複製為可還原的快照。
ipv6/add 分配一個新的 IPv6 /64 子網。

Returns (返回值)assigned_subnet: 新分配的 IPv6 /64 子網

ipv6/delete ip 釋放指定的 IPv6 /64 子網。
migrate/getLocations 返回所有可能的遷移位置。

Returns (返回值)currentLocation: 當前位置的 ID

locations: 可遷移到的位置 ID

descriptions: 可用位置的友好描述

dataTransferMultipliers: 某些位置可能提供更昂貴的帶寬,其每月限額將更低。此數組包含每個位置的每月數據傳輸限額倍率。

migrate/start location 啟動 VPS 遷移到新位置。輸入新位置 ID。請注意,這將導致所有 IPv4 地址被替換。

Returns (返回值)

notificationEmail: 任務完成後將發送通知的文件中的電子郵件地址。

newIps: 分配給 VPS 的新 IP 地址數組。

cloneFromExternalServer externalServerIP, externalServerSSHport, externalServerRootPassword (僅限 OVZ) 克隆遠程伺服器或 VPS。請參閱「從另一台伺服器遷移」以了解其工作原理的示例。
getSuspensionDetails 檢索與服務暫停相關的信息。

Returns (返回值)suspension_count: 本日曆年內服務被暫停的次數

total_abuse_points: 本日曆年內累計的濫用積分總數max_abuse_points: 套餐在本日曆年內允許的最大濫用積分

suspensions: 所有未解決問題的數組以及濫用的支持證據。參見下方示例。 evidence: 投訴的全文或有關問題的更多詳細信息

服務暫停時的示例輸出:

[suspensions] => Array
        (
            [0] => stdClass Object
                (
                    [record_id] => 11851         // Case ID, needed to unsuspend 
                                                 // the service via "unsuspend" API call
                    [flag] => copyright          // Type of abuse
                    [is_soft] => 1               // 0 = must contact support to unsuspend
                                                 // 1 = can unsuspend via API call
                    [evidence_record_id] => 2207 // Detailed abuse report ID (see below)
                    [abuse_points] => 100        // Each abuse incident increases total_abuse_points counter
                )
        )


    [evidence] => stdClass Object
        (
            [2207] => "Full text of abuse complaint here"
        )


    [suspension_count] => 2
    [total_abuse_points] => 200
    [max_abuse_points] => 1500
getPolicyViolations 檢索與活動策略違規相關的信息。

Returns (返回值)total_abuse_points: 本日曆年內累計的濫用積分總數

max_abuse_points: 套餐在本日曆年內允許的最大濫用積分policy_violations: 所有未解決問題的數組以及濫用的支持證據。參見下方示例。

當存在活躍的策略違規時,

示例輸出如下

[policy_violations] => Array
        (
            [0] => Array
                (
                    [record_id] => 14            // Case ID, for resolvePolicyViolation 
                    [timestamp] => 1571469818    // Unix timestamp when record was created
                    [suspend_at] => 1571599418   // Service will be suspended if not resolved by this time
                    [flag] => copyright          // Type of abuse
                    [is_soft] => 1               // 0 = must contact support to unsuspend
                                                 // 1 = can unsuspend via API call
                    [abuse_points] => 100        // Each abuse incident increases total_abuse_points counter
                    [evidence_data] =>           // Details of violation (text)
                )


        )


    [total_abuse_points] => 200
    [max_abuse_points] => 1500
    [error] => 0
unsuspend record_id 清除由 record_id 標識的濫用問題並解封 VPS。詳情請參閱 getSuspensionDetails 調用。
resolvePolicyViolation record_id 將策略違規標記為已解決。這是避免服務暫停所必需的。詳情請參閱 getPolicyViolations 調用。
getRateLimitStatus 當您在短時間內執行過多的 API 調用時,KiwiVM API 可能會開始在幾分鐘內丟棄您的請求。此調用允許監控此事。

Returns (返回值)

remaining_points_15min: 當前 15 分鐘間隔內可使用的「點數」remaining_points_24h: 當前 24 小時間隔內可使用的「點數」

privateIp/getAvailableIps 返回所有可用的(空閒)IPv4 地址,您可以在 VM 上激活這些地址

Returns (返回值)available_ips: 可用私有 IP 地址的數組。

privateIp/assign ip (可選) 分配私有 IP 地址。如果未指定 IP 地址,將分配一個隨機地址。

Returns (返回值)assigned_ips: 成功分配的私有 IP 地址數組

privateIp/delete ip 刪除私有 IP 地址。
kiwivm/getNotificationPreferences 返回所有可用的通知設置及其狀態

Returns (返回值)email_preferences: 可用通知及其狀態的數組 notificationEmail: 當前配置的發送通知的電子郵件地址

kiwivm/setNotificationPreferences json_notification_preferences (json 格式的數組, preference_id:0/1) 更改通知首選項

Returns (返回值)

submitted_email_preferences: 已提交更改的數組updated_email_preferences: 實際已更改的首選項數組friendly_descriptions: 所有首選項的友好描述