VMOS Cloud API
  • 简体中文
  • English
  • 简体中文
  • English
  • Product Introduction
  • Product Type
  • Product Billing
  • OpenAPI
    • Getting Started
    • API Documentation
    • LLMs.txt (AI Quick Reference)
    • OpenAPI Spec (for AI & tools)
    • Error Code
    • Instance Property List
    • Android device modification attribute list
    • Callback Task Business Type Codes
    • Changelog
    • Mobile Root Certificate Format Specification
  • Android SDK
    • Example Construction
    • API Documentation
    • Callback Functions
    • Error Code
    • Changelog
  • Web H5 SDK
    • Example Build
    • API Documentation
    • H5 SDK Callback Functions
    • Error Code
    • Change log
  • Windows PC SDK
    • Example Setup
    • API Documentation
    • Callback Functions
    • Changelog
  • Edge-Cloud Communication Development
    • AIDL Integration Method
    • System Service API (AIDL)
  • Similar to XP, LSP Hook framework

    • Xposed-like / LSPosed Framework
    • Sensor Data Dynamic Simulation
  • Related agreements

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)

HeaderDescriptionExample
X-Access-KeyAccess Key IDak_xxxxxxxxxxxx
X-Timestamp10-digit unix-seconds timestamp1747555200
X-Sign64-character hex signature6069dfb4cb3ac57b…
Content-TypeResource MIME typeapplication/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

ItemValue
Base URLhttps://api.vmoscloud.com
Path prefix/vcpcloud/api/padApi/ (most APIs)
Response formatJSON { code, msg, ts, data }
Success codecode=200

📚 API by category

1️⃣ Instance Management

