CLOUSD
免費註冊
了解基準測試Agent 在 Clousd 手機上的成績部落格即將推出指南、深度解析與實戰筆記比較即將推出Clousd 與其他方案比較
開發整合即將推出MCP、Claude Code、Codex、Cursor、n8nGitHubSDK、MCP 伺服器與範例
閱讀文件

Clousd API 參考文件。

Clousd API v1 的所有路由,共 71 個操作,依使用情境分組。參數、請求主體和回應請見 OpenAPI 檔案。

每個請求
# base URL
https://api.clousd.com/v1

# header
Authorization: Bearer cl_live_your_key

# errors are JSON
{ "error": "busy", "message": "…" }

基本資訊

項目值說明
基本網址(Base URL)https://api.clousd.com/v1僅限 HTTPS,請求與回應皆為 JSON
驗證Authorization: Bearer cl_live_…金鑰在控制台建立,可限定為 read 或 control 權限,以及指定的裝置清單
耗時操作202 Accepted → GET /v1/jobs/{id}建立、開機、恢復等呼叫會回傳一項需要輪詢的工作
錯誤{ "error": "busy", "message": "…" }一個供程式判斷的簡短代碼,加上一段給人看的訊息
完整規格openapi-v1.yamlOpenAPI 3.1,含參數、請求主體與回應

任務

方法路由用途
GET/v1/schedules這組金鑰的排程
POST/v1/schedules自動執行的任務:每天、每小時,或在你呼叫時執行
POST/v1/schedules/{id}/toggle暫停或繼續排程
POST/v1/schedules/{id}/delete刪除排程
POST/v1/runs用白話把任務交給一台或多台手機
GET/v1/runs這組金鑰的執行紀錄,最新的在前
GET/v1/runs/{id}單次執行:狀態、結果、structured_output,以及它正在等待的卡片
DELETE/v1/runs/{id}刪除已結束的執行,連同步驟和截圖
GET/v1/runs/{id}/events以 Server-Sent Events 推送即時事件
GET/v1/runs/{id}/trajectory每一步:工具、目標、結果、畫面是否保留
GET/v1/runs/{id}/steps/{n}.jpg第 n 步之前的畫面
POST/v1/runs/{id}/answer回覆執行的卡片:問題(answer)或授權(allow / decline)
POST/v1/runs/{id}/message傳訊息給執行中的 Agent,它會在下一步之前讀取
POST/v1/runs/{id}/cancel停止執行
POST/v1/schedules/{id}/run立即開始排程,也就是 trigger=api 的觸發方式
GET/v1/credentials已儲存的登入資訊:套件名稱、名稱和哪些欄位已設定;絕不回傳值
POST/v1/credentials為 App 儲存登入資訊
POST/v1/credentials/{id}/fields設定登入資訊的某個欄位
DELETE/v1/credentials/{id}/fields/{type}移除登入資訊的某個欄位
DELETE/v1/credentials/{id}刪除登入資訊

裝置

方法路由用途
GET/v1/devices這組金鑰看得到的裝置
POST/v1/devices建立裝置(費用記在 API 金鑰所屬的帳戶)
GET/v1/devices/{name}單一裝置
POST/v1/devices/{name}/start裝置開機
POST/v1/devices/{name}/stop裝置關機(狀態會保留;關機的裝置不收費)
POST/v1/devices/{name}/restart重新啟動裝置
GET/v1/devices/{name}/ice這台裝置 WebRTC 觀看端的 ICE 伺服器:裝置所在主機的 TURN 與臨時憑證(read 金鑰即可)
GET/v1/devices/{name}/quality各類別品質分數(最近一次量測)
POST/v1/devices/{name}/reset把裝置重設為全新狀態:清除 App 和資料,手機恢復如新(機型與 Android 版本不變,1–5 分鐘)
GET/v1/devices/{name}/screenrecord錄製幾秒鐘的畫面
POST/v1/devices/{name}/label替手機取一個人和 Agent 都能分辨的名稱(例如「Pixel QA」);留空則恢復為「機型 #N」
GET/v1/balance帳戶金額:餘額、每日花費、剩餘時數、續訂資訊,以及要提醒使用者的事項
GET/v1/models可用來建立裝置的機型

