API standard and pre-built SDKs in multi-language
The OpenAPI specification of this product (eds-aic/2023-09-30) follows the RPC standard. Alibaba Cloud provides pre-built SDKs for popular programming languages to abstract low-level complexities such as request signing. This enables developers to call APIs using language-specific syntax without dealing with HTTP details directly.
Custom signature
If your specific needs, such as a customized signature, are not supported by the SDK, manually sign requests using the signature mechanism. Note that manual signing requires significant effort (usually about 5 business days). For support, join our DingTalk group (ID: 147535001692).
Before you begin
An Alibaba Cloud account has full administrative privileges. A compromised AccessKey pair exposes all associated resources to unauthorized access, posing a significant security risk. To call APIs securely, create a Resource Access Management (RAM) user with API access only, configure its AccessKey pairs, and implement the principle of least privilege (PoLP) through RAM policies. Use the Alibaba Cloud account only when its permissions are explicitly required for specific scenarios.
Cloud Phone Matrices
|
API |
Title |
Description |
| CreateCloudPhoneNode | CreateCloudPhoneNode | Creates a Cloud Phone matrix. In Cloud Phone, a matrix is a logical resource management unit that represents a physical server instance. You can partition the physical server into multiple independent Cloud Phone instances. These instances share the computing, storage, and network resources of the matrix. Creating a matrix provisions a physical server. You can then create Cloud Phone instances on the server. The configuration determines the number of instances that you can create. |
| DescribeCloudPhoneNodes | DescribeCloudPhoneNodes | Queries the details of Cloud Phone matrices. In the Cloud Phone service, a matrix (Cloud Phone Server) is a logical resource management unit that corresponds to a physical server instance. You can partition this physical server into multiple independent Cloud Phone instances that share the underlying computing, storage, and network resources of the matrix. Creating a matrix is equivalent to provisioning a physical server. The number of Cloud Phone instances that you can create on a matrix depends on its configuration. |
| ModifyCloudPhoneNode | ModifyCloudPhoneNode | Modifies a cloud phone matrix. Currently, you can only modify the name of a cloud phone matrix. Note: In the Cloud Phone system, a Matrix (Cloud Phone Server) is a logical resource management unit that represents a single physical server instance. This physical server can be partitioned into multiple, independently running cloud phone instances. These instances share the Matrix's underlying compute, storage, and network resources. Creating a Matrix is equivalent to leasing a dedicated physical server. On this server, you can then create your cloud phone instances. The number of instances you can create depends on their configuration. |
| RenewCloudPhoneNodes | RenewCloudPhoneNodes | Renews a cloud phone matrix. |
| ChangeCloudPhoneNode | ChangeCloudPhoneNode | Changes the configuration of a cloud phone matrix, such as the instance type and the number of cloud phone instances. |
| ExpandDataVolume | ExpandDataVolume | Expands the storage of a cloud phone matrix. You can expand shared storage, which is used for matrix-level files such as images, and instance storage. Expanding the storage incurs new fees, and the API response returns the corresponding order ID. |
Instance Groups
|
API |
Title |
Description |
| DescribeSpec | DescribeSpec | Queries the available specifications for cloud phones. You can call this operation to retrieve all specification information, which is required to create an instance. For matrix creation, this operation also returns the maximum and minimum instance count for a single matrix. |
| CheckResourceStock | Check Resource Stock Status | Checks the inventory of Cloud Phone resources. Before you create an instance, call this operation to check whether resources are available in the target region. Create the instance only after you confirm that resources are available. |
| CreateAndroidInstanceGroup | CreateAndroidInstanceGroup | Creates pay-as-you-go or subscription cloud phone instance groups. An instance group can manage multiple instances. You can add instances with similar features to the same group to simplify management. |
| DescribeAndroidInstanceGroups | DescribeAndroidInstanceGroups | Retrieves the details of Android instance groups. |
| ModifyAndroidInstanceGroup | ModifyAndroidInstanceGroup | Modifies attributes of an instance group. |
| UpgradeAndroidInstanceGroup | UpgradeAndroidInstanceGroup | Scales out an instance group by increasing the number of instances. |
| RenewAndroidInstanceGroups | RenewAndroidInstanceGroups | Renews subscription Android instance groups. If a subscription instance group expires, the system automatically deletes the instance group and its instances in 15 days. Deleted resources cannot be recovered. Renew your instance groups promptly to prevent resource loss. |
| UpdateInstanceGroupImage | UpdateInstanceGroupImage | Updates the image of an instance group. This update affects all instances in the group. |
| DeleteAndroidInstanceGroup | DeleteAndroidInstanceGroup | Deletes an Android instance group. All instances in the group are also deleted. This operation cannot be undone. Proceed with caution. |
Instances
|
API |
Title |
Description |
| DescribeAndroidInstances | DescribeAndroidInstances | Returns the details of one or more Elastic Cloud Phone (ECP) instances. |
| ModifyAndroidInstance | ModifyAndroidInstance | Modifies the information of an Android instance. Currently, this operation can be used to modify only the instance name and the upstream and downstream bandwidth limits. |
| StartAndroidInstance | Start Instance | Start cloud phone instances. |
| StopAndroidInstance | StopAndroidInstance | Stops (shuts down) an Android instance. |
| RebootAndroidInstancesInGroup | RebootAndroidInstancesInGroup | Reboots (shuts down and then starts) Cloud Phone instances. |
| ResetAndroidInstancesInGroup | ResetAndroidInstancesInGroup | Resets the instance by reinstalling the operating system using its original image. Note: The reset operation will fail if the image that was used to create the Cloud Phone has since been deleted. |
| ModifyInstanceChargeType | ModifyInstanceChargeType | Modifies the billing method. Currently, this operation only allows you to change the billing method from pay-as-you-go to subscription. |
| UpdateInstanceImage | UpdateInstanceImage | Changes the image of an instance in a cloud phone matrix. You can change the image for an instance only when the instance is in the Running, Stopped, or Failed to change the image state. The GPU vendor of the target image must match the GPU vendor of the server where the instance runs. If you change the image across major versions, such as from Android 10 to Android 12, the system clears all data. This operation is equivalent to changing the image and then resetting the instance. |
| ExpandPhoneDataVolume | ExpandPhoneDataVolume | Expands the independent built-in storage of matrix instances. |
| InstanceHealer | InstanceHealer | Diagnoses and recovers cloud phone matrix instances. This operation clears the system log files of an instance to prevent the instance from becoming unrecoverable due to a full disk. |
| StartInstanceAdb | StartInstanceAdb | Enables the Android Debug Bridge (ADB) connection for an instance and creates an Internet mapping rule for its ADB port. This feature is available only for standard networks. |
| StopInstanceAdb | StopInstanceAdb | Disables the ADB connection for an Android instance and deletes its ADB port forwarding rules. This operation applies only to standard networks. |
| ListInstanceAdbAttributes | ListInstanceAdbAttributes | Queries the Android Debug Bridge (ADB) connection information for instances. This operation is available only to standard networks. |
| Connection | Connection | |
| BatchGetAcpConnectionTicket | BatchGetAcpConnectionTicket | Retrieves connection tickets in batch. This operation generates connection tickets asynchronously. In most cases, the tickets are returned directly in the response of the first call. However, in some situations, the initial response will contain a `TaskId`. You must then poll this endpoint with the `TaskId` until the generation is complete and the tickets are returned. |
| DisconnectAndroidInstance | DisconnectAndroidInstance | Disconnects a connected instance or disassociates an instance that is associated with another user. |
| Commands | Commands | |
| RunCommand | RunCommand | Runs a command on a cloud phone instance. |
| DescribeInvocations | DescribeInvocations | Queries the execution results of a command run by calling the RunCommand operation. |
| Files | Files | |
| SendFile | SendFile | Sends files to cloud phones from Object Storage Service (OSS) or public download links. |
| Screenshots | Screenshots | |
| CreateScreenshot | CreateScreenshot | This asynchronous API operation generates a screenshot of a cloud phone. |
| Streaming Collaboration | Streaming Collaboration | |
| GenerateCoordinationCode | GenerateCoordinationCode | By default, you can only use the BatchGetAcpConnectionTicket operation to get the ticket for a connection to a cloud phone, and a cloud phone supports only one connected user at a time. To allow multiple users to connect to a cloud phone at the same time, connect to the cloud phone with a convenience account, use this operation to generate a collaboration code by using the current account, and share this code with other convenience accounts to allow them to access the same cloud phone. |
| EndCoordination | EndCoordination | Ends all coordination tasks for a cloud phone instance and invalidates the coordination code. |
Images
|
API |
Title |
Description |
| CreateCustomImage | CreateCustomImage | Creates a custom image from a cloud phone instance. Then, you can use the image to create more cloud phones with the same configuration. |
| DescribeImageList | DescribeImageList | Queries a list of available images. |
| UpdateCustomImageName | UpdateCustomImageName | Updates the name of a custom image. |
| DistributeImage | DistributeImage | Distributes an image to one or more regions. This lets you use the image to create cloud phones in regions other than its source region. |
Apps
|
API |
Title |
Description |
| CreateApp | CreateApp | Creates an Android application. Before you can install an application, you must use this API operation to create it. The application is not downloaded when it is created. It is downloaded only during installation. Ensure that the cloud phone can access the download URL. |
| DescribeApps | DescribeApps | Queries applications. |
| InstallApp | InstallApp | Installs applications on multiple Cloud Phone instances. |
| UninstallApp | UninstallApp | Uninstalls applications from Cloud Phone instances in a batch. |
| OperateApp | OperateApp | Operates apps in a cloud phone, such as opening, closing, and reopening apps. |
Key Pairs
|
API |
Title |
Description |
| CreateKeyPair | CreateKeyPair | You can connect to Cloud Phones using the Android Debug Bridge (ADB). ADB lets you manage devices and applications, and transfer files. These operations require high permissions. Because Cloud Phones do not have physical interfaces, you cannot use a USB connection to trigger an authorization dialog box on the device. Therefore, you must configure a key pair before you connect to a Cloud Phone with ADB over a network. This key pair ensures that the device trusts the client and that all operations are secure. You can call the CreateKeyPair operation to create an ADB key pair. The system stores the public key and returns the private key. The private key is in PEM-encoded PKCS#8 format and complies with ADB connection standards. You must securely store the private key. |
| ImportKeyPair | ImportKeyPair | Imports the public key of an Android Debug Bridge (ADB) key pair. |
| AttachKeyPair | AttachKeyPair | Attaches an Android Debug Bridge (ADB) key pair to one or more cloud phone instances. |
| DetachKeyPair | DetachKeyPair | Detaches an Android Debug Bridge (ADB) key pair from one or more cloud phone instances. |
Backups
|
API |
Title |
Description |
| BackupAndroidInstance | BackupAndroidInstance | Creates a full backup of a Cloud Phone instance. The backup includes installed applications and properties. |
| BackupApp | BackupApp | Backs up specified applications on a cloud phone instance. The backup includes the application and its cache. |
| RecoverAndroidInstance | RecoverAndroidInstance | Restores a full instance backup to another cloud phone instance. |
| RecoverApp | RecoverApp | Recovers an application from a backup file to another cloud phone instance. |
| BackupFile | BackupFile | Generates a backup file and uploads it to remote storage. You can use this operation for regular data backups. You can also back up files from one instance and restore them to multiple instances, a process similar to data replication or migration. |
| RecoveryFile | RecoveryFile | Restores backup files. |
| DescribeBackupFiles | DescribeBackupFiles | Queries a list of backup files. |
| DeleteBackupFile | DeleteBackupFile | Deletes a batch of backup files. |
Policies
|
API |
Title |
Description |
| CreatePolicyGroup | CreatePolicyGroup | Creates a policy that applies unified settings to cloud phones. These settings include features such as network redirection, watermarks, resolution, and the clipboard. |
| ListPolicyGroups | ListPolicyGroups | Queries policies. |
| ModifyPolicyGroup | ModifyPolicyGroup | Modifies the information of a policy group. |
| DeletePolicyGroup | DeletePolicyGroup | Deletes one or more policy groups. |
System property templates
|
API |
Title |
Description |
| CreateSystemPropertyTemplate | CreateSystemPropertyTemplate | Creates a system property template. The key-value pairs defined in the template are sent to cloud phones and set as properties in their Android systems using the setprop command. APKs or related programs can then read these property values. |
| SendSystemPropertyTemplate | SendSystemPropertyTemplate | Sends a property template to cloud phone instances and, based on the template, sets properties in the Android system using the setprop command. An APK or a related program can read these property values. If you specify multiple template IDs, the property templates are randomly sent to the cloud phone instances. |
| DescribeSystemPropertyTemplates | DescribeSystemPropertyTemplates | Describes system property templates. |
| GetInstanceProperties | GetInstanceProperties | Retrieves the properties of an instance. This operation runs the android getprop command to retrieve all properties of the cloud phone. |
| ModifySystemPropertyTemplate | ModifySystemPropertyTemplate | Modifies a property template. |
| DeleteSystemPropertyTemplates | DeleteSystemPropertyTemplates | Deletes system property templates. |
Tasks
|
API |
Title |
Description |
| DescribeTasks | DescribeTasks | Queries tasks created for a cloud phone instance. Many operations on cloud phones—such as creating, starting, or stopping them—are asynchronous. When you initiate an operation, the system returns a `Task ID` that you can use to track its progress and final result. You can call this API to retrieve a list of all tasks and their execution statuses. |
Monitoring
|
API |
Title |
Description |
| InstallMonitorAgent | InstallMonitorAgent | Installs the monitoring plugin in a single step. An instance can generate monitoring data only after the plugin is installed. |
| UninstallMonitorAgent | UninstallMonitorAgent | Uninstalls the monitoring plugin. |
| DescribeMetricLast | DescribeMetricLast | Queries the latest monitoring data for an instance or a matrix. You can query metrics such as CPU, memory, disk, and network. |
| DescribeMetricList | DescribeMetricList | Queries monitoring data for specified metrics, such as network bandwidth. |
| DescribeMetricTop | DescribeMetricTop | Queries the latest monitoring data for metrics such as instance network bandwidth and returns the results in a sorted list. |
Tags
|
API |
Title |
Description |
| TagResources | TagResources | Adds tags to one or more cloud phones. |
| UntagResources | UntagResources | Removes tags from cloud phones. If a tag is no longer associated with any cloud phone after it is removed, the tag is automatically deleted. |
| ListTagResources | ListTagResources | Queries the tags that are associated with Cloud Phone instances. |
Other
|
API |
Title |
Description |
| DescribeBuckets | DescribeBuckets | Queries information about buckets. This operation returns only the buckets whose names start with `cloudphone-saved-bucket-`. |
| SetAdbSecure | SetAdbSecure | Sets the authentication status for cloud phone instances. If you enable Android Debug Bridge (ADB) authentication for cloud phone instances, the system will verify the validity of the ADB key pairs provided by end users when they connect to the instances over ADB. To ensure successful authentication and a proper connection, we recommend that you attach ADB key pairs to cloud phone instances. If you disable ADB authentication for cloud phone instances, the system will no longer verify the validity of any ADB key pairs. As a result, end users can connect to the cloud phone instances over ADB without authentication, provided the network connection is functioning properly. |
| ModifyDisplayConfig | ModifyDisplayConfig | Modifies display settings. |
| DescribeDisplayConfig | DescribeDisplayConfig | Queries the display settings. |
| ImportImage | ImportImage | Imports a custom image. |
Others
|
API |
Title |
Description |
| AuthorizeAndroidInstance | Assign Users to Instances & Unassign | Authorize/unauthorize Android instances for users. |
| DeleteApps | DeleteApps | Deletes an application. Before you delete an application, make sure that the application is not installed on any instances. |
| DeleteCloudPhoneNodes | DeleteCloudPhoneNodes | Deletes a cloud phone matrix. |
| DeleteImages | DeleteImages | Deletes a custom image. |
| DeleteKeyPairs | DeleteKeyPairs | Deletes Android Debug Bridge (ADB) key pairs. |
| DescribeKeyPairs | DescribeKeyPairs | Queries one or more key pairs. |
| DescribeRegions | Query Available Regions | Query available regions. |
| DowngradeAndroidInstanceGroup | DowngradeAndroidInstanceGroup | Downgrades an instance group. Currently, this operation allows you to only delete specific cloud phone instances from an instance group. |
| FetchFile | FetchFile | Pulls a file from a cloud phone instance and stores it in Object Storage Service (OSS). |
| ModifyApp | ModifyApp | Modify attributes of an application. |
| ModifyKeyPairName | ModifyKeyPairName | Modifies Android Debug Bridge (ADB) key pairs. |