APIMethodPathDescription
Modify instance WIFI propertiesPOST/vcpcloud/api/padApi/setWifiListModify WIFI list properties of specified instance
Instance detailsPOST/vcpcloud/api/padApi/padDetailsQuery instance properties
Instance restartPOST/vcpcloud/api/padApi/restartRestart specified instance
Instance resetPOST/vcpcloud/api/padApi/resetClear all cloud instance data
Query instance propertiesPOST/vcpcloud/api/padApi/padPropertiesQuery instance system/settings properties
Batch query instance propertiesPOST/vcpcloud/api/padApi/batchPadPropertiesBatch query instance properties
Modify instance propertiesPOST/vcpcloud/api/padApi/updatePadPropertiesDynamically modify instance properties
Modify instance Android modification propsPOST/vcpcloud/api/padApi/updatePadAndroidPropStatic modification props, restart required
Modify SIM by country codePOST/vcpcloud/api/padApi/updateSIMRandom SIM by country and restart
Modify SIM by country and phone numberPOST/vcpcloud/api/padApi/updateSIMByCountryAndPhoneSet phone number and select a random carrier
Stop streamingPOST/vcpcloud/api/padApi/dissolveRoomStop streaming for specified instance
Smart IP proxy detectionPOST/vcpcloud/api/padApi/checkIPDetect proxy IP and location
Set smart IPPOST/vcpcloud/api/padApi/smartIpSet smart IP (exit IP, SIM, GPS, etc.)
Cancel smart IPPOST/vcpcloud/api/padApi/notSmartIpCancel smart IP
Device task result queryPOST/vcpcloud/api/padApi/getTaskStatusQuery smart IP task result
Get installed apps for specified instancesPOST/vcpcloud/api/padApi/getListInstalledAppGet installed app info for specified instances
Modify instance timezonePOST/vcpcloud/api/padApi/updateTimeZoneModify instance timezone
Modify instance languagePOST/vcpcloud/api/padApi/updateLanguageModify instance language
Set instance GPSPOST/vcpcloud/api/padApi/gpsInjectInfoSet instance latitude/longitude
Query instance proxy infoPOST/vcpcloud/api/padApi/proxyInfoQuery instance proxy info
One-key new devicePOST/vcpcloud/api/padApi/replacePadClear data and reset Android properties
Query one-key new device supported countriesGET/vcpcloud/api/padApi/countryOne-key new device supported countries
Query available WebView versionsPOST/vcpcloud/api/padApi/webview/version/listQuery all available WebView versions
Update contactsPOST/vcpcloud/api/padApi/updateContactsUpdate contacts
Set instance proxyPOST/vcpcloud/api/padApi/setProxySet proxy for specified instance
Real-time query installed app listPOST/vcpcloud/api/padApi/listInstalledAppReal-time query installed apps
Set app keep-alivePOST/vcpcloud/api/padApi/setKeepAliveAppSet app keep-alive (Android 13/14/15)
Set app hidePOST/vcpcloud/api/padApi/setHideAppListSend hide package list
Modify real device ADI templatePOST/vcpcloud/api/padApi/replaceRealAdiTemplateModify cloud real device ADI template
Async execute ADB commandPOST/vcpcloud/api/padApi/asyncCmdAsync execute command
Enable outbound SMS callbackPOST/vcpcloud/api/padApi/enableSmsSendCallbackEnable SMS sending event callbacks
Switch Root permissionPOST/vcpcloud/api/padApi/switchRootSwitch root permission
Local screenshotPOST/vcpcloud/api/padApi/screenshotInstance screenshot
Get instance real-time preview imagePOST/vcpcloud/api/padApi/getLongGenerateUrlGet real-time preview image URL
Upgrade imagePOST/vcpcloud/api/padApi/upgradeImageBatch instance image upgrade
Upgrade real device imagePOST/vcpcloud/api/padApi/virtualRealSwitchBatch real device image upgrade
List Personal Uploaded TemplatesPOST/vcpcloud/api/padApi/userTemplateListOwn uploaded ADI templates; page, rows, id, templateId
Paginated get real device templatesPOST/vcpcloud/api/padApi/templateListPaginated get real device templates
Batch get instance model infoPOST/vcpcloud/api/padApi/modelInfoBatch get model info
Enable/disable ADBPOST/vcpcloud/api/padApi/openOnlineAdbEnable or disable instance ADB
Get ADB connection infoPOST/vcpcloud/api/padApi/adbGet ADB connection info
Batch get ADB connection infoPOST/vcpcloud/api/padApi/batch/adbBatch get/disable ADB
Simulate touchPOST/vcpcloud/api/padApi/simulateTouchSimulate touch event
Instance operation task detailsPOST/vcpcloud/api/padApi/padTaskDetailQuery instance operation task result
Get instance script execution resultPOST/vcpcloud/api/padApi/executeScriptInfoGet script execution result
Get instance screenshot resultPOST/vcpcloud/api/padApi/screenshotInfoGet screenshot result by task ID
Instance restart/reset execution resultPOST/vcpcloud/api/padApi/padExecuteTaskInfoRestart/reset task result
Instance group listPOST/vcpcloud/api/padApi/infosInstance group list (infos also used for instance list)
Import call recordsPOST/vcpcloud/api/padApi/addPhoneRecordImport call records
Cloud phone text inputPOST/vcpcloud/api/padApi/inputTextInput text in focused input box
Simulate send SMSPOST/vcpcloud/api/padApi/simulateSendSmsSimulate sending SMS to instance
Configure simulated SMS automationPOST/vcpcloud/api/padApi/simulatedSms/configureEnable or disable; rotation restarts the instance
Create simulated SMS recordPOST/vcpcloud/api/padApi/simulatedSms/sendAllocate a simulated status without sending real SMS
Query simulated SMS statusPOST/vcpcloud/api/padApi/simulatedSms/statusQuery rotation, batch and individual request results
Reset GAIDPOST/vcpcloud/api/padApi/resetGAIDReset advertising ID
Inject audio to instance microphonePOST/vcpcloud/api/padApi/injectAudioToMicInject audio to microphone
Clear processes and return to desktopPOST/vcpcloud/api/padApi/cleanAppHomeClear processes and return to desktop
Unmanned live streamingPOST/vcpcloud/api/padApi/unmannedLiveInstance video injection
Image injectionPOST/vcpcloud/api/padApi/injectPictureInstance image injection
Upload user imagePOST/vcpcloud/api/padApi/addUserRomUpload user image
Device replacementPOST/vcpcloud/api/padApi/replacementDevice replacement
Transfer cloud phonePOST/vcpcloud/api/padApi/confirmTransferTransfer cloud phone to another account
Hide accessibility servicePOST/vcpcloud/api/padApi/setHideAccessibilityAppListHide accessibility service