AI Agent

方法路由用途
GET/v1/devices/{name}/observe一次呼叫重新查看手機:截圖、UI 樹和畫面上的 App
POST/v1/devices/{name}/act執行一個動作,然後等畫面不再變化
POST/v1/devices/{name}/op一個核心基本操作(與 Lusiesta 核心協定一對一對應)

畫面與輸入

方法路由用途
GET/v1/devices/{name}/screenshot以 PNG 回傳畫面;帶 w 參數時回傳較小的 JPEG(最多快取 10 秒,要最新畫面請用 /observe)
POST/v1/devices/{name}/action在手機上執行一個動作(不等待)
POST/v1/devices/{name}/input觸控、按鍵、文字、捲動、剪貼簿、旋轉(需要即時畫面工作階段)
GET/v1/devices/{name}/logs最近的 logcat 紀錄
GET/v1/devices/{name}/stream即時畫面數據:fps、位元率、觀看端延遲、ABR 層級(read 金鑰即可)
POST/v1/devices/{name}/streamWebRTC:傳入 SDP offer,回傳 SDP answer;主體帶 bitrate_kbps 時則改為固定畫質層級(control 金鑰)
POST/v1/devices/{name}/stream/probe即時觀看端的延遲測試:拉下通知欄 600 毫秒並回傳閘道時鐘(control 金鑰,每台裝置每 5 秒最多一次)

網路

方法路由用途
GET/v1/devices/{name}/network裝置的網路國家
POST/v1/devices/{name}/network設定裝置連線的國家(時區和語系會跟著變)
GET/v1/network/options目前建立裝置時可選的項目:國家與方案

App

方法路由用途
POST/v1/devices/{name}/apk安裝 APK
GET/v1/appsApp 目錄:目前可以安裝的 App
GET/v1/devices/{name}/apps裝置上已安裝的目錄 App
POST/v1/devices/{name}/apps安裝目錄中的 App(control 金鑰)

ADB

方法路由用途
GET/v1/devices/{name}/adbADB 工作階段狀態
POST/v1/devices/{name}/adb透過中繼開啟 ADB 工作階段(驗證碼
DELETE/v1/devices/{name}/adb關閉 ADB 工作階段

檔案與媒體

方法路由用途
PUT/v1/devices/{name}/files把檔案放到手機上(push):主體即檔案,路徑須在 /sdcard/ 或 /data/local/tmp/ 底下
POST/v1/devices/{name}/media把媒體庫的檔案放到手機上,就像用這台手機拍的(push);移除放進去的檔案(clean);或列出它們
GET/v1/media媒體庫:照片和影片及其 id
POST/v1/media上傳照片或影片:{name, data_b64, folder},最大 25 MB
POST/v1/media/send把媒體庫檔案複製到手機相簿

Webhook

方法路由用途
GET/v1/webhooks這組金鑰的 Webhook,以及可訂閱的六種事件(任務完成、失敗、取消、等待,手機異常與恢復)
POST/v1/webhooks訂閱一個 https 網址
GET/v1/webhooks/{id}單一 Webhook
DELETE/v1/webhooks/{id}刪除
POST/v1/webhooks/{id}/rotate新的簽章密鑰(只顯示一次)
POST/v1/webhooks/{id}/toggle暫停或繼續傳送
POST/v1/webhooks/{id}/test立即送出測試事件
GET/v1/webhooks/{id}/deliveries近期傳送紀錄,含狀態與回應時間

帳戶

方法路由用途
GET/v1/usage一個月內每台裝置每天(UTC)的執行分鐘數
GET/v1/incidents你的裝置發生的異常事件(最近 100 筆,最新的在前)
GET/v1/health你的裝置的健康狀態(每 5 分鐘量測一次)
GET/v1/jobs你的裝置最近 50 項工作
GET/v1/jobs/{id}耗時操作的狀態