VMOSCloud OpenAPI 3.1 规范
本文档提供 VMOSCloud OpenAPI 3.1 规范文件,供 AI 助手、大模型、代码生成工具及自动化脚本使用。规范内容与本站《接口文档》OpenAPI.md 完全一致,仅格式为机器可读的 OpenAPI 描述。
📥 下载 OpenAPI 规范文件 — 适合 Postman、Swagger Editor、AI 工具等直接导入
获取方式:
- 浏览器下载:点击此处下载 openapi.yaml,或访问:
https://cloud.vmoscloud.com/vmoscloud/doc/zh/server/openapi.yaml
若浏览器直接打开而非下载,可右键链接选择「另存为」。 - 命令行获取:
curl https://cloud.vmoscloud.com/vmoscloud/doc/zh/server/openapi.yaml -o vmoscloud-openapi.yaml - 直接引用:在 Postman、Swagger Editor、AI 等工具中使用上述 URL 直接导入
规范全文
以下为 OpenAPI 3.1 规范全文,可直接在本页复制使用,或通过上方链接下载文件。
openapi: 3.1.0
info:
title: VMOSCloud OpenAPI
description: |
VMOSCloud server-side OpenAPI specification for AI/LLM/code assistants and developer tools.
## Overview
VMOSCloud provides cloud phone (Android virtual machine) instances that can be controlled via this API.
Use cases include app automation, TikTok operations, proxy management, device fingerprint management, and bulk cloud phone management.
## Authentication
All requests use HMAC-SHA256 custom signature authentication (see `VMOSCloudHMAC` security scheme for full details).
Required headers on every request: `x-date`, `x-host`, `Content-Type`, `x-content-sha256`, `authorization`.
## Response Format
All responses follow the `StandardResponse` schema:
- `code` (integer): 200 = success; other values indicate errors (see ErrorCode docs)
- `msg` (string): Human-readable status message
- `ts` (integer): Server timestamp (milliseconds)
- `data` (object): API-specific payload (null on error or no data)
## Key Concepts
- **padCode / padCodes**: Instance identifier(s). Most batch operations accept an array.
- **taskId**: Asynchronous operations return a taskId. Poll the corresponding `*Info` or `*TaskDetail` endpoint to get results.
- **vmStatus**: Instance online status integer (0 = offline, 1 = online).
- **taskStatus** (integer): -4=timeout, -3=cancelled, -2=partial failure, -1=full failure, 1=pending, 2=executing, 3=completed.
## Reference Documents
- OpenAPI.md: Full human-readable API reference
- example.md: Authentication signing example code
- InstanceAndroidPropList: Supported Android property keys for device fingerprint modification
- ErrorCode: Full list of business error codes
version: "1.0.0"
contact:
url: https://cloud.vmoscloud.com
servers:
- url: https://api.vmoscloud.com
description: VMOSCloud API server
security:
- VMOSCloudHMAC: []
tags:
- name: Instance Management
description: "Control and configure cloud phone instances: restart, reset, set properties (GPS, WiFi, SIM, timezone, language, proxy), ADB, screenshots, audio/video injection, contacts, call records, file operations, and more."
- name: Resource Management
description: "Manage cloud storage files: upload, download, delete files stored in the VMOSCloud object storage space."
- name: Application Management
description: "Manage apps on cloud phone instances: install, uninstall, start, stop, restart apps, and upload APK/files via URL."
- name: Task Management
description: "Query the status and results of asynchronous tasks (file transfer, script execution, etc.)."
- name: Cloud Phone Management
description: "Purchase, renew, power on/off, destroy cloud phone instances; manage storage resource packages and SKU products."
- name: Email Verification Service
description: "Purchase and use temporary email addresses for account registration and verification code reception."
- name: Dynamic Proxy Service
description: "Purchase, configure, and manage dynamic rotating residential proxy traffic packages; assign proxies to cloud phone instances."
- name: Static Residential Proxy Service
description: "Purchase and manage static residential IP proxies with fixed IP addresses; assign them to cloud phone instances."
- name: TK Automation
description: "Create and manage TikTok automation tasks (login, edit profile, browse/publish videos, live stream heating) on cloud phone instances."
- name: SDK Token
description: "Obtain and manage temporary SDK authorization tokens used by client SDKs (Android, H5, PC) to connect to cloud phone instances."
- name: Touch Simulation
description: "Humanized touch simulation: generate click and swipe trajectories (position, pressure, timing) for cloud phone instances. Rate limit: same device 2s cooldown (error 1218)."
paths:
/vcpcloud/api/openApi/simulateClick:
post:
tags:
- Touch Simulation
summary: Simulate humanized click
description: "Generate a humanized click trajectory at the given coordinates. Click has four phases: press, hold, micro-move, release. Rate limit: same device rejected if requested again within 2s (code 1218, msg \"请勿频繁操作\")."
operationId: openApi_simulateClick_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- padCodes
- x
- y
properties:
padCodes:
type: array
items:
type: string
description: Instance code list; devices to execute the action
x:
type: number
description: Click target X coordinate (screen physical pixels)
y:
type: number
description: Click target Y coordinate (screen physical pixels)
width:
type: integer
default: 720
description: Screen width for coordinate normalization
height:
type: integer
default: 1280
description: Screen height for coordinate normalization
example:
padCodes: ["PAD_001", "PAD_002"]
x: 360
y: 640
width: 720
height: 1280
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: "#/components/schemas/StandardResponse"
default:
description: "Error. Code 1218 = rate limit (same device within 2s)"
content:
application/json:
schema:
$ref: "#/components/schemas/StandardResponse"
/vcpcloud/api/openApi/simulateSwipe:
post:
tags:
- Touch Simulation
summary: Simulate humanized swipe
description: "Generate a humanized swipe trajectory. Supports fixed-direction mode (auto start/end) or custom start/end. Trajectory: press, swipe (ease-in-out), dwell, release. Errors: 1104 = direction missing/invalid; 1218 = rate limit (2s)."
operationId: openApi_simulateSwipe_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- padCodes
- direction
properties:
padCodes:
type: array
items:
type: string
description: Instance code list
direction:
type: string
enum:
- LEFT_TO_RIGHT
- RIGHT_TO_LEFT
- TOP_TO_BOTTOM
- BOTTOM_TO_TOP
description: "Swipe direction: LEFT_TO_RIGHT, RIGHT_TO_LEFT, TOP_TO_BOTTOM, BOTTOM_TO_TOP"
width:
type: integer
default: 1080
description: Screen width
height:
type: integer
default: 1920
description: Screen height
startX:
type: number
description: Start X (custom mode); auto-computed if omitted
startY:
type: number
description: Start Y (custom mode)
endX:
type: number
description: End X (custom mode)
endY:
type: number
description: End Y (custom mode)
examples:
autoMode:
summary: Auto start/end by direction
value:
padCodes: ["PAD_001"]
direction: "BOTTOM_TO_TOP"
width: 1080
height: 1920
customMode:
summary: Custom start/end
value:
padCodes: ["PAD_001"]
direction: "BOTTOM_TO_TOP"
width: 720
height: 1280
startX: 360
startY: 928
endX: 374
endY: 390
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: "#/components/schemas/StandardResponse"
default:
description: "Error. 1104 = direction missing/invalid; 1218 = rate limit"
content:
application/json:
schema:
$ref: "#/components/schemas/StandardResponse"
/vcpcloud/api/padApi/setWifiList:
post:
tags:
- Instance Management
summary: Modify instance WIFI properties
operationId: vcpcloud_api_padApi_setWifiList_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- padCodes
- wifiJsonList
- SSID
- BSSID
- MAC
- IP
- gateway
- DNS1
- DNS2
properties:
padCodes:
type: array
items:
type: string
description: Instance number
wifiJsonList:
type: array
items:
type: string
description: wifi attribute list
SSID:
type: string
description: wifi name (not support Chinese)
BSSID:
type: string
description: access point mac address
MAC:
type: string
description: wifi network card mac address
IP:
type: string
description: wifi network IP
gateway:
type: string
description: wifi gateway
DNS1:
type: string
description: DNS1
DNS2:
type: string
description: DNS2
hessid:
type: integer
description: network identifier
anqpDomainId:
type: integer
description: ANQP (Access Network Query Protocol) domain ID
capabilities:
type: string
description: WPA/WPA2 and other information
level:
type: integer
description: Signal strength (RSSI)
linkSpeed:
type: integer
description: Current Wi-Fi connection speed
txLinkSpeed:
type: integer
description: Upload link speed
rxLinkSpeed:
type: integer
description: Download link speed
frequency:
type: integer
description: Wi-Fi channel frequency
distance:
type: integer
description: Estimated AP distance
distanceSd:
type: integer
description: Estimated standard deviation of distance
channelWidth:
type: integer
description: Channel bandwidth
responses:
"200":
$ref: "#/components/responses/SuccessResponse"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/padDetails:
post:
tags:
- Instance Management
summary: Instance details
operationId: vcpcloud_api_padApi_padDetails_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- padCodes
properties:
padCodes:
type: array
items:
type: string
padIps:
type: array
items:
type: string
vmStatus:
type: string
description: "Instance online status: 0-offline, 1-online"
controlStatus:
type: string
description: "Controlled state (push flow state): 1-uncontrolled, 2-controlled"
faultStatus:
type: string
description: Instance running status 14-abnormal other-normal
deviceStatus:
type: string
description: "Physical machine online status: 0-offline, 1-online"
example:
padCodes: ["VM001", "VM002"]
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
traceId:
type: string
description: Link tracking ID
example:
code: 200
msg: "success"
ts: 1704067200000
data:
traceId: "trace-abc123"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/restart:
post:
tags:
- Instance Management
summary: Instance restart
operationId: vcpcloud_api_padApi_restart_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- padCodes
properties:
padCodes:
type: array
items:
type: string
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
taskId:
type: integer
description: Task ID
padCode:
type: string
description: Instance number
vmStatus:
type: integer
description: "Instance online status (0: offline; 1: online)"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/reset:
post:
tags:
- Instance Management
summary: Instance reset
operationId: vcpcloud_api_padApi_reset_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- padCodes
properties:
padCodes:
type: array
items:
type: string
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
taskId:
type: integer
description: Task ID
padCode:
type: string
description: Instance number
vmStatus:
type: integer
description: "Instance online status (0: offline; 1: online)"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/padProperties:
post:
tags:
- Instance Management
summary: Query instance properties
operationId: vcpcloud_api_padApi_padProperties_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- padCode
properties:
padCode:
type: string
description: Instance number
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
padCode:
type: string
description: Instance number
modemPropertiesList:
type: array
items:
type: object
description: Modem-property list
propertiesName:
type: string
description: Property name
propertiesValue:
type: string
description: attribute value
systemPropertiesList:
type: array
items:
type: object
description: System-property list
settingPropertiesList:
type: array
items:
type: object
description: setting-property list
oaidPropertiesList:
type: array
items:
type: object
description: oaid - attribute list
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/batchPadProperties:
post:
tags:
- Instance Management
summary: Batch query instance properties
operationId: vcpcloud_api_padApi_batchPadProperties_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- padCodes
properties:
padCodes:
type: array
items:
type: string
description: The number of instances does not exceed 200
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
padCode:
type: string
description: Instance number
modemPropertiesList:
type: array
items:
type: object
description: Modem-property list
propertiesName:
type: string
description: Property name
propertiesValue:
type: string
description: attribute value
systemPropertiesList:
type: array
items:
type: object
description: System-property list
settingPropertiesList:
type: array
items:
type: object
description: setting-property list
oaidPropertiesList:
type: array
items:
type: object
description: oaid - attribute list
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/updatePadProperties:
post:
tags:
- Instance Management
summary: Modify instance properties (dynamic)
operationId: vcpcloud_api_padApi_updatePadProperties_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- padCodes
properties:
padCodes:
type: array
items:
type: string
modemPersistPropertiesList:
type: array
items:
type: string
description: Modem-Persistence-Property List
propertiesName:
type: string
description: Property name
propertiesValue:
type: string
description: attribute value
modemPropertiesList:
type: array
items:
type: string
description: Modem-non-persistent-property list
systemPersistPropertiesList:
type: array
items:
type: string
description: System-Persistence-Property List
systemPropertiesList:
type: array
items:
type: string
description: System-Non-persistent-Property List
settingPropertiesList:
type: array
items:
type: string
description: setting-property list
oaidPropertiesList:
type: array
items:
type: string
description: oaid - attribute list
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
taskId:
type: integer
description: Task ID
padCode:
type: string
description: Instance number
vmStatus:
type: integer
description: "Instance online status (0: offline; 1: online)"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/updatePadAndroidProp:
post:
tags:
- Instance Management
summary: Modify instance Android modification props (restart required)
operationId: vcpcloud_api_padApi_updatePadAndroidProp_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- props
properties:
padCode:
type: string
description: Instance number
restart:
type: boolean
description: "Automatically restart after setting is completed (default: false)"
props:
type: object
description: "Android system property key-value pairs to modify (e.g. {\"ro.product.vendor.name\": \"Pixel\"}). See InstanceAndroidPropList for supported property keys."
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
taskId:
type: integer
description: task id
padCode:
type: string
description: instance id
taskStatus:
type: integer
description: "Task status (-1: The task already exists, please do not submit it again; 1: The task has been added)"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/updateSIM:
post:
tags:
- Instance Management
summary: Modify SIM by country code
operationId: vcpcloud_api_padApi_updateSIM_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- padCode
properties:
padCode:
type: string
description: instance id
countryCode:
type: string
description: country code
props:
type: object
description: System properties (this field is key-value definition)
ro.product.vendor.name:
type: string
description: Property settings
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
traceId:
type: string
description: Link tracking ID
taskId:
type: integer
description: Task ID
padCode:
type: string
description: Instance number
vmStatus:
type: integer
description: "Instance online status (0: offline; 1: online)"
taskStatus:
type: integer
description: "Task status (-1: The task already exists, please do not submit it again; 1: The task has been added)"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/dissolveRoom:
post:
tags:
- Instance Management
summary: Stop streaming
operationId: vcpcloud_api_padApi_dissolveRoom_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- padCodes
properties:
padCodes:
type: array
items:
type: string
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
traceId:
type: string
description: Link tracking ID
successList:
type: array
items:
type: object
description: Successful collection
padCode:
type: string
description: Instance number
failList:
type: array
items:
type: object
description: failure set
errorCode:
type: integer
description: error code
errorMsg:
type: string
description: Reason for failure
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/checkIP:
post:
tags:
- Instance Management
summary: Smart IP proxy detection
operationId: vcpcloud_api_padApi_checkIP_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- host
- port
- account
- password
- type
properties:
host:
type: string
description: Proxy information (ip or host)
port:
type: integer
description: proxy port (numeric type)
account:
type: string
description: Agent username
password:
type: string
description: Agent password
type:
type: string
description: "Proxy protocol type Socks5, http, https"
country:
type: string
description: "Country - required when forcibly specified - For parameters, please refer to: curl -x http://username:password@ip:port https://ipinfo.io?token=registered token. When forcibly specified is used, the system will use the directive directly."
ip:
type: string
description: "ip-required when forcibly specified"
loc:
type: string
description: "Longitude, latitude - required when forced to specify"
city:
type: string
description: "City - required when forcibly specified"
region:
type: string
description: "Region - required when forced to specify"
timezone:
type: string
description: "Time zone - required when forced to specify"
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
proxyLocation:
type: string
description: place of belonging
publicIp:
type: string
description: Exit IP
proxyWorking:
type: boolean
description: "Detection successful - true Detection failure - false"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/smartIp:
post:
tags:
- Instance Management
summary: Set smart IP
operationId: vcpcloud_api_padApi_smartIp_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- padCodes
- host
- port
- account
- password
- type
- mode
properties:
padCodes:
type: array
items:
type: string
host:
type: string
description: Proxy information (ip or host)
port:
type: integer
description: proxy port (numeric type)
account:
type: string
description: Agent username
password:
type: string
description: Agent password
type:
type: string
description: "Proxy protocol type socks5, http, https"
mode:
type: string
description: Set proxy mode vpn/proxy
bypassPackageList:
type: array
items:
type: string
description: Package name Set the package name not to go through the proxy
bypassIpList:
type: array
items:
type: string
description: ip Set this ip not to use proxy
bypassDomainList:
type: array
items:
type: string
description: Domain name Set this domain name not to use a proxy
responses:
"200":
$ref: "#/components/responses/SuccessResponse"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/notSmartIp:
post:
tags:
- Instance Management
summary: Cancel smart IP
operationId: vcpcloud_api_padApi_notSmartIp_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- padCodes
properties:
padCodes:
type: array
items:
type: string
responses:
"200":
$ref: "#/components/responses/SuccessResponse"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/getTaskStatus:
post:
tags:
- Instance Management
summary: Device task result query (smart IP)
operationId: vcpcloud_api_padApi_getTaskStatus_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- taskId
properties:
taskId:
type: string
description: Task ID
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
padCode:
type: string
description: Instance number
taskStatus:
type: string
description: "Task status: Executing-executing Successfully-has succeeded Failed-has failed Timedout-has timed out"
taskType:
type: integer
description: "Task type: 10010-Set smart IP 10011-Cancel smart IP"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/getListInstalledApp:
post:
tags:
- Instance Management
summary: Get installed apps for specified instances
operationId: vcpcloud_api_padApi_getListInstalledApp_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- padCodeList
properties:
padCodeList:
type: array
items:
type: string
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
appName:
type: string
description: APP name
packageName:
type: string
description: APP package name
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/updateTimeZone:
post:
tags:
- Instance Management
summary: Modify instance timezone
operationId: vcpcloud_api_padApi_updateTimeZone_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- timeZone
- padCodes
properties:
timeZone:
type: string
description: UTC standard time
padCodes:
type: array
items:
type: string
description: Instance list
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
traceId:
type: string
description: Link tracking ID
taskId:
type: integer
description: Task ID
padCode:
type: string
description: Instance number
vmStatus:
type: integer
description: "Instance online status (0: offline; 1: online)"
taskStatus:
type: integer
description: "Task status (-1: The task already exists, please do not submit it again; 1: The task has been added)"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/updateLanguage:
post:
tags:
- Instance Management
summary: Modify instance language
operationId: vcpcloud_api_padApi_updateLanguage_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- language
- padCodes
properties:
language:
type: string
description: language
country:
type: string
description: nation
padCodes:
type: array
items:
type: string
description: Instance list
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
traceId:
type: string
description: Link tracking ID
taskId:
type: integer
description: Task ID
padCode:
type: string
description: Instance number
vmStatus:
type: integer
description: "Instance online status (0: offline; 1: online)"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/gpsInjectInfo:
post:
tags:
- Instance Management
summary: Set instance GPS
operationId: vcpcloud_api_padApi_gpsInjectInfo_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- longitude
- latitude
- padCodes
properties:
longitude:
type: string
description: longitude
latitude:
type: string
description: latitude
altitude:
type: string
description: Altitude in meters. Requires upgrading the instance to the latest ROM image.
speed:
type: string
description: "Speed in m/s. Requires ROM image version 20251024 or later."
bearing:
type: string
description: "Movement bearing in degrees (0–360). Requires ROM image version 20251024 or later."
horizontalAccuracyMeters:
type: string
description: "Horizontal accuracy in meters. Requires ROM image version 20251024 or later."
padCodes:
type: array
items:
type: string
description: Instance list
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
traceId:
type: string
description: Link tracking ID
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/open/network/proxy/info:
post:
tags:
- Instance Management
summary: Query instance proxy info
operationId: vcpcloud_open_network_proxy_info_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- padCodes
properties:
padCodes:
type: array
items:
type: string
description: Instance list
padCode:
type: string
description: Instance number
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
traceId:
type: string
description: Link tracking ID
taskId:
type: integer
description: Task ID
padCode:
type: string
description: Instance number
vmStatus:
type: integer
description: "Instance online status (0: offline; 1: online)"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/replacePad:
post:
tags:
- Instance Management
summary: Replace instance with new device identity (randomize hardware fingerprint)
operationId: vcpcloud_api_padApi_replacePad_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- padCodes
properties:
padCodes:
type: array
items:
type: string
description: Instance id list
countryCode:
type: string
description: "Country code (see for details: https://chahuo.com/country-code-lookup.html)"
realPhoneTemplateId:
type: integer
description: "Template id reference [Get the real machine template in pages](https://cloud.vmoscloud.com/vmoscloud/doc/zh/server/OpenAPI.html#Get the real machine template in pages)"
androidProp:
type: object
description: "Reference [Android modified property list](https://cloud.vmoscloud.com/vmoscloud/doc/zh/server/InstanceAndroidPropList.html)"
replacementRealAdiFlag:
type: boolean
description: Whether the real machine is random adi template (false not random true random)
excludeRealPhoneTemplateIds:
type: array
items:
type: integer
description: List of template IDs that need to be excluded when randomizing ADI templates
certificate:
type: string
description: Mobile phone root certificate
wipeData:
type: boolean
description: "Whether to clear user data, default true (supported by CBS2.4.4 or above)"
wipeSpecificData:
type: array
items:
type: string
description: "List of specific data paths to clear (e.g. /sdcard/Download). Only effective when wipeData is false."
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
traceId:
type: string
description: Link tracking ID
taskId:
type: integer
description: Task ID
padCode:
type: string
description: Instance number
vmStatus:
type: integer
description: "Instance online status (0: offline; 1: online)"
taskStatus:
type: integer
description: "Task status (-1: The task already exists, please do not submit it again; 1: The task has been added)"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/padReplaceNew:
post:
tags:
- Instance Management
summary: One-key new device with auto SIM/GPS/timezone based on deployment location
operationId: vcpcloud_api_padApi_padReplaceNew_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- padCodes
- setProxyFlag
properties:
padCodes:
type: array
items:
type: string
description: Instance codes (does not support `ACN` prefix)
setProxyFlag:
type: boolean
description: Set to `true` to write SIM based on deployment location
wipeData:
type: boolean
description: "Whether to clear data, default `true`"
keepLangTimezone:
type: boolean
description: "Whether to keep old language/timezone, default `false`"
androidProp:
type: object
description: "Custom Android system properties as key-value pairs (e.g. `persist.sys.locale`, `persist.sys.timezone`). Higher priority than auto-generated properties"
responses:
"200":
description: Success response (async execution; poll task status to confirm result)
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
"1038":
description: Device code cannot be empty
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorResponse"
"1210":
description: No device operation permission
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorResponse"
"1026":
description: Device type not supported
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorResponse"
"1219":
description: Reset too frequent (only once per 3 minutes)
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorResponse"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/country:
get:
tags:
- Instance Management
summary: Query one-key new device supported countries
operationId: vcpcloud_api_padApi_country_get
responses:
"200":
$ref: "#/components/responses/SuccessResponse"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/updateContacts:
post:
tags:
- Instance Management
summary: Update contacts
operationId: vcpcloud_api_padApi_updateContacts_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- padCodes
properties:
padCodes:
type: array
items:
type: string
description: Instance id list
fileUniqueId:
type: string
description: Address book file ID
operateType:
type: integer
description: "-1 Add a new contact 0 Delete a contact 1 Overwrite a contact, the default is -1"
info:
type: array
items:
type: string
description: Address book information
firstName:
type: string
description: Name
phone:
type: string
description: Phone number
email:
type: string
description: Mail
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
traceId:
type: string
description: Link tracking ID
taskId:
type: integer
description: Task ID
padCode:
type: string
description: Instance number
taskStatus:
type: integer
description: "Task status (-1: The task already exists, please do not submit it again; 1: The task has been added)"
vmStatus:
type: integer
description: "Instance online status (0: offline; 1: online)"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/setProxy:
post:
tags:
- Instance Management
summary: Set instance proxy
operationId: vcpcloud_api_padApi_setProxy_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- enable
- padCodes
properties:
account:
type: string
description: account
password:
type: string
description: password
ip:
type: string
description: IP
port:
type: integer
description: port
enable:
type: boolean
description: enable
padCodes:
type: array
items:
type: string
description: Instance list
proxyType:
type: string
description: "Supported parameters: proxy, vpn"
proxyName:
type: string
description: "Supported parameters: socks5, http-relay (including http, https)"
bypassPackageList:
type: array
items:
type: string
description: Package name Set the package name not to go through the proxy
bypassIpList:
type: array
items:
type: string
description: ip Set this ip not to use proxy
bypassDomainList:
type: array
items:
type: string
description: Domain name Set this domain name not to use a proxy
sUoT:
type: boolean
description: "Whether to enable udp connection, the default is false"
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
traceId:
type: string
description: Link tracking ID
taskId:
type: integer
description: Task ID
padCode:
type: string
description: Instance number
vmStatus:
type: integer
description: "Instance online status (0: offline; 1: online)"
taskStatus:
type: integer
description: "Task status (-1: The task already exists, please do not submit it again; 1: The task has been added)"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/listInstalledApp:
post:
tags:
- Instance Management
summary: Real-time query installed app list
operationId: vcpcloud_api_padApi_listInstalledApp_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- padCodes
properties:
padCodes:
type: array
items:
type: string
description: Instance number
appName:
type: string
description: Application name
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
traceId:
type: string
description: Link tracking ID
padCode:
type: string
description: Instance number
apps:
type: array
items:
type: object
description: application collection
appName:
type: string
description: Application name
packageName:
type: string
description: package name
versionCode:
type: string
description: version number
versionName:
type: string
description: version name
appState:
type: integer
description: 0 Completed 1 Installing 2 Downloading
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/setKeepAliveApp:
post:
tags:
- Instance Management
summary: Set app keep-alive
operationId: vcpcloud_api_padApi_setKeepAliveApp_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- applyAllInstances
- serverName
properties:
padCodes:
type: array
items:
type: string
description: Instance number
applyAllInstances:
type: boolean
description: Whether to apply all instance patterns
appInfos:
type: array
items:
type: string
description: List of app package names to keep alive
serverName:
type: string
description: "Service to keep alive. Format: {packageName}/{fullServiceClassName} (e.g. com.example.app/com.example.app.service.MainService)"
responses:
"200":
$ref: "#/components/responses/SuccessResponse"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/setHideAppList:
post:
tags:
- Instance Management
summary: Set app hide list
operationId: vcpcloud_api_padApi_setHideAppList_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- padCodes
- appInfos
- packageName
properties:
padCodes:
type: array
items:
type: string
appInfos:
type: array
items:
type: string
packageName:
type: string
responses:
"200":
$ref: "#/components/responses/SuccessResponse"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/replaceRealAdiTemplate:
post:
tags:
- Instance Management
summary: Modify real device ADI template
operationId: vcpcloud_api_padApi_replaceRealAdiTemplate_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- padCodes
- wipeData
- realPhoneTemplateId
properties:
padCodes:
type: array
items:
type: string
wipeData:
type: boolean
description: Whether to clear data
realPhoneTemplateId:
type: integer
description: Cloud real machine template id
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
taskId:
type: integer
description: Task ID
padCode:
type: string
description: Instance number
vmStatus:
type: integer
description: "Instance online status (0: offline; 1: online)"
taskStatus:
type: integer
description: "Task status (-1: The task already exists, please do not submit it again; 1: The task has been added)"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/asyncCmd:
post:
tags:
- Instance Management
summary: Async execute ADB command
operationId: vcpcloud_api_padApi_asyncCmd_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- padCodes
- scriptContent
properties:
padCodes:
type: array
items:
type: string
scriptContent:
type: string
description: "ADB commands, multiple commands separated by semicolons"
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
traceId:
type: string
description: Link tracking ID
taskId:
type: integer
description: Task ID
padCode:
type: string
description: Instance number
vmStatus:
type: integer
description: "Instance online status (0: offline; 1: online)"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/switchRoot:
post:
tags:
- Instance Management
summary: Switch Root permission
operationId: vcpcloud_api_padApi_switchRoot_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- padCodes
- rootStatus
properties:
padCodes:
type: array
items:
type: string
globalRoot:
type: boolean
description: "Whether to enable global root permissions, not enabled by default"
packageName:
type: string
description: "Application package name (non-global root must be passed) Multiple package names are passed and connected"
rootStatus:
type: integer
description: "root status, 0: off 1: on"
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
taskId:
type: integer
description: Task ID
padCode:
type: string
description: Instance number
vmStatus:
type: integer
description: "Instance online status (0: offline; 1: online)"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/screenshot:
post:
tags:
- Instance Management
summary: Local screenshot
operationId: vcpcloud_api_padApi_screenshot_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- padCodes
- rotation
properties:
padCodes:
type: array
items:
type: string
rotation:
type: integer
description: "Screenshot orientation: 0 = no rotation (default); 1 = normalize to portrait (portrait screenshots unchanged; landscape screenshots rotated 90° clockwise)"
broadcast:
type: boolean
description: Whether the event is broadcast (default false)
definition:
type: integer
description: "Clarity value range 0-100"
resolutionHeight:
type: integer
description: "Resolution - High Greater than 1"
resolutionWidth:
type: integer
description: "Resolution - Width greater than 1"
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
taskId:
type: integer
description: Task ID
padCode:
type: string
description: Instance number
vmStatus:
type: integer
description: Instance online status (0 offline, 1 online)
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/getLongGenerateUrl:
post:
tags:
- Instance Management
summary: Get instance real-time preview image
operationId: vcpcloud_api_padApi_getLongGenerateUrl_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- padCodes
properties:
padCodes:
type: array
items:
type: string
description: Instance list
format:
type: string
description: "Image format, enumeration value: png, jpg, default png, png format does not support compression"
height:
type: string
description: "Zoom height (pixels, if not passed, the original ratio will be maintained). If not filled in, the cloud machine resolution will be used by default."
width:
type: string
description: "Scale width (pixels, if not passed, the original ratio will be maintained). If not filled in, the cloud machine resolution will be used by default."
quality:
type: integer
description: "Image quality (percentage: 0~100, 50% if not transmitted). After testing, if it is lower than 60, the image will be blurry."
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
padCode:
type: string
description: Instance number
url:
type: string
description: Access address
expireAt:
type: integer
description: URL expiration time (millisecond timestamp)
success:
type: boolean
description: Whether the URL was successfully generated
reason:
type: string
description: Reason for failure (null on success)
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/upgradeImage:
post:
tags:
- Instance Management
summary: Upgrade image
operationId: vcpcloud_api_padApi_upgradeImage_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- padCodes
- imageId
- wipeData
properties:
padCodes:
type: array
items:
type: string
imageId:
type: string
description: Image ID
wipeData:
type: boolean
description: "Whether to clear instance data (data partition), true to clear, false not to clear"
enableCpuCoreConfig:
type: boolean
description: "Whether to enable Big/Little CPU core scheduling. Uses Android cpuset mechanism to statically allocate CPU resources across containers on the physical host, reducing peak-time contention."
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
traceId:
type: string
description: Link tracking ID
padCode:
type: string
description: Instance number
taskId:
type: integer
description: Task ID
errorMsg:
type: string
description: Error message (null on success)
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/virtualRealSwitch:
post:
tags:
- Instance Management
summary: Upgrade real device image
operationId: vcpcloud_api_padApi_virtualRealSwitch_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- padCodes
- imageId
- wipeData
- upgradeImageConvertType
properties:
padCodes:
type: array
items:
type: string
imageId:
type: string
description: Image ID
wipeData:
type: boolean
description: "Whether to clear instance data (data partition), true to clear, false not to clear"
realPhoneTemplateId:
type: integer
description: Required when real device template ID upgradeImageConvertType=real
upgradeImageConvertType:
type: string
description: "Convert image type virtual: virtual machine real: cloud real machine"
screenLayoutId:
type: integer
description: Required when screen layout ID upgradeImageConvertType=virtual
certificate:
type: string
description: Custom mobile phone root certificate
deviceAndroidProps:
type: object
description: "For Android property configuration, refer to [Android modified property list](https://cloud.vmoscloud.com/vmoscloud/doc/zh/server/InstanceAndroidPropList.htm"
enableCpuCoreConfig:
type: boolean
description: "Whether to enable Big/Little CPU core scheduling. Uses Android cpuset mechanism to statically allocate CPU resources across containers on the physical host, reducing peak-time contention."
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
traceId:
type: string
description: Link tracking ID
padCode:
type: string
description: Instance number
taskId:
type: integer
description: Task ID
errorMsg:
type: string
description: error message
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/templateList:
post:
tags:
- Instance Management
summary: Paginated get real device templates
operationId: vcpcloud_api_padApi_templateList_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- page
properties:
page:
type: integer
description: Page number Default 1
rows:
type: integer
description: "Display quantity per page Default 10 Value range is 1-100"
responses:
"200":
$ref: "#/components/responses/SuccessResponse"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/modelInfo:
post:
tags:
- Instance Management
summary: Batch get instance model info
operationId: vcpcloud_api_padApi_modelInfo_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- padCodes
properties:
padCodes:
type: array
items:
type: string
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
traceId:
type: string
description: Link tracking ID
padCode:
type: string
description: Instance number
imei:
type: string
description: IMEI
serialno:
type: string
description: serial number
wifimac:
type: string
description: "Wi-Fi mac address"
androidid:
type: string
description: Android instance unique identifier
model:
type: string
description: model
brand:
type: string
description: brand
manufacturer:
type: string
description: Manufacturer
isRoot:
type: string
description: Is it ROOT authority?
width:
type: integer
description: The maximum width of the cloud phone does not exceed 1080
height:
type: integer
description: The maximum height of cloud mobile phones does not exceed 1920
memoryLimit:
type: integer
description: memory limit
bluetoothaddr:
type: string
description: Bluetooth address
phonenum:
type: string
description: phone number
romVersion:
type: string
description: Android version
dataSize:
type: integer
description: Memory size(b)
dataSizeAvailable:
type: integer
description: Remaining available (b)
dataSizeUsed:
type: string
description: Used(b)
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/setSpeed:
post:
tags:
- Instance Management
summary: Set instance bandwidth
operationId: vcpcloud_api_padApi_setSpeed_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- padCodes
- upBandwidth
- downBandwidth
properties:
padCodes:
type: array
items:
type: string
upBandwidth:
type: string
description: "Upstream bandwidth Mbps (0: no limit; -1: limit Internet access)"
downBandwidth:
type: string
description: "Downstream bandwidth Mbps (0: no limit; -1: limit Internet access)"
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
traceId:
type: string
description: Link tracking ID
taskId:
type: integer
description: Task ID
padCode:
type: string
description: Instance number
vmStatus:
type: integer
description: "Instance online status (0: offline; 1: online)"
taskStatus:
type: integer
description: "Task status (-1: The task already exists, please do not submit it again; 1: The task has been added)"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/openOnlineAdb:
post:
tags:
- Instance Management
summary: Enable/disable ADB
operationId: vcpcloud_api_padApi_openOnlineAdb_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- padCodes
- openStatus
properties:
padCodes:
type: array
items:
type: string
description: "Instance list (number of incoming instances 1-200)"
openStatus:
type: integer
description: "Turn on and off ADB status (1 is on, 0 or not passed, default is off)"
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
taskId:
type: integer
description: task id
padCode:
type: string
description: Instance number
taskStatus:
type: integer
description: "Task status (-1 total failure, -2 partial failure, -3 canceled, -4 timeout, -5 exception, 1, waiting for execution, 2 executing, 3 completed)"
taskResult:
type: string
description: Task results
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/adb:
post:
tags:
- Instance Management
summary: Get ADB connection info
operationId: vcpcloud_api_padApi_adb_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- padCode
- enable
properties:
padCode:
type: string
description: Instance number
enable:
type: boolean
description: "ADB status true: open false: closed"
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
traceId:
type: string
description: Link tracking ID
padCode:
type: string
description: Instance number
command:
type: string
description: SSH connection instructions
expireTime:
type: string
description: adb link validity period
enable:
type: boolean
description: "ADB status true: open false: closed"
key:
type: string
description: connection key
adb:
type: string
description: adb connection information
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/batch/adb:
post:
tags:
- Instance Management
summary: Batch get ADB connection info
operationId: vcpcloud_api_padApi_batch_adb_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- padCodes
- enable
properties:
padCodes:
type: array
items:
type: string
description: "List of instance numbers, with a maximum number of 10"
enable:
type: boolean
description: "Whether to open ADB, true means open and return connection information, false means close ADB"
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
traceId:
type: string
description: Link tracking ID
successList:
type: array
items:
type: object
description: List of results of successful batch execution
failedList:
type: array
items:
type: object
description: Result list of failed batch execution
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/simulateTouch:
post:
tags:
- Instance Management
summary: Simulate touch
operationId: vcpcloud_api_padApi_simulateTouch_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- padCodes
properties:
padCodes:
type: array
items:
type: string
description: Instance code needed to trigger click
width:
type: integer
description: Container width
height:
type: integer
description: container height
pointCount:
type: integer
description: "Multi-touch (multiple fingers click on the cloud machine screen effect), default 1, range 1-10, use the default value for other numbers."
positions:
type: array
items:
type: string
description: Click on the coordinate group
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
traceId:
type: string
description: Link tracking ID
padCode:
type: string
description: Instance number
taskId:
type: integer
description: task id
vmStatus:
type: integer
description: "Instance online status (0: offline; 1: online)"
taskStatus:
type: integer
description: "Task status (-1: The task already exists, please do not submit it again; 1: The task has been added)"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/padTaskDetail:
post:
tags:
- Instance Management
summary: Instance operation task details
operationId: vcpcloud_api_padApi_padTaskDetail_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- taskIds
- taskId
properties:
taskIds:
type: array
items:
type: integer
description: Task ID list
taskId:
type: integer
description: Task ID
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
traceId:
type: string
description: Link tracking ID
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/executeScriptInfo:
post:
tags:
- Instance Management
summary: Get instance script execution result
operationId: vcpcloud_api_padApi_executeScriptInfo_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- taskIds
properties:
taskIds:
type: array
items:
type: integer
description: "Required. Task ID list, length 1-100"
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
traceId:
type: string
description: Link tracking ID
taskId:
type: integer
description: Task ID
padCode:
type: string
description: Instance number
taskStatus:
type: integer
description: "Task status (-1: Full failure; -2: Partial failure; -3: Cancellation; -4: Timeout; 1: To be executed; 2: Executing; 3: Completed)"
endTime:
type: integer
description: Task execution end time
taskContent:
type: string
description: Task content
taskResult:
type: string
description: Task results
errorMsg:
type: string
description: Reason for failure
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/screenshotInfo:
post:
tags:
- Instance Management
summary: Get instance screenshot result
operationId: vcpcloud_api_padApi_screenshotInfo_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- taskIds
properties:
taskIds:
type: array
items:
type: integer
description: Task ID list (required)
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
traceId:
type: string
description: Link tracking ID
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/padExecuteTaskInfo:
post:
tags:
- Instance Management
summary: Instance restart/reset execution result
operationId: vcpcloud_api_padApi_padExecuteTaskInfo_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- taskIds
properties:
taskIds:
type: array
items:
type: integer
description: Task ID list (required)
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
traceId:
type: string
description: Link tracking ID
taskId:
type: integer
description: Task ID
padCode:
type: string
description: Instance number
taskStatus:
type: integer
description: "Task status: (-1: Full failure; -2: Partial failure; -3: Cancellation; -4: Timeout; 1: To be executed; 2: Executing; 3: Completed)"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/infos:
post:
tags:
- Instance Management
summary: Instance group list / instance list info
operationId: vcpcloud_api_padApi_infos_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- page
- rows
properties:
page:
type: integer
description: page number
rows:
type: integer
description: Number of items
padType:
type: string
description: "Instance type (virtual: virtual machine; real: real machine)"
padCodes:
type: array
items:
type: string
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
page:
type: integer
description: Current page
rows:
type: integer
description: quantity per page
size:
type: integer
description: Number of current pages
total:
type: integer
description: Total number of records
totalPage:
type: integer
description: Total pages
pageData:
type: array
items:
type: object
description: list
padCode:
type: string
description: Instance number
padGrade:
type: string
description: "Instance concurrency tier (e.g. q1-6: 6 concurrent sessions; q1-2: 2 concurrent sessions)"
padStatus:
type: string
description: "Instance status (10-Running 11-Restarting 12-Resetting 13-Upgrading 14-Exception 15-Not ready)"
deviceIp:
type: string
description: Cloud machine ip
padIp:
type: string
description: instance ip
apps:
type: array
items:
type: object
description: Installed apps list
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/addPhoneRecord:
post:
tags:
- Instance Management
summary: Import call records
operationId: vcpcloud_api_padApi_addPhoneRecord_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- padCodes
- callRecords
properties:
padCodes:
type: array
items:
type: string
description: Need to edit the instance code of the call record
callRecords:
type: array
items:
type: string
description: Call history
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
padCode:
type: string
description: Instance number
taskId:
type: integer
description: task id
vmStatus:
type: integer
description: "Instance online status (0: offline; 1: online)"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/inputText:
post:
tags:
- Instance Management
summary: Cloud phone text input
operationId: vcpcloud_api_padApi_inputText_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- padCodes
- text
properties:
padCodes:
type: array
items:
type: string
description: Instance code list
text:
type: string
description: Text to input into the instance
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
padCode:
type: string
description: Instance number
taskId:
type: integer
description: task id
vmStatus:
type: string
description: Instance online status
taskStatus:
type: string
description: Task current status
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/simulateSendSms:
post:
tags:
- Instance Management
summary: Simulate send SMS
operationId: vcpcloud_api_padApi_simulateSendSms_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- padCodes
- senderNumber
- smsContent
properties:
padCodes:
type: array
items:
type: string
description: "Example encoding list, quantity 1-100"
senderNumber:
type: string
description: "Sender number, mainland numbers are not supported. (Format: Length limited to 16 characters, numbers, English, spaces, +- signs allowed)"
smsContent:
type: string
description: "SMS content (length limit: 127 characters)"
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
traceId:
type: string
description: Tracking ID
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/resetGAID:
post:
tags:
- Instance Management
summary: Reset GAID
operationId: vcpcloud_api_padApi_resetGAID_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- padCodes
- resetGmsType
- taskSource
properties:
padCodes:
type: array
items:
type: string
resetGmsType:
type: string
description: "Reset gms type, optional: GAID"
oprBy:
type: string
description: operator
taskSource:
type: string
description: "Task source, optional: OPEN_PLATFORM"
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
taskId:
type: integer
description: Task ID
padCode:
type: string
description: Instance number
vmStatus:
type: integer
description: "Instance online status (0: offline; 1: online)"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/injectAudioToMic:
post:
tags:
- Instance Management
summary: Inject audio to instance microphone
operationId: vcpcloud_api_padApi_injectAudioToMic_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- padCodes
- enable
properties:
padCodes:
type: array
items:
type: string
description: Instance code list
url:
type: string
description: Audio file download address (this field and fileUniqueId choose 1 from 2 values)
fileUniqueId:
type: string
description: File id uniquely identifies (this field and url select 1 from 2 values)
enable:
type: boolean
description: injection switch
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
padCode:
type: string
description: Instance number
taskId:
type: integer
description: task id
vmStatus:
type: integer
description: "Instance online status (0: offline; 1: online)"
taskStatus:
type: integer
description: "Task status (-1: The task already exists, please do not submit it again; 1: The task has been added)"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/localPodBackup:
post:
tags:
- Instance Management
summary: Create local instance backup
operationId: vcpcloud_api_padApi_localPodBackup_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- padCode
- ossConfig
properties:
padCode:
type: string
description: "Instance number, cannot be empty, maximum 64 characters"
backupName:
type: string
description: "Backup name, maximum 128 characters"
backupPath:
type: string
description: "Do not start with /, the backup data storage path is saved in the root directory `/{backup ID}/` by default, with a maximum of 256 characters."
ossConfig:
type: object
description: "Object storage configuration, needs to support S3 protocol, cannot be empty and is permanently authorized"
credentialType:
type: integer
description: "Voucher type: 1-permanent voucher, 2-temporary voucher"
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
traceId:
type: string
description: Request link tracking ID for troubleshooting
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/localPodRestore:
post:
tags:
- Instance Management
summary: Create local instance restore
operationId: vcpcloud_api_padApi_localPodRestore_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- backupId
- padCode
- ossConfig
properties:
backupId:
type: string
description: Backup ID maximum 128 characters
padCode:
type: string
description: "Instance number, cannot be empty, maximum 64 characters"
ossConfig:
type: object
description: "Object storage configuration, needs to support S3 protocol, cannot be empty and is permanently authorized"
credentialType:
type: integer
description: "Voucher type: 1-permanent voucher, 2-temporary voucher"
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
traceId:
type: string
description: Request link tracking ID for troubleshooting
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/localPodBackupSelectPage:
post:
tags:
- Instance Management
summary: Local instance backup result query
operationId: vcpcloud_api_padApi_localPodBackupSelectPage_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- padCodes
- padCode
properties:
page:
type: integer
description: Current page
rows:
type: integer
description: quantity per page
padCodes:
type: array
items:
type: string
padCode:
type: string
description: "Instance number, a maximum of 100 instances can be passed in"
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
traceId:
type: string
description: Request link tracking ID for troubleshooting
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/cleanAppHome:
post:
tags:
- Instance Management
summary: Clear all app processes and return to home screen
operationId: vcpcloud_api_padApi_cleanAppHome_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- padCodes
properties:
padCodes:
type: array
items:
type: string
description: Instance code list
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
traceId:
type: string
description: Tracking ID
padCode:
type: string
description: Instance number
taskId:
type: integer
description: task id
vmStatus:
type: integer
description: "Instance online status (0: offline; 1: online)"
taskStatus:
type: integer
description: "Task status (-1: The task already exists, please do not submit it again; 1: The task has been added)"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/unmannedLive:
post:
tags:
- Instance Management
summary: Unmanned live streaming
operationId: vcpcloud_api_padApi_unmannedLive_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- padCodes
properties:
padCodes:
type: array
items:
type: string
description: "Instance coding (1-100)"
injectSwitch:
type: boolean
description: "Whether to enable video injection (true: enable, false: cancel). The default is false."
injectLoop:
type: boolean
description: "Whether to loop (true: yes false: no) The default is false"
injectUrl:
type: string
description: "Single video injection address, supports http/https/rtmp:// and local path, and at least one item is passed with injectUrls"
injectUrls:
type: array
items:
type: string
description: "Video injection address list (up to 5), supports http/https/rtmp:// and local paths, and passes at least one item with injectUrl"
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
traceId:
type: string
description: Tracking ID
padCode:
type: string
description: Instance number
taskId:
type: integer
description: task id
vmStatus:
type: integer
description: "Instance online status (0: offline; 1: online)"
taskStatus:
type: integer
description: "Task status (-1: The task already exists, please do not submit it again; 1: The task has been added)"
errMsg:
type: string
description: Error message
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/injectPicture:
post:
tags:
- Instance Management
summary: Image injection (camera feed replacement)
operationId: vcpcloud_api_padApi_injectPicture_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- padCodes
- injectUrl
properties:
padCodes:
type: array
items:
type: string
description: "Instance coding (1-100)"
injectSwitch:
type: boolean
description: "Whether to enable image injection (true: enable, false: cancel). The default is false."
injectLoop:
type: boolean
description: "Whether to loop (true: yes false: no) The default is false"
injectUrl:
type: string
description: "Image injection address, supports http https rtmp://"
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
traceId:
type: string
description: Tracking ID
padCode:
type: string
description: Instance number
taskId:
type: integer
description: task id
vmStatus:
type: integer
description: "Instance online status (0: offline; 1: online)"
taskStatus:
type: integer
description: "Task status (-1: The task already exists, please do not submit it again; 1: The task has been added)"
errMsg:
type: string
description: Error message
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/addUserRom:
post:
tags:
- Instance Management
summary: Upload user image
operationId: vcpcloud_api_padApi_addUserRom_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- name
- updateLog
- androidVersion
- version
- downloadUrl
- packageSize
properties:
name:
type: string
description: ROM name
updateLog:
type: string
description: Change log
androidVersion:
type: string
description: Android version
version:
type: string
description: Version
downloadUrl:
type: string
description: address
packageSize:
type: string
description: "Size (unit: Byte)"
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
fieldName:
type: string
description: ROM field name
value:
type: string
description: Field value or description
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/replacement:
post:
tags:
- Instance Management
summary: Device replacement
operationId: vcpcloud_api_padApi_replacement_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- padCode
properties:
padCode:
type: string
description: Instance number
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
equipmentId:
type: integer
description: Device number
padCode:
type: string
description: Instance number
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/confirmTransfer:
post:
tags:
- Instance Management
summary: Transfer cloud phone
operationId: vcpcloud_api_padApi_confirmTransfer_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- padCodes
- makeOverMobilePhone
properties:
padCodes:
type: array
items:
type: string
description: List of instance numbers to transfer
makeOverMobilePhone:
type: string
description: The account email that receives the transferred device
responses:
"200":
$ref: "#/components/responses/SuccessResponse"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/setHideAccessibilityAppList:
post:
tags:
- Instance Management
summary: Hide accessibility service
operationId: vcpcloud_api_padApi_setHideAccessibilityAppList_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- padCodes
- appInfos
properties:
padCodes:
type: array
items:
type: string
description: Array of instance numbers (up to 200)
appInfos:
type: array
items:
type: string
description: "Hide the application list object array, and pass an empty array [] to indicate clearing (0-200)"
packageName:
type: string
description: "Application package name. Required when appInfos is non-empty."
responses:
"200":
$ref: "#/components/responses/SuccessResponse"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/uninstallApp:
post:
tags:
- Application Management
summary: Uninstall app
operationId: vcpcloud_api_padApi_uninstallApp_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- apkPackageList
- padCodeList
properties:
apkPackageList:
type: array
items:
type: string
description: Package name collection
padCodeList:
type: array
items:
type: string
responses:
"200":
$ref: "#/components/responses/SuccessResponse"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/startApp:
post:
tags:
- Application Management
summary: Start app
operationId: vcpcloud_api_padApi_startApp_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- pkgName
- padCodes
properties:
pkgName:
type: string
description: package name
padCodes:
type: array
items:
type: string
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
taskId:
type: integer
description: Task ID
padCode:
type: string
description: Instance number
vmStatus:
type: integer
description: "Instance online status (0: offline; 1: online)"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/stopApp:
post:
tags:
- Application Management
summary: Stop app
operationId: vcpcloud_api_padApi_stopApp_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- pkgName
- padCodes
properties:
pkgName:
type: string
description: package name
padCodes:
type: array
items:
type: string
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
taskId:
type: integer
description: Task ID
padCode:
type: string
description: Instance number
vmStatus:
type: integer
description: "Instance online status (0: offline; 1: online)"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/restartApp:
post:
tags:
- Application Management
summary: Restart app
operationId: vcpcloud_api_padApi_restartApp_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- pkgName
- padCodes
properties:
pkgName:
type: string
description: package name
padCodes:
type: array
items:
type: string
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
taskId:
type: integer
description: Task ID
padCode:
type: string
description: Instance number
vmStatus:
type: integer
description: "Instance online status (0: offline; 1: online)"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/uploadFileV3:
post:
tags:
- Application Management
summary: Upload file via URL
operationId: vcpcloud_api_padApi_uploadFileV3_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- padCodes
properties:
padCodes:
type: array
items:
type: string
padCode:
type: string
description: Instance number
autoInstall:
type: integer
description: "Whether automatic installation is required: 1 required, 0 not required. If left blank, it is not required by default. Only effective for apk type files"
fileUniqueId:
type: string
description: The unique identifier of the file id
customizeFilePath:
type: string
description: "Custom path. It is not required and must start with /. (Examples: \\\"/DCIM/\\\", \\\"/Documents/\\\", \\\"/Download/\\\", \\\"/Movies/\\\", \\\"/Music/\\\", \\\"/Pictures/\\\")"
fileName:
type: string
description: File name
packageName:
type: string
description: File package name
url:
type: string
description: File installation path
md5:
type: string
description: file unique identifier
isAuthorization:
type: boolean
description: Whether to authorize (default full authorization)
iconPath:
type: string
description: Icon display during installation
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
padCode:
type: string
description: Instance number
taskId:
type: integer
description: Task ID
vmStatus:
type: integer
description: "Instance online status (0: offline; 1: online)"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/uploadFile:
post:
tags:
- Application Management
summary: Upload file to cloud storage
operationId: vcpcloud_api_padApi_uploadFile_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- file
properties:
file:
type: string
description: Files to be uploaded
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
downloadUrl:
type: string
description: File download link
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/deleteOssFiles:
post:
tags:
- Application Management
summary: Delete cloud storage files
operationId: vcpcloud_api_padApi_deleteOssFiles_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- files
properties:
files:
type: array
items:
type: string
description: Cloud space file unique ID list
urls:
type: array
items:
type: string
description: Cloud space file url address collection
responses:
"200":
$ref: "#/components/responses/SuccessResponse"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/selectFiles:
post:
tags:
- Application Management
summary: Query user file list
operationId: vcpcloud_api_padApi_selectFiles_post
requestBody:
content:
application/json:
schema:
type: object
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
appName:
type: string
description: File name
downloadUrl:
type: string
description: File download link
packageName:
type: string
description: "APK package name, only available in ap file"
fileId:
type: integer
description: Cloud space file number
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/fileTaskDetail:
post:
tags:
- Task Management
summary: File task details
operationId: vcpcloud_api_padApi_fileTaskDetail_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- taskIds
- taskId
properties:
taskIds:
type: array
items:
type: integer
description: Task ID list
taskId:
type: integer
description: Task ID
responses:
"200":
$ref: "#/components/responses/SuccessResponse"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/createMoneyOrder:
post:
tags:
- Cloud Phone Management
summary: Create/renew cloud phone
operationId: vcpcloud_api_padApi_createMoneyOrder_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- androidVersionName
- goodId
- goodNum
- autoRenew
- equipmentId
properties:
androidVersionName:
type: string
description: "Android version: Android10, Android13, Android14"
goodId:
type: integer
description: "Product Id (corresponding to <a href=\\\"/vmoscloud/doc/zh/server/OpenAPI.html#sku package list\\\" style=\\\"color:green;\\\"> sku package list</a>"
goodNum:
type: integer
description: Product quantity
autoRenew:
type: boolean
description: "Whether to automatically renew (default enabled) true-on, false-off"
equipmentId:
type: string
description: "(No need to fill in for newly purchased equipment, must be filled in for renewal equipment) Renewal equipment number (multiple devices are separated by commas)"
countryCode:
type: string
description: "Country code, used to specify the region where the cloud phone belongs"
responses:
"200":
$ref: "#/components/responses/SuccessResponse"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/userPadList:
post:
tags:
- Cloud Phone Management
summary: Cloud phone list
operationId: vcpcloud_api_padApi_userPadList_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- padCode
properties:
padCode:
type: string
description: Instance number
equipmentIds:
type: array
items:
type: string
description: Device number list
responses:
"200":
$ref: "#/components/responses/SuccessResponse"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/padInfo:
post:
tags:
- Cloud Phone Management
summary: Cloud phone info query
operationId: vcpcloud_api_padApi_padInfo_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- padCode
properties:
padCode:
type: string
description: Instance number
responses:
"200":
$ref: "#/components/responses/SuccessResponse"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/getCloudGoodList:
get:
tags:
- Cloud Phone Management
summary: SKU package list
operationId: vcpcloud_api_padApi_getCloudGoodList_get
parameters:
- name: androidVersion
in: query
required: false
description: "Android version number (if not filled in, the default is Android 13)"
schema:
type: integer
responses:
"200":
$ref: "#/components/responses/SuccessResponse"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/createMoneyProOrder:
post:
tags:
- Cloud Phone Management
summary: Device presale purchase
operationId: vcpcloud_api_padApi_createMoneyProOrder_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- androidVersionName
- goodId
- goodNum
- autoRenew
properties:
androidVersionName:
type: string
description: "Android version: Android10, Android13, Android14"
goodId:
type: integer
description: "Product Id (corresponding to <a href=\\\"/vmoscloud/doc/zh/server/OpenAPI.html#sku package list\\\" style=\\\"color:green;\\\"> sku package list</a>"
goodNum:
type: integer
description: Product quantity
autoRenew:
type: boolean
description: "Whether to automatically renew (default is off) true-on, false-off"
responses:
"200":
$ref: "#/components/responses/SuccessResponse"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/queryProOrderList:
post:
tags:
- Cloud Phone Management
summary: Query presale order result details
operationId: vcpcloud_api_padApi_queryProOrderList_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- proBuyStatus
properties:
proBuyStatus:
type: integer
description: "1-To be shipped 2-Has been shipped If empty, default to all"
orderId:
type: integer
description: "Pre-sale order number"
responses:
"200":
$ref: "#/components/responses/SuccessResponse"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/imageVersionList:
post:
tags:
- Cloud Phone Management
summary: Android image version list
operationId: vcpcloud_api_padApi_imageVersionList_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- padCode
properties:
padCode:
type: string
description: Device number
responses:
"200":
$ref: "#/components/responses/SuccessResponse"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/createByTimingOrder:
post:
tags:
- Cloud Phone Management
summary: Create timing device order
operationId: vcpcloud_api_padApi_createByTimingOrder_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- goodId
- goodNum
properties:
goodId:
type: integer
description: "Product Id (corresponding to <a href=\\\"/vmoscloud/doc/zh/server/OpenAPI.html#sku package list\\\" style=\\\"color:green;\\\"> sku package list</a>"
goodNum:
type: integer
description: Product quantity
responses:
"200":
$ref: "#/components/responses/SuccessResponse"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/timingPadOn:
post:
tags:
- Cloud Phone Management
summary: Timing device power on
operationId: vcpcloud_api_padApi_timingPadOn_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- padCodes
properties:
padCodes:
type: array
items:
type: string
description: Instance number set
defCode:
type: integer
description: "Whether to boot as a new machine 0-No 1-Yes Default is 0 High priority"
netStorageResUnitCode:
type: string
description: Specify the backup resource package ID for startup. The priority is low.
responses:
"200":
$ref: "#/components/responses/SuccessResponse"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/timingPadOff:
post:
tags:
- Cloud Phone Management
summary: Timing device power off
operationId: vcpcloud_api_padApi_timingPadOff_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- padCodes
properties:
padCodes:
type: array
items:
type: string
description: Instance number set
isBackUp:
type: integer
description: "Whether to back up 0-no 1-yes Default backup"
remark:
type: string
description: Add a description to the resource package that currently needs to be backed up
responses:
"200":
$ref: "#/components/responses/SuccessResponse"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/timingPadDel:
post:
tags:
- Cloud Phone Management
summary: Timing device destroy
operationId: vcpcloud_api_padApi_timingPadDel_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- padCodes
properties:
padCodes:
type: array
items:
type: string
description: Instance number set
responses:
"200":
$ref: "#/components/responses/SuccessResponse"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/vcTimingBackupList:
get:
tags:
- Cloud Phone Management
summary: Storage resource package list
operationId: vcpcloud_api_padApi_vcTimingBackupList_get
responses:
"200":
$ref: "#/components/responses/SuccessResponse"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/getRenewStorageInfo:
get:
tags:
- Cloud Phone Management
summary: Cloud storage remaining capacity
operationId: vcpcloud_api_padApi_getRenewStorageInfo_get
responses:
"200":
$ref: "#/components/responses/SuccessResponse"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/getVcStorageGoods:
get:
tags:
- Cloud Phone Management
summary: Cloud storage product list
operationId: vcpcloud_api_padApi_getVcStorageGoods_get
responses:
"200":
$ref: "#/components/responses/SuccessResponse"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/buyStorageGoods:
post:
tags:
- Cloud Phone Management
summary: Purchase cloud storage expansion
operationId: vcpcloud_api_padApi_buyStorageGoods_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- storageId
- autoRenewOrder
properties:
storageId:
type: integer
description: Cloud space expansion product unique ID
autoRenewOrder:
type: integer
description: "Whether to renew automatically 0-no 1-yes"
responses:
"200":
$ref: "#/components/responses/SuccessResponse"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/selectAutoRenew:
get:
tags:
- Cloud Phone Management
summary: Cloud storage renewal details query
operationId: vcpcloud_api_padApi_selectAutoRenew_get
responses:
"200":
$ref: "#/components/responses/SuccessResponse"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/renewsStorageGoods:
post:
tags:
- Cloud Phone Management
summary: Aggregate renew cloud storage products
operationId: vcpcloud_api_padApi_renewsStorageGoods_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- autoRenewOrder
properties:
autoRenewOrder:
type: integer
description: "Whether to renew automatically 0-no 1-yes"
responses:
"200":
$ref: "#/components/responses/SuccessResponse"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/updateRenewStorageStatus:
get:
tags:
- Cloud Phone Management
summary: Cloud storage auto-renewal switch
operationId: vcpcloud_api_padApi_updateRenewStorageStatus_get
parameters:
- name: renewStorageStatus
in: query
required: true
description: "Whether to renew automatically false-no true-yes"
schema:
type: string
responses:
"200":
$ref: "#/components/responses/SuccessResponse"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/deleteUploadFiles:
post:
tags:
- Cloud Phone Management
summary: Delete backup resource package data
operationId: vcpcloud_api_padApi_deleteUploadFiles_post
requestBody:
content:
application/json:
schema:
type: object
responses:
"200":
$ref: "#/components/responses/SuccessResponse"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/toggleProcessHide:
post:
tags:
- Cloud Phone Management
summary: Show or hide app process
operationId: vcpcloud_api_padApi_toggleProcessHide_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- padCodes
- show
- packageName
properties:
padCodes:
type: array
items:
type: string
show:
type: boolean
description: "Hide process: true-hide false-restore"
packageName:
type: string
description: Application package name
responses:
"200":
$ref: "#/components/responses/SuccessResponse"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/getEmailServiceList:
get:
tags:
- Email Verification Service
summary: Get email service list
operationId: vcpcloud_api_padApi_getEmailServiceList_get
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
price:
type: string
description: price
stockNum:
type: integer
description: remaining stock
serviceId:
type: string
description: Service list number
serviceName:
type: string
description: Service name
items:
type: array
items:
type: object
description: Subservice list
serviceItemId:
type: integer
description: Subservice unique ID (ID used when purchasing)
serviceItemName:
type: string
description: Subservice name
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/getEmailTypeList:
get:
tags:
- Email Verification Service
summary: Get email type and remaining stock
operationId: vcpcloud_api_padApi_getEmailTypeList_get
parameters:
- name: serviceId
in: query
required: false
description: Corresponding to serviceItemId field
schema:
type: integer
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
price:
type: string
description: price
name:
type: string
description: Type name
stockNum:
type: integer
description: remaining stock
id:
type: integer
description: Mailbox type number
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/createEmailOrder:
post:
tags:
- Email Verification Service
summary: Create email order
operationId: vcpcloud_api_padApi_createEmailOrder_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- serviceId
properties:
serviceId:
type: integer
description: Corresponding to serviceItemId field
emailTypeId:
type: integer
description: Corresponds to the ID field returned by /getEmailTypeList
goodNum:
type: integer
description: Purchase quantity
responses:
"200":
$ref: "#/components/responses/SuccessResponse"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/getEmailOrder:
get:
tags:
- Email Verification Service
summary: Query purchased email list
operationId: vcpcloud_api_padApi_getEmailOrder_get
parameters:
- name: page
in: query
required: true
description: "Current page number (1-based)"
schema:
type: integer
- name: size
in: query
required: true
description: "Number of items per page"
schema:
type: integer
- name: serviceId
in: query
required: false
description: "Filter by email service item ID (corresponds to serviceItemId field)"
schema:
type: integer
- name: email
in: query
required: false
description: "Filter by email address (fuzzy match)"
schema:
type: string
- name: status
in: query
required: false
description: "Filter by email status: 0-unused, 1-receiving, 2-used, 3-expired"
schema:
type: integer
responses:
"200":
$ref: "#/components/responses/SuccessResponse"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/getEmailCode:
get:
tags:
- Email Verification Service
summary: Refresh get email verification code
operationId: vcpcloud_api_padApi_getEmailCode_get
parameters:
- name: orderId
in: query
required: true
description: "Email order ID (corresponds to the outOrderId field returned by /getEmailOrder)"
schema:
type: string
responses:
"200":
$ref: "#/components/responses/SuccessResponse"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/getDynamicGoodService:
get:
tags:
- Dynamic Proxy Service
summary: Query dynamic proxy product list
operationId: vcpcloud_api_padApi_getDynamicGoodService_get
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
goodName:
type: string
description: Product name
goodId:
type: integer
description: Product unique number
goodPrice:
type: string
description: Product price
protocolDescription:
type: string
description: Supported protocol information
totalTraffic:
type: array
items:
type: object
description: Traffic packet size
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/getDynamicProxyRegion:
get:
tags:
- Dynamic Proxy Service
summary: Query dynamic proxy region list
operationId: vcpcloud_api_padApi_getDynamicProxyRegion_get
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
CountryName:
type: string
description: country name
CountryCode:
type: string
description: Country Code
State:
type: array
items:
type: object
description: Area list
city:
type: array
items:
type: object
description: City list
name:
type: string
description: area name
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/queryCurrentTrafficBalance:
get:
tags:
- Dynamic Proxy Service
summary: Get dynamic proxy current balance
operationId: vcpcloud_api_padApi_queryCurrentTrafficBalance_get
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
accumulatedTraffic:
type: string
description: total traffic
remainingTraffic:
type: array
items:
type: object
description: remaining traffic
useTraffic:
type: array
items:
type: object
description: Data used
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/getDynamicProxyHost:
get:
tags:
- Dynamic Proxy Service
summary: Query supported server regions
operationId: vcpcloud_api_padApi_getDynamicProxyHost_get
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
name:
type: string
description: continent name
value:
type: string
description: Continent server address
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/buyDynamicProxy:
post:
tags:
- Dynamic Proxy Service
summary: Purchase dynamic proxy traffic package
operationId: vcpcloud_api_padApi_buyDynamicProxy_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- goodId
properties:
goodId:
type: integer
description: The unique ID corresponding to the dynamic traffic packet
goodNum:
type: integer
description: Purchase quantity
autoRenewOrder:
type: integer
description: "Turn on automatic renewal 0-off 1-on When the remaining traffic is less than 50MB, automatic renewal is triggered."
responses:
"200":
$ref: "#/components/responses/SuccessResponse"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/createProxy:
post:
tags:
- Dynamic Proxy Service
summary: Create dynamic proxy
operationId: vcpcloud_api_padApi_createProxy_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- city
properties:
city:
type: string
description: "City If not selected, please send \\\"\\\""
countryCode:
type: string
description: Country Code
goodNum:
type: integer
description: Purchase quantity
proxyHost:
type: string
description: continent website
proxyType:
type: string
description: Proxy type socks5/http/https
proxyUseType:
type: string
description: "Mounting method: proxy/vpn"
state:
type: string
description: "Region If not selected, please send \\\"\\\""
time:
type: string
description: "Automatically change IP frequency (minutes) optional 5, 10, 15, 30, 45, 60, 90"
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
id:
type: integer
description: Agent ID
proxyHost:
type: string
description: dynamic proxy
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/getProxys:
get:
tags:
- Dynamic Proxy Service
summary: Query dynamic proxy list
operationId: vcpcloud_api_padApi_getProxys_get
parameters:
- name: page
in: query
required: false
description: Current page
schema:
type: integer
- name: rows
in: query
required: false
description: Number of items per page
schema:
type: integer
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
records:
type: array
items:
type: object
description: Dynamic proxy information
id:
type: string
description: Agent unique number
proxyHost:
type: string
description: Continent server domain name
proxyPort:
type: string
description: continent server port
userName:
type: string
description: Dynamic proxy username
password:
type: string
description: Dynamic proxy password
proxyType:
type: string
description: Dynamic proxy protocol type
proxyUseType:
type: string
description: Dynamic proxy mounting method
countryCode:
type: string
description: Country Code
state:
type: string
description: area
city:
type: string
description: City
time:
type: integer
description: Refresh frequency
total:
type: integer
description: Number of agents
size:
type: integer
description: Impressions per page
pages:
type: integer
description: Total pages
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/getDynamicProxyOrders:
post:
tags:
- Dynamic Proxy Service
summary: Query dynamic proxy order list
operationId: vcpcloud_api_padApi_getDynamicProxyOrders_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- page
properties:
page:
type: integer
description: Current page
rows:
type: integer
description: Number of items per page
completeStartTime:
type: string
description: Payment start time
completeEndTime:
type: string
description: Payment end time
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
records:
type: array
items:
type: object
description: Dynamic proxy information
orderId:
type: string
description: Platform unique ID
orderPrice:
type: integer
description: Order amount points
payPrice:
type: integer
description: Payment amount points
createTime:
type: string
description: creation time
completeTime:
type: string
description: payment time
orderStatus:
type: integer
description: "Order status 0-pending payment 1-paid"
goodId:
type: integer
description: Product unique ID
goodNum:
type: integer
description: Purchase quantity
goodName:
type: string
description: Product name
goodPrice:
type: integer
description: Product unit price
goodSize:
type: integer
description: Product traffic package is available for purchase
sumSize:
type: integer
description: Total order traffic package size
orderOtherInfo:
type: string
description: Order instructions
autoRenewOrder:
type: integer
description: "Whether to enable renewal 1-enable 0-disable (valid globally)"
total:
type: integer
description: Number of agents
size:
type: integer
description: Impressions per page
pages:
type: integer
description: Total pages
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/batchPadConfigProxy:
post:
tags:
- Dynamic Proxy Service
summary: Configure dynamic proxy for instances
operationId: vcpcloud_api_padApi_batchPadConfigProxy_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- padCodes
properties:
padCodes:
type: array
items:
type: string
description: Cloud machine collection
setProxyFlag:
type: boolean
description: Whether the device is proxied to the cloud machine
proxyIds:
type: array
items:
type: string
description: Dynamic agent unique ID
responses:
"200":
$ref: "#/components/responses/SuccessResponse"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/selectBatchPadProxyTask:
post:
tags:
- Dynamic Proxy Service
summary: Query batch instance set proxy task
operationId: vcpcloud_api_padApi_selectBatchPadProxyTask_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- taskId
properties:
taskId:
type: integer
description: "Batch ID, mounting the agent is an asynchronous operation, so you need to wait 5s or query in a loop"
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
padCode:
type: string
description: Device number
taskId:
type: integer
description: "Task ID, query results through cloud machine tasks"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/getDynamicProxyAutomaticRenewal:
get:
tags:
- Dynamic Proxy Service
summary: Query dynamic proxy auto-renewal info
operationId: vcpcloud_api_padApi_getDynamicProxyAutomaticRenewal_get
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
good_size:
type: integer
description: Renewal traffic package size
auto_renew_order:
type: integer
description: "Whether to turn on automatic renewal 0-off 1-on"
order_price:
type: integer
description: The amount to be deducted for automatic renewal
good_name:
type: string
description: Automatic renewal product name
good_number:
type: integer
description: Number of automatically renewed items
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/setAutoRenewSwitch:
post:
tags:
- Dynamic Proxy Service
summary: Set dynamic proxy auto-renewal switch
operationId: vcpcloud_api_padApi_setAutoRenewSwitch_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- autoRenewOrder
properties:
autoRenewOrder:
type: integer
description: "Automatic renewal switch 0-off 1-on"
responses:
"200":
$ref: "#/components/responses/SuccessResponse"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/delProxyByIds:
post:
tags:
- Dynamic Proxy Service
summary: Delete dynamic proxy
operationId: vcpcloud_api_padApi_delProxyByIds_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- ids
properties:
ids:
type: array
items:
type: string
description: Dynamic proxy ID list to delete
responses:
"200":
$ref: "#/components/responses/SuccessResponse"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/proxyGoodList:
get:
tags:
- Static Residential Proxy Service
summary: Get static residential product list
operationId: vcpcloud_api_padApi_proxyGoodList_get
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
proxyGoodName:
type: string
description: Product name
proxyGoodId:
type: integer
description: Product unique number
proxyGoodPrice:
type: integer
description: Product price (cents)
proxyGoodType:
type: integer
description: "Agent product type: 0-general 1-socket5 2-http 3-https"
proxyGoodTime:
type: integer
description: Product duration (minutes)
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/getProxyRegion:
get:
tags:
- Static Residential Proxy Service
summary: Get static residential supported countries/cities
operationId: vcpcloud_api_padApi_getProxyRegion_get
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
country:
type: string
description: Supported country codes
countryZh:
type: string
description: Supported countries description
countryId:
type: integer
description: National unique number
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/createProxyOrder:
post:
tags:
- Static Residential Proxy Service
summary: Static residential product purchase
operationId: vcpcloud_api_padApi_createProxyOrder_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- proxyGoodId
properties:
proxyGoodId:
type: integer
description: The unique ID corresponding to the static residential product
region:
type: string
description: "Static residential area-country"
num:
type: integer
description: Purchase quantity
country:
type: string
description: "static residential country-country"
proxyAddress:
type: string
description: "Static residential address-countryZh"
autoRenew:
type: boolean
description: "Turn on automatic renewal false-off true-on"
responses:
"200":
$ref: "#/components/responses/SuccessResponse"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/selectProxyOrderList:
post:
tags:
- Static Residential Proxy Service
summary: Static residential proxy order details
operationId: vcpcloud_api_padApi_selectProxyOrderList_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- page
properties:
page:
type: integer
description: Which page
rows:
type: integer
description: How many items to display per page
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
total:
type: integer
description: Number of items
size:
type: integer
description: Impressions per page
pages:
type: integer
description: Total pages
records:
type: array
items:
type: object
description: Order information
buyNumber:
type: string
description: Purchase quantity
goodName:
type: string
description: Product name
createTime:
type: integer
description: creation time
orderId:
type: string
description: Order ID
payPrice:
type: string
description: Payment amount
orderStatus:
type: string
description: "Order status 0-pending payment 1-paid"
orderPrice:
type: string
description: Order amount
goodPrice:
type: string
description: Product unit price
goodNum:
type: string
description: Product quantity
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/createRenewProxyOrder:
post:
tags:
- Static Residential Proxy Service
summary: Static residential proxy renewal
operationId: vcpcloud_api_padApi_createRenewProxyOrder_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- proxyGoodId
properties:
proxyGoodId:
type: integer
description: The unique ID corresponding to the static residential product
proxyIps:
type: string
description: "Renewal IP, multiple, divided by"
autoRenew:
type: boolean
description: "Turn on automatic renewal false-off true-on"
responses:
"200":
$ref: "#/components/responses/SuccessResponse"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/queryProxyList:
post:
tags:
- Static Residential Proxy Service
summary: Query static residential proxy list
operationId: vcpcloud_api_padApi_queryProxyList_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- current
properties:
current:
type: integer
description: Which page
size:
type: integer
description: How many items to display per page
responses:
"200":
description: Success response
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: object
properties:
total:
type: integer
description: Number of items
size:
type: integer
description: Impressions per page
pages:
type: integer
description: Total pages
records:
type: array
items:
type: object
description: Order information
proxyStatus:
type: integer
description: "Agent status: 0-Detecting 1-Normal -1 Detection failed 2-To be detected"
proxyGoodId:
type: string
description: Product ID
proxyName:
type: string
description: Proxy name
proxyUseNumber:
type: string
description: Number of mounted cloud machines
proxyType:
type: string
description: "Proxy type: 1-Socks5 2-http 3-https"
proxyHost:
type: string
description: Proxy server host address
proxyPort:
type: string
description: "Proxy port (odd-socks5 even-http) 63007 (63008)"
password:
type: string
description: Agent password
proxyCountry:
type: string
description: Agent country
expectedExpireTime:
type: string
description: Expiration timestamp
expireTime:
type: string
description: "Expiration timestamp (same as above, just use expireTime)"
account:
type: string
description: username
proxyId:
type: string
description: Agent unique ID (used when mounting the cloud machine)
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/autoTaskList:
post:
tags:
- TK Automation
summary: Automation task list query
operationId: vcpcloud_api_padApi_autoTaskList_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- page
- rows
properties:
taskIds:
type: array
items:
type: integer
description: Task ID list
taskType:
type: integer
description: "Task type: 1-Log in 2-Edit information 3-Search for short videos 4-Browse videos randomly 5-Publish videos 6-Publish photo albums"
page:
type: integer
description: page number
rows:
type: integer
description: Number of records per page
responses:
"200":
$ref: "#/components/responses/SuccessResponse"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/addAutoTask:
post:
tags:
- TK Automation
summary: Create automation task
operationId: vcpcloud_api_padApi_addAutoTask_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- taskName
- taskType
- list
properties:
taskName:
type: string
description: Task name
remarks:
type: string
description: Remark
taskType:
type: integer
description: "Task type: 1-Log in 2-Edit information 3-Search short videos 4-Browse videos randomly 5-Publish videos 6-Publish photo albums 7-Video likes and comments 8-Live broadcast heating"
list:
type: array
items:
type: string
description: task list
responses:
"200":
$ref: "#/components/responses/SuccessResponse"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/reExecutionAutoTask:
post:
tags:
- TK Automation
summary: Automation task retry
operationId: vcpcloud_api_padApi_reExecutionAutoTask_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- taskIds
- plannedExecutionTime
properties:
taskIds:
type: array
items:
type: integer
description: Task ID list
plannedExecutionTime:
type: string
description: Planned execution time
responses:
"200":
$ref: "#/components/responses/SuccessResponse"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/cancelAutoTask:
post:
tags:
- TK Automation
summary: Automation task cancel
operationId: vcpcloud_api_padApi_cancelAutoTask_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- taskIds
properties:
taskIds:
type: array
items:
type: integer
description: Task ID list
responses:
"200":
$ref: "#/components/responses/SuccessResponse"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/stsTokenByPadCode:
post:
tags:
- SDK Token
summary: Get SDK temporary token by padCode
operationId: vcpcloud_api_padApi_stsTokenByPadCode_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- padCode
properties:
padCode:
type: string
description: Instance number
responses:
"200":
$ref: "#/components/responses/SuccessResponse"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/clearStsToken:
post:
tags:
- SDK Token
summary: Clear SDK authorization token
operationId: vcpcloud_api_padApi_clearStsToken_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- token
properties:
token:
type: string
description: SDK authorization token to be invalidated
responses:
"200":
$ref: "#/components/responses/SuccessResponse"
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/queryPadIdChangeRecords:
post:
tags:
- Cloud Phone Management
summary: Query padCode change records caused by board defragmentation
description: |
Returns padCode change records for devices owned by the caller (sourced from vc_defrag_task).
If queryDate is omitted, the last 3 calendar days (Asia/Shanghai) are returned.
When queryDate is provided, only records within that calendar day are returned; future dates are rejected.
operationId: vcpcloud_api_padApi_queryPadIdChangeRecords_post
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
queryDate:
type: string
description: Calendar day in yyyy-MM-dd (Asia/Shanghai). Optional; defaults to last 3 days.
responses:
"200":
description: Success
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: array
items:
type: object
properties:
oldPadCode:
type: string
description: padCode before the change
newPadCode:
type: string
description: padCode after the change (matches a device currently owned by the caller)
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/listPadBackupIds:
post:
tags:
- Cloud Phone Management
summary: List all available cloud-disk backup IDs owned by the caller
description: |
Returns the list of backupId values from vc_pad_backup owned by the caller, excluding deleted backups (status=4), ordered by create_time desc.
The returned IDs can be fed into clonePadBackup.
operationId: vcpcloud_api_padApi_listPadBackupIds_post
responses:
"200":
description: Success
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
data:
type: array
items:
type: string
description: A single backupId
default:
$ref: "#/components/responses/ErrorResponse"
/vcpcloud/api/padApi/clonePadBackup:
post:
tags:
- Cloud Phone Management
summary: Batch clone a cloud-disk backup onto multiple cloud phones (async)
description: |
Clones the given cloud-disk backup(s) onto the listed cloud phones. task_type=5, executed asynchronously by XXL.
Constraints (enforced server-side):
- Only one in-flight clone task per user (30-second Redis lock plus status check on vc_batch_backup_clone).
- Target phones must be healthy (cvm_status in [100, 101]).
- Target devices must be owned or authorized to the caller.
- The custom flag of the source backup(s) and target device configurations must match.
operationId: vcpcloud_api_padApi_clonePadBackup_post
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- vcPadBackupList
- pads
properties:
vcPadBackupList:
type: array
minItems: 1
description: Source backup list
items:
type: object
required:
- backupId
properties:
backupId:
type: string
description: Cloud-disk backup ID (from listPadBackupIds)
pads:
type: array
minItems: 1
description: Target cloud phones
items:
type: object
required:
- equipmentId
- padCode
properties:
equipmentId:
type: integer
format: int64
description: Equipment ID
padCode:
type: string
description: Cloud phone padCode
responses:
"200":
$ref: "#/components/responses/SuccessResponse"
default:
$ref: "#/components/responses/ErrorResponse"
components:
securitySchemes:
VMOSCloudHMAC:
type: apiKey
in: header
name: authorization
description: |
HMAC-SHA256 custom signature authentication. All requests must include the following headers:
- x-date: UTC timestamp in ISO 8601 format (e.g. 20060102T150405Z)
- x-host: api.vmoscloud.com
- Content-Type: application/json
- x-content-sha256: SHA256 hash of the request body (hex, lowercase)
- authorization: HMAC-SHA256 signature header
Authorization header format:
HMAC-SHA256 Credential={AccessKey}, SignedHeaders=content-type;host;x-content-sha256;x-date, Signature={HMAC-SHA256-hex}
Signature algorithm:
1. Construct canonical request string: METHOD\nURI\nQueryString\nCanonicalHeaders\n\nSignedHeaders\nx-content-sha256
2. Construct string-to-sign: HMAC-SHA256\n{x-date}\n{SHA256(canonicalRequest)}
3. Compute HMAC-SHA256(SecretKey, stringToSign) and hex-encode as Signature
See Getting Started / example.md for a complete code example.
schemas:
StandardResponse:
type: object
required: [code, msg, ts]
properties:
code:
type: integer
description: "Business status code. 200 = success; other values = error (see ErrorCode docs for full list)"
example: 200
msg:
type: string
description: Human-readable status message
example: "success"
ts:
type: integer
description: Server response timestamp (Unix milliseconds)
example: 1704067200000
data:
description: "API-specific response payload. Structure varies per endpoint — see each endpoint's response schema. Null on error or when no data is returned."
example:
code: 200
msg: "success"
ts: 1704067200000
data: {}
TaskStatusEnum:
type: integer
description: |
Standard async task status code returned in the `taskStatus` field:
- -5: Exception
- -4: Timeout
- -3: Cancelled
- -2: Partial failure
- -1: Full failure / task already exists (do not resubmit)
- 1: Pending execution
- 2: Executing
- 3: Completed successfully
responses:
SuccessResponse:
description: Success
content:
application/json:
schema:
$ref: "#/components/schemas/StandardResponse"
ErrorResponse:
description: Error response. Common code values - 200 success; 4xx client error (e.g. 400 bad request, 401 unauthorized, 403 forbidden); 5xx server error.
content:
application/json:
schema:
allOf:
- $ref: "#/components/schemas/StandardResponse"
- type: object
properties:
code:
type: integer
description: "Business/HTTP-style error code. 200=success; 400=bad request; 401=unauthorized; 403=forbidden; 404=not found; 500=server error. See OpenAPI.md ErrorCode for full list."
example: 500
msg:
type: string
description: Human-readable error message
example: "Internal server error"
examples:
serverError:
summary: Server error
value:
code: 500
msg: "Internal server error"
ts: 1704067200000
data: null
authError:
summary: Unauthorized
value:
code: 401
msg: "Invalid signature or expired"
ts: 1704067200000
data: null