2️⃣ Resource Management

APIMethodPathDescription
Instance list infoPOST/vcpcloud/api/padApi/infosPaginated query ordered instance list

3️⃣ Application Management

APIMethodPathDescription
Uninstall appPOST/vcpcloud/api/padApi/uninstallAppUninstall by instance and package name
Start appPOST/vcpcloud/api/padApi/startAppStart app by instance and package name
Stop appPOST/vcpcloud/api/padApi/stopAppStop app
Restart appPOST/vcpcloud/api/padApi/restartAppRestart app
Instance installed app list queryPOST/vcpcloud/api/padApi/listInstalledAppQuery instance installed apps
Upload file via URLPOST/vcpcloud/api/padApi/uploadFileV3Upload via URL with optional install
Upload file to cloud storagePOST/vcpcloud/api/padApi/uploadFileUpload file to cloud storage
Delete cloud storage filesPOST/vcpcloud/api/padApi/deleteOssFilesDelete cloud storage files
Query user file listPOST/vcpcloud/api/padApi/selectFilesQuery user file list

4️⃣ Task Management

APIMethodPathDescription
Instance operation task detailsPOST/vcpcloud/api/padApi/padTaskDetailQuery instance operation task execution result
File task detailsPOST/vcpcloud/api/padApi/fileTaskDetailQuery file task execution result

5️⃣ Cloud Phone Management

APIMethodPathDescription
Create/renew cloud phonePOST/vcpcloud/api/padApi/createMoneyOrderCreate or renew cloud phone
Query Account Transactions (Bill Export)POST/vcpcloud/api/padApi/selectPaidOrderListAccount transactions including timing-device charges
Cloud phone listPOST/vcpcloud/api/padApi/userPadListCloud phone list
List Device GroupsPOST/vcpcloud/api/padApi/padGroupListReturns groupId and groupName, including empty groups
List Devices by GroupPOST/vcpcloud/api/padApi/padGroupDevicesDevice group ID; omit for all groups
Cloud phone info queryPOST/vcpcloud/api/padApi/padInfoCloud phone info query
SKU package listGET/vcpcloud/api/padApi/getCloudGoodListSKU package list
Device presale purchasePOST/vcpcloud/api/padApi/createMoneyProOrderDevice presale purchase
Query presale order result detailsPOST/vcpcloud/api/padApi/queryProOrderListPresale order details
Android image version listPOST/vcpcloud/api/padApi/imageVersionListUpgradable image list
List timing device modelsGET/vcpcloud/api/padApi/timingDeviceModelsList models by Android version
Create timing device orderPOST/vcpcloud/api/padApi/createByTimingOrderCreate timing device order
Timing device power onPOST/vcpcloud/api/padApi/timingPadOnTiming device power on
Timing device power offPOST/vcpcloud/api/padApi/timingPadOffKeeps the environment by default
List timing device power logsPOST/vcpcloud/api/padApi/timingPadPowerLogListList power-on and power-off records
Timing device destroyPOST/vcpcloud/api/padApi/timingPadDelTiming device destroy
Storage resource package listGET/vcpcloud/api/padApi/vcTimingBackupListStorage resource package list
Cloud storage remaining capacityGET/vcpcloud/api/padApi/getRenewStorageInfoCloud storage remaining capacity
Cloud storage product listGET/vcpcloud/api/padApi/getVcStorageGoodsCloud storage product list
Purchase cloud storage expansionPOST/vcpcloud/api/padApi/buyStorageGoodsPurchase cloud storage expansion
Cloud storage renewal details queryGET/vcpcloud/api/padApi/selectAutoRenewCloud storage renewal details
Aggregate renew cloud storage productsPOST/vcpcloud/api/padApi/renewsStorageGoodsAggregate renew cloud storage products
Cloud storage auto-renewal switchGET/vcpcloud/api/padApi/updateRenewStorageStatusCloud storage auto-renewal switch
Delete backup resource package dataPOST/vcpcloud/api/padApi/deleteUploadFilesDelete backup resource package
Calculate pad backup sizePOST/vcpcloud/api/padApi/backupCalculateCalculate one pad backup size asynchronously
Query pad backup sizePOST/vcpcloud/api/padApi/queryBackupCalculateResultQuery status and estimated bytes
Create pad backupsPOST/vcpcloud/api/padApi/addBackupBatch create cloud-disk backups
Clone from cloud backupPOST/vcpcloud/api/padApi/clonePadBackupReturns batchId and padCount after submission
Query backup or clone batch progressPOST/vcpcloud/api/padApi/queryBackupBatchQuery status and taskId by batchId
Show or hide app processPOST/vcpcloud/api/padApi/toggleProcessHideShow 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

