VMOSCloud OpenAPI Developer Quick Reference
VMOSCloud cloud phone OpenAPI quick reference · Suitable for AI tools to read directly
This page is an AI quick reference for LLMs and code assistants to parse API paths, methods, and purposes. For detailed request/response parameters and examples, see API Documentation.
📥 Download plain text version — Suitable for AI tools to read directly
How to get it:
- Browser download: Click here to download llms-ai-reference.txt, or open
https://your-docs-domain/vmoscloud/doc/en/server/llms-ai-reference.txt(if the browser opens the file instead of downloading, right‑click the link and choose “Save link as”). - Command line:
curl https://your-docs-domain/vmoscloud/doc/en/server/llms-ai-reference.txt -o vmoscloud-api.txt - Online preview: Open the URL above in a browser to view the raw text (set encoding to UTF-8 if you see garbled characters).
Other options: This page is in Markdown for parsing; for full API parameters and examples see API Documentation, for authentication and signing see Getting Started.
🔐 Authentication (required)
Authentication
This API uses V2 SHA-256 signature verification.
Request headers (required for every request)
| Header | Description | Example |
|---|---|---|
| X-Access-Key | Access Key ID | ak_xxxxxxxxxxxx |
| X-Timestamp | 10-digit unix-seconds timestamp | 1747555200 |
| X-Sign | 64-character hex signature | 6069dfb4cb3ac57b… |
| Content-Type | Resource MIME type | application/json |
Signature format
signString = SK + X-Timestamp + path + bodyOrQuery
X-Sign = lowerHex(SHA-256(signString_UTF8))
For signing steps and sample code, see Getting Started.
📡 Base information
| Item | Value |
|---|---|
| Base URL | https://api.vmoscloud.com |
| Path prefix | /vcpcloud/api/padApi/ (most APIs) |
| Response format | JSON { code, msg, ts, data } |
| Success code | code=200 |
📚 API by category
1️⃣ Instance Management
| API | Method | Path | Description |
|---|---|---|---|
| Modify instance WIFI properties | POST | /vcpcloud/api/padApi/setWifiList | Modify WIFI list properties of specified instance |
| Instance details | POST | /vcpcloud/api/padApi/padDetails | Query instance properties |
| Instance restart | POST | /vcpcloud/api/padApi/restart | Restart specified instance |
| Instance reset | POST | /vcpcloud/api/padApi/reset | Clear all cloud instance data |
| Query instance properties | POST | /vcpcloud/api/padApi/padProperties | Query instance system/settings properties |
| Batch query instance properties | POST | /vcpcloud/api/padApi/batchPadProperties | Batch query instance properties |
| Modify instance properties | POST | /vcpcloud/api/padApi/updatePadProperties | Dynamically modify instance properties |
| Modify instance Android modification props | POST | /vcpcloud/api/padApi/updatePadAndroidProp | Static modification props, restart required |
| Modify SIM by country code | POST | /vcpcloud/api/padApi/updateSIM | Random SIM by country and restart |
| Modify SIM by country and phone number | POST | /vcpcloud/api/padApi/updateSIMByCountryAndPhone | Set phone number and select a random carrier |
| Stop streaming | POST | /vcpcloud/api/padApi/dissolveRoom | Stop streaming for specified instance |
| Smart IP proxy detection | POST | /vcpcloud/api/padApi/checkIP | Detect proxy IP and location |
| Set smart IP | POST | /vcpcloud/api/padApi/smartIp | Set smart IP (exit IP, SIM, GPS, etc.) |
| Cancel smart IP | POST | /vcpcloud/api/padApi/notSmartIp | Cancel smart IP |
| Device task result query | POST | /vcpcloud/api/padApi/getTaskStatus | Query smart IP task result |
| Get installed apps for specified instances | POST | /vcpcloud/api/padApi/getListInstalledApp | Get installed app info for specified instances |
| Modify instance timezone | POST | /vcpcloud/api/padApi/updateTimeZone | Modify instance timezone |
| Modify instance language | POST | /vcpcloud/api/padApi/updateLanguage | Modify instance language |
| Set instance GPS | POST | /vcpcloud/api/padApi/gpsInjectInfo | Set instance latitude/longitude |
| Query instance proxy info | POST | /vcpcloud/api/padApi/proxyInfo | Query instance proxy info |
| One-key new device | POST | /vcpcloud/api/padApi/replacePad | Clear data and reset Android properties |
| Query one-key new device supported countries | GET | /vcpcloud/api/padApi/country | One-key new device supported countries |
| Query available WebView versions | POST | /vcpcloud/api/padApi/webview/version/list | Query all available WebView versions |
| Update contacts | POST | /vcpcloud/api/padApi/updateContacts | Update contacts |
| Set instance proxy | POST | /vcpcloud/api/padApi/setProxy | Set proxy for specified instance |
| Real-time query installed app list | POST | /vcpcloud/api/padApi/listInstalledApp | Real-time query installed apps |
| Set app keep-alive | POST | /vcpcloud/api/padApi/setKeepAliveApp | Set app keep-alive (Android 13/14/15) |
| Set app hide | POST | /vcpcloud/api/padApi/setHideAppList | Send hide package list |
| Modify real device ADI template | POST | /vcpcloud/api/padApi/replaceRealAdiTemplate | Modify cloud real device ADI template |
| Async execute ADB command | POST | /vcpcloud/api/padApi/asyncCmd | Async execute command |
| Enable outbound SMS callback | POST | /vcpcloud/api/padApi/enableSmsSendCallback | Enable SMS sending event callbacks |
| Switch Root permission | POST | /vcpcloud/api/padApi/switchRoot | Switch root permission |
| Local screenshot | POST | /vcpcloud/api/padApi/screenshot | Instance screenshot |
| Get instance real-time preview image | POST | /vcpcloud/api/padApi/getLongGenerateUrl | Get real-time preview image URL |
| Upgrade image | POST | /vcpcloud/api/padApi/upgradeImage | Batch instance image upgrade |
| Upgrade real device image | POST | /vcpcloud/api/padApi/virtualRealSwitch | Batch real device image upgrade |
| List Personal Uploaded Templates | POST | /vcpcloud/api/padApi/userTemplateList | Own uploaded ADI templates; page, rows, id, templateId |
| Paginated get real device templates | POST | /vcpcloud/api/padApi/templateList | Paginated get real device templates |
| Batch get instance model info | POST | /vcpcloud/api/padApi/modelInfo | Batch get model info |
| Enable/disable ADB | POST | /vcpcloud/api/padApi/openOnlineAdb | Enable or disable instance ADB |
| Get ADB connection info | POST | /vcpcloud/api/padApi/adb | Get ADB connection info |
| Batch get ADB connection info | POST | /vcpcloud/api/padApi/batch/adb | Batch get/disable ADB |
| Simulate touch | POST | /vcpcloud/api/padApi/simulateTouch | Simulate touch event |
| Instance operation task details | POST | /vcpcloud/api/padApi/padTaskDetail | Query instance operation task result |
| Get instance script execution result | POST | /vcpcloud/api/padApi/executeScriptInfo | Get script execution result |
| Get instance screenshot result | POST | /vcpcloud/api/padApi/screenshotInfo | Get screenshot result by task ID |
| Instance restart/reset execution result | POST | /vcpcloud/api/padApi/padExecuteTaskInfo | Restart/reset task result |
| Instance group list | POST | /vcpcloud/api/padApi/infos | Instance group list (infos also used for instance list) |
| Import call records | POST | /vcpcloud/api/padApi/addPhoneRecord | Import call records |
| Cloud phone text input | POST | /vcpcloud/api/padApi/inputText | Input text in focused input box |
| Simulate send SMS | POST | /vcpcloud/api/padApi/simulateSendSms | Simulate sending SMS to instance |
| Configure simulated SMS automation | POST | /vcpcloud/api/padApi/simulatedSms/configure | Enable or disable; rotation restarts the instance |
| Create simulated SMS record | POST | /vcpcloud/api/padApi/simulatedSms/send | Allocate a simulated status without sending real SMS |
| Query simulated SMS status | POST | /vcpcloud/api/padApi/simulatedSms/status | Query rotation, batch and individual request results |
| Reset GAID | POST | /vcpcloud/api/padApi/resetGAID | Reset advertising ID |
| Inject audio to instance microphone | POST | /vcpcloud/api/padApi/injectAudioToMic | Inject audio to microphone |
| Clear processes and return to desktop | POST | /vcpcloud/api/padApi/cleanAppHome | Clear processes and return to desktop |
| Unmanned live streaming | POST | /vcpcloud/api/padApi/unmannedLive | Instance video injection |
| Image injection | POST | /vcpcloud/api/padApi/injectPicture | Instance image injection |
| Upload user image | POST | /vcpcloud/api/padApi/addUserRom | Upload user image |
| Device replacement | POST | /vcpcloud/api/padApi/replacement | Device replacement |
| Transfer cloud phone | POST | /vcpcloud/api/padApi/confirmTransfer | Transfer cloud phone to another account |
| Hide accessibility service | POST | /vcpcloud/api/padApi/setHideAccessibilityAppList | Hide accessibility service |
2️⃣ Resource Management
| API | Method | Path | Description |
|---|---|---|---|
| Instance list info | POST | /vcpcloud/api/padApi/infos | Paginated query ordered instance list |
3️⃣ Application Management
| API | Method | Path | Description |
|---|---|---|---|
| Uninstall app | POST | /vcpcloud/api/padApi/uninstallApp | Uninstall by instance and package name |
| Start app | POST | /vcpcloud/api/padApi/startApp | Start app by instance and package name |
| Stop app | POST | /vcpcloud/api/padApi/stopApp | Stop app |
| Restart app | POST | /vcpcloud/api/padApi/restartApp | Restart app |
| Instance installed app list query | POST | /vcpcloud/api/padApi/listInstalledApp | Query instance installed apps |
| Upload file via URL | POST | /vcpcloud/api/padApi/uploadFileV3 | Upload via URL with optional install |
| Upload file to cloud storage | POST | /vcpcloud/api/padApi/uploadFile | Upload file to cloud storage |
| Delete cloud storage files | POST | /vcpcloud/api/padApi/deleteOssFiles | Delete cloud storage files |
| Query user file list | POST | /vcpcloud/api/padApi/selectFiles | Query user file list |
4️⃣ Task Management
| API | Method | Path | Description |
|---|---|---|---|
| Instance operation task details | POST | /vcpcloud/api/padApi/padTaskDetail | Query instance operation task execution result |
| File task details | POST | /vcpcloud/api/padApi/fileTaskDetail | Query file task execution result |
5️⃣ Cloud Phone Management
| API | Method | Path | Description |
|---|---|---|---|
| Create/renew cloud phone | POST | /vcpcloud/api/padApi/createMoneyOrder | Create or renew cloud phone |
| Query Account Transactions (Bill Export) | POST | /vcpcloud/api/padApi/selectPaidOrderList | Account transactions including timing-device charges |
| Cloud phone list | POST | /vcpcloud/api/padApi/userPadList | Cloud phone list |
| List Device Groups | POST | /vcpcloud/api/padApi/padGroupList | Returns groupId and groupName, including empty groups |
| List Devices by Group | POST | /vcpcloud/api/padApi/padGroupDevices | Device group ID; omit for all groups |
| Cloud phone info query | POST | /vcpcloud/api/padApi/padInfo | Cloud phone info query |
| SKU package list | GET | /vcpcloud/api/padApi/getCloudGoodList | SKU package list |
| Device presale purchase | POST | /vcpcloud/api/padApi/createMoneyProOrder | Device presale purchase |
| Query presale order result details | POST | /vcpcloud/api/padApi/queryProOrderList | Presale order details |
| Android image version list | POST | /vcpcloud/api/padApi/imageVersionList | Upgradable image list |
| List timing device models | GET | /vcpcloud/api/padApi/timingDeviceModels | List models by Android version |
| Create timing device order | POST | /vcpcloud/api/padApi/createByTimingOrder | Create timing device order |
| Timing device power on | POST | /vcpcloud/api/padApi/timingPadOn | Timing device power on |
| Timing device power off | POST | /vcpcloud/api/padApi/timingPadOff | Keeps the environment by default |
| List timing device power logs | POST | /vcpcloud/api/padApi/timingPadPowerLogList | List power-on and power-off records |
| Timing device destroy | POST | /vcpcloud/api/padApi/timingPadDel | Timing device destroy |
| Storage resource package list | GET | /vcpcloud/api/padApi/vcTimingBackupList | Storage resource package list |
| Cloud storage remaining capacity | GET | /vcpcloud/api/padApi/getRenewStorageInfo | Cloud storage remaining capacity |
| Cloud storage product list | GET | /vcpcloud/api/padApi/getVcStorageGoods | Cloud storage product list |
| Purchase cloud storage expansion | POST | /vcpcloud/api/padApi/buyStorageGoods | Purchase cloud storage expansion |
| Cloud storage renewal details query | GET | /vcpcloud/api/padApi/selectAutoRenew | Cloud storage renewal details |
| Aggregate renew cloud storage products | POST | /vcpcloud/api/padApi/renewsStorageGoods | Aggregate renew cloud storage products |
| Cloud storage auto-renewal switch | GET | /vcpcloud/api/padApi/updateRenewStorageStatus | Cloud storage auto-renewal switch |
| Delete backup resource package data | POST | /vcpcloud/api/padApi/deleteUploadFiles | Delete backup resource package |
| Calculate pad backup size | POST | /vcpcloud/api/padApi/backupCalculate | Calculate one pad backup size asynchronously |
| Query pad backup size | POST | /vcpcloud/api/padApi/queryBackupCalculateResult | Query status and estimated bytes |
| Create pad backups | POST | /vcpcloud/api/padApi/addBackup | Batch create cloud-disk backups |
| Clone from cloud backup | POST | /vcpcloud/api/padApi/clonePadBackup | Returns batchId and padCount after submission |
| Query backup or clone batch progress | POST | /vcpcloud/api/padApi/queryBackupBatch | Query status and taskId by batchId |
| Show or hide app process | POST | /vcpcloud/api/padApi/toggleProcessHide | Show or hide app process |
Clone Task Queries
clonePadBackup returns data.batchId. Pass it as batchId to queryBackupBatch to query a batch owned by the current account. Each entry in data.items contains padCode, taskId, status, and optional failMsg.
taskId is an empty string until available. Once available, pass it in the taskIds array to padTaskDetail. If status=3, check failMsg; a failed task may have no taskId.
Account Transaction Query Parameters
POST /vcpcloud/api/padApi/selectPaidOrderList
| Parameter | Description |
|---|---|
| orderId | Exact order ID |
| recordId | Exact transaction number |
| type | Direction: 1 credit, 2 debit |
| tradeType | Transaction type; see below |
| businessType | Compatibility alias for tradeType |
| completeStartTime | Inclusive transaction time lower bound |
| completeEndTime | Inclusive transaction time upper bound |
| page | Page number; default 1, minimum 1 |
| rows | Page size; default 10, range 1–100 |
Only successful transactions (status=1) belonging to the current account are returned. Amounts are in cents: amount retains its sign, with negative debits and positive credits. Times use yyyy-MM-dd HH:mm:ss in Asia/Shanghai. Both time bounds are inclusive, and the end cannot precede the start. Omit type to include both credits and debits. Results are ordered by record creation time descending, then record ID descending. Keep filters unchanged when paging for export.
businessType is a compatibility alias for tradeType and uses the account transaction types below, not the former order business types. If both are supplied, they must match. The endpoint path is unchanged; records now contains transaction entries. The former orderPrice, payPrice, orderStatus, goodNum, goodName, and response businessType fields are replaced by the statement fields below.
Response data includes current, size, total, pages, and records. Transaction fields: id、orderId、type、amount、status、completeTime、createTime、remarks。
Use tradeType=12 and type=2 for timing-device balance charges.
6️⃣ Email Verification Service
| API | Method | Path | Description |
|---|---|---|---|
| Get email service list | GET | /vcpcloud/api/padApi/getEmailServiceList | Email service list |
| Get email type and remaining stock | GET | /vcpcloud/api/padApi/getEmailTypeList | Email type and stock |
| Create email order | POST | /vcpcloud/api/padApi/createEmailOrder | Create email order |
| Query purchased email list | GET | /vcpcloud/api/padApi/getEmailOrder | Purchased email list |
| Refresh get email verification code | GET | /vcpcloud/api/padApi/getEmailCode | Refresh get verification code |
7️⃣ Dynamic Proxy Service
| API | Method | Path | Description |
|---|---|---|---|
| Query dynamic proxy product list | GET | /vcpcloud/api/padApi/getDynamicGoodService | Dynamic proxy product list |
| Query dynamic proxy region list | GET | /vcpcloud/api/padApi/getDynamicProxyRegion | Dynamic proxy region list |
| Get dynamic proxy current balance | GET | /vcpcloud/api/padApi/queryCurrentTrafficBalance | Current traffic balance |
| Query supported server regions | GET | /vcpcloud/api/padApi/getDynamicProxyHost | Supported server regions |
| Purchase dynamic proxy traffic package | POST | /vcpcloud/api/padApi/buyDynamicProxy | Purchase dynamic proxy traffic package |
| Create dynamic proxy | POST | /vcpcloud/api/padApi/createProxy | Create dynamic proxy |
| Query dynamic proxy list (paginated) | GET | /vcpcloud/api/padApi/getProxys | Dynamic proxy list |
| Query dynamic proxy order list (paginated) | POST | /vcpcloud/api/padApi/getDynamicProxyOrders | Dynamic proxy order list |
| Configure dynamic proxy for instances | POST | /vcpcloud/api/padApi/batchPadConfigProxy | Configure dynamic proxy for instances |
| Query batch instance set proxy task | POST | /vcpcloud/api/padApi/selectBatchPadProxyTask | Batch set proxy task result |
| Query dynamic proxy auto-renewal info | GET | /vcpcloud/api/padApi/getDynamicProxyAutomaticRenewal | Auto-renewal info |
| Set dynamic proxy auto-renewal switch | POST | /vcpcloud/api/padApi/setAutoRenewSwitch | Auto-renewal switch |
| Delete dynamic proxy | POST | /vcpcloud/api/padApi/delProxyByIds | Delete dynamic proxy |
On success, the data array contains id, proxyHost, proxyPort, userName, password, and proxyType. proxyHost is the server address; use userName and password for proxy authentication.
8️⃣ Static Residential Proxy Service
| API | Method | Path | Description |
|---|---|---|---|
| Get static residential product list | GET | /vcpcloud/api/padApi/proxyGoodList | Static residential product list |
| Get static residential supported countries/cities | GET | /vcpcloud/api/padApi/getProxyRegion | Country and city info |
| Static residential product purchase | POST | /vcpcloud/api/padApi/createProxyOrder | Static residential purchase |
| Get static residential purchase task status | GET | /vcpcloud/api/padApi/createProxyOrder/status | Check purchase progress |
| Static residential proxy order details | POST | /vcpcloud/api/padApi/selectProxyOrderList | Order details |
| Static residential proxy renewal | POST | /vcpcloud/api/padApi/createRenewProxyOrder | Static residential renewal |
| Query static residential proxy list | POST | /vcpcloud/api/padApi/queryProxyList | Static residential proxy list |
| Delete static residential proxy | POST | /vcpcloud/api/padApi/delProxyByHost | Delete by address, port and username |
9️⃣ Real Device Testing
| API | Method | Path | Description |
|---|---|---|---|
| List available test models | GET | /vcpcloud/api/padApi/realMachineTrialAvailability | Model availability status |
| Create a test device | POST | /vcpcloud/api/padApi/createRealMachineTrial | Create by model template |
| List test-time products | GET | /vcpcloud/api/padApi/realMachineTrialGoods | Purchasable test-time products |
| Purchase test time | POST | /vcpcloud/api/padApi/buyRealMachineTrialTime | Purchase with account balance |
🔟 SDK Token
| API | Method | Path | Description |
|---|---|---|---|
| Get SDK temporary token by padCode | POST | /vcpcloud/api/padApi/stsTokenByPadCode | Issue SDK temporary token |
| Clear SDK authorization token | POST | /vcpcloud/api/padApi/clearStsToken | Clear SDK authorization token |
AIGC Image and Video Generation
These six endpoints are available. The current model catalog determines supported capabilities. See AIGC Image and Video Generation for the full contract.
| API | Method | Path | Purpose |
|---|---|---|---|
| Get image models | POST | /vcpcloud/api/padApi/aigc/getImageModels | Current models, input limits, output combinations and optional parameters |
| Get video models | POST | /vcpcloud/api/padApi/aigc/getVideoModels | Current video models and complete specification combinations |
| Estimate generation credits | POST | /vcpcloud/api/padApi/aigc/estimate | Validate parameters and materials and quote without generation or debit |
| Submit a generation task | POST | /vcpcloud/api/padApi/aigc/submit | Revalidate, accept and debit; generate asynchronously |
| Query a generation task | POST | /vcpcloud/api/padApi/aigc/queryTask | Query your task and results by taskId |
| Query remaining credits | POST | /vcpcloud/api/padApi/aigc/queryCredits | Your available AIGC credits |
Generation requires modelId, prompt, input:{method,materials} and output. Image output requires size,count; video output requires durationSec,resolution,ratio,generateAudio,count. Follow catalog models, complete combinations, roles and optional parameters; do not invent combinations or add unlisted fields. Model catalogs and credits accept an omitted body or {}; sign the exact body sent.
Use downloadUrl from an active file in your personal cloud drive; upload through the existing uploadFile endpoint if needed. Uploads consume cloud storage. Before acceptance and debit, submit checks current free space: no quota, full or exceeded storage returns 1026. Future output space is not reserved; estimate.canSubmit does not guarantee storage availability.
Successful submission means accepted and debited; poll queryTask for completion. An unknown timeout result does not mean no debit occurred; resubmission can create and charge another task.
📋 Callback events
| Event | taskBusinessType | Description |
|---|---|---|
| Instance status callback | 999 | Instance run/connection status change |
| Instance restart task | 1000 | Restart result notification |
| Instance reset task | 1001 | Reset result notification |
| Async ADB task | 1002 | ADB command execution result |
| App install task | 1003 | App install result |
| App uninstall task | 1004 | App uninstall result |
| App stop task | 1005 | App stop result |
| App restart task | 1006 | App restart result |
| App start task | 1007 | App start result |
| Instance file upload task | 1009 | File upload result |
| Instance upgrade image task | 1012 | Upgrade image result |
| One-key new device | 1124 | One-key new device result |
| User image upload | 4001 | User image upload result |
Event callbacks use eventType:
| Event | eventType | Description |
|---|---|---|
| padCode change | padCodeChange | Returns old and new device codes after a successful padCode change |
| SMS sending event | 69 | Number and content remain Base64-encoded |
Configure callback URL in the web console. For payload details see Callback.
The padCode change callback contains eventType, oldPadCode, newPadCode, and timestamp. See padCode Change Callback for fields and notification conditions.
🚦 Common error codes
| Code | Description | Suggestion |
|---|---|---|
| 200 | Success | - |
| 2031 | Invalid key | Check AK/SK |
| 2032 | Missing authentication headers | Add V2 signing headers |
| 2019 | Signature verification failed | Check Getting Started |
| 100000 | Invalid request parameters | Check parameters |
| 100003 | Missing authentication headers | Check V2 signing headers |
| 100004 | Invalid signature | Check signature calculation |
| 100005 | Signature verification failed | Confirm signing method |
| 110028 | Instance not found | Check instance ID |
| 110013 | Instance not found | Check instance parameters |
| 110031 | Instance not ready | Wait for instance ready |
| 120008 | Token not owned by current user | Confirm token owner |
More error codes: Error Codes.
💡 Usage tips
Tips
- Auth security: Keep AK/SK secure, do not hardcode in client, rotate periodically.
- Async tasks: Restart, reset, install, upload, etc. are async; configure callback or poll task detail API for result.
- Batch limits: Batch APIs have limits (e.g. 200 instances); batch requests and handle failure list.
- Instance state: Some operations require instance online/ready; check instance state before calling.
- Modification props and restart: Modifying Android modification props, SIM, etc. requires restart; differs from “modify instance properties” (dynamic).
📖 Related docs
Info
| Document | Description |
|---|---|
| API Documentation | Full API reference, request/response parameters and examples |
| Getting Started | Authentication, signing, and examples |
| Error Codes | Error codes and solutions |
| Callback | Callback types and example JSON |
| Instance list | Instance list field reference |
| Android modification props | Modification property reference |
Document version: Quick reference
Content subject to API Documentation