Referensi Clousd API.
Semua rute Clousd API v1, 71 operasi, dikelompokkan sesuai cara Anda memakainya. Parameter, body permintaan, dan respons ada di file OpenAPI.
Setiap permintaan
# base URL https://api.clousd.com/v1 # header Authorization: Bearer cl_live_your_key # errors are JSON { "error": "busy", "message": "…" }
Semua rute.
Dasar
| Hal | Nilai | Catatan |
|---|---|---|
| Base URL | https://api.clousd.com/v1 | Hanya HTTPS, JSON untuk masuk dan keluar |
| Autentikasi | Authorization: Bearer cl_live_… | Kunci dibuat di dasbor, dengan cakupan baca atau kendali dan daftar perangkat |
| Operasi lama | 202 Accepted → GET /v1/jobs/{id} | Buat, nyalakan, pulihkan, dan panggilan serupa mengembalikan job untuk dipantau |
| Error | { "error": "busy", "message": "…" } | Kode singkat untuk percabangan kode dan pesan untuk dibaca orang |
| Spesifikasi lengkap | openapi-v1.yaml | OpenAPI 3.1 dengan parameter, body, dan respons |
Tugas
| Metode | Rute | Fungsinya |
|---|---|---|
| GET | /v1/schedules | Jadwal milik kunci ini |
| POST | /v1/schedules | Tugas yang berjalan sendiri - harian, per jam, atau saat Anda memanggilnya |
| POST | /v1/schedules/{id}/toggle | Jeda atau lanjutkan jadwal |
| POST | /v1/schedules/{id}/delete | Hapus jadwal |
| POST | /v1/runs | Beri satu atau beberapa ponsel tugas dengan kata-kata biasa |
| GET | /v1/runs | Run milik kunci ini, terbaru lebih dulu |
| GET | /v1/runs/{id} | Satu run - status, jawaban, structured_output, card yang sedang ditunggu |
| DELETE | /v1/runs/{id} | Hapus run yang selesai beserta langkah dan screenshot-nya |
| GET | /v1/runs/{id}/events | Event langsung sebagai Server-Sent Events |
| GET | /v1/runs/{id}/trajectory | Setiap langkah - alat, target, hasil, apakah layarnya disimpan |
| GET | /v1/runs/{id}/steps/{n}.jpg | Layar sebelum langkah n |
| POST | /v1/runs/{id}/answer | Jawab card pada run - pertanyaan (answer) atau izin (allow / decline) |
| POST | /v1/runs/{id}/message | Sampaikan sesuatu ke agen yang sedang bekerja; agen membacanya sebelum langkah berikutnya |
| POST | /v1/runs/{id}/cancel | Hentikan run |
| POST | /v1/schedules/{id}/run | Mulai jadwal sekarang - pemicu untuk trigger=api |
| GET | /v1/credentials | Login tersimpan - paket, nama, dan kolom yang sudah diisi; nilainya tidak pernah dikembalikan |
| POST | /v1/credentials | Simpan login untuk aplikasi |
| POST | /v1/credentials/{id}/fields | Isi satu kolom login |
| DELETE | /v1/credentials/{id}/fields/{type} | Hapus satu kolom login |
| DELETE | /v1/credentials/{id} | Hapus login |
Perangkat
| Metode | Rute | Fungsinya |
|---|---|---|
| GET | /v1/devices | Perangkat yang terlihat oleh kunci ini |
| POST | /v1/devices | Buat perangkat (ditagih ke akun pemilik kunci API) |
| GET | /v1/devices/{name} | Satu perangkat |
| POST | /v1/devices/{name}/start | Nyalakan perangkat |
| POST | /v1/devices/{name}/stop | Matikan perangkat (keadaan tetap tersimpan; perangkat yang dimatikan tidak dikenai biaya) |
| POST | /v1/devices/{name}/restart | Restart perangkat |
| GET | /v1/devices/{name}/ice | Server ICE untuk penampil WebRTC perangkat ini: TURN dari server perangkat dengan kredensial sementara (kunci read sudah cukup) |
| GET | /v1/devices/{name}/quality | Kualitas per kategori (pengukuran terakhir) |
| POST | /v1/devices/{name}/reset | Reset perangkat ke kondisi baru: aplikasi dan data dihapus, ponsel kembali seperti baru (model dan Android sama, 1-5 mnt) |
| GET | /v1/devices/{name}/screenrecord | Rekam layar selama beberapa detik |
| POST | /v1/devices/{name}/label | Beri ponsel nama yang mudah dibedakan orang dan agen ("Pixel QA"); kosong = kembali ke "Model #N" |
| GET | /v1/balance | Keuangan akun - saldo, pengeluaran per hari, sisa jam, perpanjangan, dan peringatan untuk pengguna |
| GET | /v1/models | Model yang bisa dipakai untuk membuat perangkat |
AI agent
| Metode | Rute | Fungsinya |
|---|---|---|
| GET | /v1/devices/{name}/observe | Tampilan terbaru ponsel - screenshot, pohon UI, dan aplikasi di layar dalam satu panggilan |
| POST | /v1/devices/{name}/act | Satu tindakan, lalu tunggu sampai layar berhenti berubah |
| POST | /v1/devices/{name}/op | Satu primitif inti (protokol inti Lusiesta, satu banding satu) |
Layar dan input
| Metode | Rute | Fungsinya |
|---|---|---|
| GET | /v1/devices/{name}/screenshot | Layar sebagai PNG; dengan w berupa JPEG yang lebih kecil (di-cache hingga 10 dtk - pakai /observe untuk frame baru) |
| POST | /v1/devices/{name}/action | Satu tindakan di ponsel (tanpa menunggu) |
| POST | /v1/devices/{name}/input | Sentuh, tombol, teks, scroll, clipboard, putar layar (perlu sesi stream langsung) |
| GET | /v1/devices/{name}/logs | Baris logcat terbaru |
| GET | /v1/devices/{name}/stream | Angka stream langsung - fps, bitrate, jeda penonton, tingkat ABR (kunci read sudah cukup) |
| POST | /v1/devices/{name}/stream | WebRTC - SDP offer masuk, SDP answer keluar; body dengan bitrate_kbps justru mengunci tingkat kualitas (kunci control) |
| POST | /v1/devices/{name}/stream/probe | Uji latensi untuk penonton langsung: menarik panel notifikasi selama 600 ms dan mengembalikan jam gateway (kunci control, maksimal sekali per 5 dtk per perangkat) |
Jaringan
| Metode | Rute | Fungsinya |
|---|---|---|
| GET | /v1/devices/{name}/network | Negara jaringan perangkat |
| POST | /v1/devices/{name}/network | Atur negara asal koneksi perangkat (zona waktu dan bahasa ikut menyesuaikan) |
| GET | /v1/network/options | Pilihan yang tersedia saat ini untuk membuat perangkat - negara dan paket |
Aplikasi
| Metode | Rute | Fungsinya |
|---|---|---|
| POST | /v1/devices/{name}/apk | Instal APK |
| GET | /v1/apps | Katalog aplikasi - yang bisa diinstal saat ini |
| GET | /v1/devices/{name}/apps | Aplikasi katalog yang terinstal di perangkat |
| POST | /v1/devices/{name}/apps | Instal aplikasi dari katalog (kunci control) |
ADB
| Metode | Rute | Fungsinya |
|---|---|---|
| GET | /v1/devices/{name}/adb | Status sesi ADB |
| POST | /v1/devices/{name}/adb | Buka sesi ADB lewat relay (kode |
| DELETE | /v1/devices/{name}/adb | Tutup sesi ADB |
File dan media
| Metode | Rute | Fungsinya |
|---|---|---|
| PUT | /v1/devices/{name}/files | Taruh file di ponsel (push) - body berisi file, path di bawah /sdcard/ atau /data/local/tmp/ |
| POST | /v1/devices/{name}/media | Media dari pustaka ke ponsel seolah direkam dengan ponsel itu (push), hapus yang kami taruh (clean), atau tampilkan daftarnya |
| GET | /v1/media | Pustaka Media - foto dan video beserta id-nya |
| POST | /v1/media | Unggah foto atau video - {name, data_b64, folder}, hingga 25 MB |
| POST | /v1/media/send | Salin file pustaka ke galeri ponsel |
Webhook
| Metode | Rute | Fungsinya |
|---|---|---|
| GET | /v1/webhooks | Webhook milik kunci ini dan event yang bisa diikuti (run.completed / failed / cancelled / waiting, device.problem / resolved) |
| POST | /v1/webhooks | Daftarkan URL https |
| GET | /v1/webhooks/{id} | Satu webhook |
| DELETE | /v1/webhooks/{id} | Hapus webhook |
| POST | /v1/webhooks/{id}/rotate | Secret baru (ditampilkan sekali) |
| POST | /v1/webhooks/{id}/toggle | Jeda atau lanjutkan pengiriman |
| POST | /v1/webhooks/{id}/test | Kirim event uji sekarang |
| GET | /v1/webhooks/{id}/deliveries | Pengiriman terbaru beserta status dan waktu respons |
Akun
| Metode | Rute | Fungsinya |
|---|---|---|
| GET | /v1/usage | Menit waktu menyala per perangkat per hari (UTC) selama sebulan |
| GET | /v1/incidents | Insiden di perangkat Anda (100 terakhir, terbaru lebih dulu) |
| GET | /v1/health | Kesehatan perangkat Anda (diukur setiap 5 menit) |
| GET | /v1/jobs | 50 job terakhir perangkat Anda |
| GET | /v1/jobs/{id} | Status operasi yang lama |