ParameterDescription
orderIdExact order ID
recordIdExact transaction number
typeDirection: 1 credit, 2 debit
tradeTypeTransaction type; see below
businessTypeCompatibility alias for tradeType
completeStartTimeInclusive transaction time lower bound
completeEndTimeInclusive transaction time upper bound
pagePage number; default 1, minimum 1
rowsPage 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

APIMethodPathDescription
Get email service listGET/vcpcloud/api/padApi/getEmailServiceListEmail service list
Get email type and remaining stockGET/vcpcloud/api/padApi/getEmailTypeListEmail type and stock
Create email orderPOST/vcpcloud/api/padApi/createEmailOrderCreate email order
Query purchased email listGET/vcpcloud/api/padApi/getEmailOrderPurchased email list
Refresh get email verification codeGET/vcpcloud/api/padApi/getEmailCodeRefresh get verification code

7️⃣ Dynamic Proxy Service

APIMethodPathDescription
Query dynamic proxy product listGET/vcpcloud/api/padApi/getDynamicGoodServiceDynamic proxy product list
Query dynamic proxy region listGET/vcpcloud/api/padApi/getDynamicProxyRegionDynamic proxy region list
Get dynamic proxy current balanceGET/vcpcloud/api/padApi/queryCurrentTrafficBalanceCurrent traffic balance
Query supported server regionsGET/vcpcloud/api/padApi/getDynamicProxyHostSupported server regions
Purchase dynamic proxy traffic packagePOST/vcpcloud/api/padApi/buyDynamicProxyPurchase dynamic proxy traffic package
Create dynamic proxyPOST/vcpcloud/api/padApi/createProxyCreate dynamic proxy
Query dynamic proxy list (paginated)GET/vcpcloud/api/padApi/getProxysDynamic proxy list
Query dynamic proxy order list (paginated)POST/vcpcloud/api/padApi/getDynamicProxyOrdersDynamic proxy order list
Configure dynamic proxy for instancesPOST/vcpcloud/api/padApi/batchPadConfigProxyConfigure dynamic proxy for instances
Query batch instance set proxy taskPOST/vcpcloud/api/padApi/selectBatchPadProxyTaskBatch set proxy task result
Query dynamic proxy auto-renewal infoGET/vcpcloud/api/padApi/getDynamicProxyAutomaticRenewalAuto-renewal info
Set dynamic proxy auto-renewal switchPOST/vcpcloud/api/padApi/setAutoRenewSwitchAuto-renewal switch
Delete dynamic proxyPOST/vcpcloud/api/padApi/delProxyByIdsDelete 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

APIMethodPathDescription
Get static residential product listGET/vcpcloud/api/padApi/proxyGoodListStatic residential product list
Get static residential supported countries/citiesGET/vcpcloud/api/padApi/getProxyRegionCountry and city info
Static residential product purchasePOST/vcpcloud/api/padApi/createProxyOrderStatic residential purchase
Get static residential purchase task statusGET/vcpcloud/api/padApi/createProxyOrder/statusCheck purchase progress
Static residential proxy order detailsPOST/vcpcloud/api/padApi/selectProxyOrderListOrder details
Static residential proxy renewalPOST/vcpcloud/api/padApi/createRenewProxyOrderStatic residential renewal
Query static residential proxy listPOST/vcpcloud/api/padApi/queryProxyListStatic residential proxy list
Delete static residential proxyPOST/vcpcloud/api/padApi/delProxyByHostDelete by address, port and username

9️⃣ Real Device Testing

APIMethodPathDescription
List available test modelsGET/vcpcloud/api/padApi/realMachineTrialAvailabilityModel availability status
Create a test devicePOST/vcpcloud/api/padApi/createRealMachineTrialCreate by model template
List test-time productsGET/vcpcloud/api/padApi/realMachineTrialGoodsPurchasable test-time products
Purchase test timePOST/vcpcloud/api/padApi/buyRealMachineTrialTimePurchase with account balance

🔟 SDK Token

APIMethodPathDescription
Get SDK temporary token by padCodePOST/vcpcloud/api/padApi/stsTokenByPadCodeIssue SDK temporary token
Clear SDK authorization tokenPOST/vcpcloud/api/padApi/clearStsTokenClear 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.

APIMethodPathPurpose
Get image modelsPOST/vcpcloud/api/padApi/aigc/getImageModelsCurrent models, input limits, output combinations and optional parameters
Get video modelsPOST/vcpcloud/api/padApi/aigc/getVideoModelsCurrent video models and complete specification combinations
Estimate generation creditsPOST/vcpcloud/api/padApi/aigc/estimateValidate parameters and materials and quote without generation or debit
Submit a generation taskPOST/vcpcloud/api/padApi/aigc/submitRevalidate, accept and debit; generate asynchronously
Query a generation taskPOST/vcpcloud/api/padApi/aigc/queryTaskQuery your task and results by taskId
Query remaining creditsPOST/vcpcloud/api/padApi/aigc/queryCreditsYour 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

EventtaskBusinessTypeDescription
Instance status callback999Instance run/connection status change
Instance restart task1000Restart result notification
Instance reset task1001Reset result notification
Async ADB task1002ADB command execution result
App install task1003App install result
App uninstall task1004App uninstall result
App stop task1005App stop result
App restart task1006App restart result
App start task1007App start result
Instance file upload task1009File upload result
Instance upgrade image task1012Upgrade image result
One-key new device1124One-key new device result
User image upload4001User image upload result

Event callbacks use eventType:

EventeventTypeDescription
padCode changepadCodeChangeReturns old and new device codes after a successful padCode change
SMS sending event69Number 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

CodeDescriptionSuggestion
200Success-
2031Invalid keyCheck AK/SK
2032Missing authentication headersAdd V2 signing headers
2019Signature verification failedCheck Getting Started
100000Invalid request parametersCheck parameters
100003Missing authentication headersCheck V2 signing headers
100004Invalid signatureCheck signature calculation
100005Signature verification failedConfirm signing method
110028Instance not foundCheck instance ID
110013Instance not foundCheck instance parameters
110031Instance not readyWait for instance ready
120008Token not owned by current userConfirm token owner

More error codes: Error Codes.


💡 Usage tips

Tips

  1. Auth security: Keep AK/SK secure, do not hardcode in client, rotate periodically.
  2. Async tasks: Restart, reset, install, upload, etc. are async; configure callback or poll task detail API for result.
  3. Batch limits: Batch APIs have limits (e.g. 200 instances); batch requests and handle failure list.
  4. Instance state: Some operations require instance online/ready; check instance state before calling.
  5. Modification props and restart: Modifying Android modification props, SIM, etc. requires restart; differs from “modify instance properties” (dynamic).

📖 Related docs

Info

DocumentDescription
API DocumentationFull API reference, request/response parameters and examples
Getting StartedAuthentication, signing, and examples
Error CodesError codes and solutions
CallbackCallback types and example JSON
Instance listInstance list field reference
Android modification propsModification property reference

Document version: Quick reference
Content subject to API Documentation

Prev
API Documentation
Next
OpenAPI Spec (for AI & tools)