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.
API list
|
API |
Title |
Description |
| AttachKeyPair | AttachKeyPair | Attaches an Android Debug Bridge (ADB) key pair to one or more cloud phone instances. |
| AuthorizeAndroidInstance | Assign Users to Instances & Unassign | Authorize/unauthorize Android instances for users. |
| 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. |
| 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. |
| 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. |
| ChangeCloudPhoneNode | ChangeCloudPhoneNode | Modifies the configuration of a cloud phone matrix, including the instance type and the number of cloud phone instances. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| CreateScreenshot | CreateScreenshot | This asynchronous API operation generates a screenshot of a cloud phone. |
| 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. |
| DeleteAndroidInstanceGroup | DeleteAndroidInstanceGroup | Deletes an Android instance group. All instances in the group are also deleted. This operation cannot be undone. Proceed with caution. |
| DeleteApps | DeleteApps | Deletes an application. Before you delete an application, make sure that the application is not installed on any instances. |
| DeleteBackupFile | DeleteBackupFile | Deletes a batch of backup files. |
| DeleteCloudPhoneNodes | DeleteCloudPhoneNodes | Deletes a cloud phone matrix. |
| DeleteImages | DeleteImages | Deletes a custom image. |
| DeleteKeyPairs | DeleteKeyPairs | Deletes Android Debug Bridge (ADB) key pairs. |
| DeletePolicyGroup | DeletePolicyGroup | Deletes one or more policy groups. |
| DeleteSystemPropertyTemplates | DeleteSystemPropertyTemplates | Deletes system property templates. |
| DescribeAndroidInstanceGroups | DescribeAndroidInstanceGroups | Retrieves the details of Android instance groups. |
| DescribeAndroidInstances | DescribeAndroidInstances | Gets details for one or more Elastic Cloud Phone (ECP) instances. |
| DescribeApps | DescribeApps | Queries applications. |
| DescribeBackupFiles | DescribeBackupFiles | Queries a list of backup files. |
| DescribeBuckets | DescribeBuckets | Queries information about buckets. This operation returns only the buckets whose names start with `cloudphone-saved-bucket-`. |
| 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 represents a physical server instance. This physical server can be partitioned 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 on which you can create Cloud Phone instances. The number of instances that you can create varies depending on the configuration. |
| DescribeDisplayConfig | DescribeDisplayConfig | Queries the display settings. |
| DescribeImageList | DescribeImageList | Queries a list of available images. |
| DescribeInvocations | DescribeInvocations | Queries the execution results of a command run by calling the RunCommand operation. |
| DescribeKeyPairs | DescribeKeyPairs | Queries one or more key pairs. |
| 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. |
| DescribeRegions | Query Available Regions | Query available regions. |
| 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. |
| DescribeSystemPropertyTemplates | DescribeSystemPropertyTemplates | Describes system property templates. |
| 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. |
| DetachKeyPair | DetachKeyPair | Detaches an Android Debug Bridge (ADB) key pair from one or more cloud phone instances. |
| DisconnectAndroidInstance | DisconnectAndroidInstance | Disconnects a connected instance or disassociates an instance that is associated with another user. |
| 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. |
| DowngradeAndroidInstanceGroup | DowngradeAndroidInstanceGroup | Downgrades an instance group. Currently, this operation allows you to only delete specific cloud phone instances from an instance group. |
| EndCoordination | EndCoordination | Ends all coordination tasks for a cloud phone instance and invalidates the coordination code. |
| 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. |
| ExpandPhoneDataVolume | ExpandPhoneDataVolume | Expands the independent built-in storage of matrix instances. |
| FetchFile | FetchFile | Pulls a file from a cloud phone instance and stores it in Object Storage Service (OSS). |
| 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. |
| GetInstanceProperties | GetInstanceProperties | Retrieves the properties of an instance. This operation runs the android getprop command to retrieve all properties of the cloud phone. |
| GetNetworkBlacklist | GetNetworkBlacklist | Queries the network access blacklist for IP addresses and domain names. |
| ImportImage | ImportImage | Imports a custom image. |
| ImportKeyPair | ImportKeyPair | Imports the public key of an Android Debug Bridge (ADB) key pair. |
| InstallApp | InstallApp | Installs applications on multiple Cloud Phone instances. |
| InstallMonitorAgent | InstallMonitorAgent | Installs the monitoring plugin in a single step. An instance can generate monitoring data only after the plugin is installed. |
| 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. |
| ListInstanceAdbAttributes | ListInstanceAdbAttributes | Queries the Android Debug Bridge (ADB) connection information for instances. This operation is available only to standard networks. |
| ListPolicyGroups | ListPolicyGroups | Queries policies. |
| ListTagResources | ListTagResources | Queries the tags that are associated with Cloud Phone 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. |
| ModifyAndroidInstanceGroup | ModifyAndroidInstanceGroup | Modifies attributes of an instance group. |
| ModifyApp | ModifyApp | Modify attributes of an application. |
| 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. |
| ModifyDisplayConfig | ModifyDisplayConfig | Modifies display settings. |
| ModifyInstanceChargeType | ModifyInstanceChargeType | Modifies the billing method. Currently, this operation only allows you to change the billing method from pay-as-you-go to subscription. |
| ModifyKeyPairName | ModifyKeyPairName | Modifies Android Debug Bridge (ADB) key pairs. |
| ModifyPolicyGroup | ModifyPolicyGroup | Modifies the information of a policy group. |
| ModifySystemPropertyTemplate | ModifySystemPropertyTemplate | Modifies a property template. |
| OperateApp | OperateApp | Operates apps in a cloud phone, such as opening, closing, and reopening apps. |
| RebootAndroidInstancesInGroup | RebootAndroidInstancesInGroup | Reboots the specified Cloud Phone instances. |
| 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. |
| RecoveryFile | RecoveryFile | Restores backup files. |
| RenewAndroidInstanceGroups | RenewAndroidInstanceGroups | Renews one or more subscription Android instance groups. If an instance group expires, it and the instances it contains are automatically deleted 15 days after expiration and cannot be recovered. Renew your instance groups promptly to prevent service disruption and data loss. |
| RenewCloudPhoneNodes | RenewCloudPhoneNodes | Renews a cloud phone matrix. |
| ResetAndroidInstancesInGroup | ResetAndroidInstancesInGroup | Resets one or more Cloud Phone instances by reinstalling the operating system from the original image. The operation fails if the image used to create the instance has been deleted. |
| RunCommand | RunCommand | Runs a command on one or more cloud phone instances. |
| SendFile | SendFile | Sends files to cloud phones from Object Storage Service (OSS) or public download links. |
| 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. |
| 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. |
| SetNetworkBlacklist | SetNetworkBlacklist | Adds or purges IP addresses and domain names from the network access blacklist. |
| StartAndroidInstance | Start Instance | Start cloud phone instances. |
| 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. |
| StopAndroidInstance | StopAndroidInstance | Stops (shuts down) an Android instance. |
| StopInstanceAdb | StopInstanceAdb | Disables the ADB connection for an Android instance and deletes its ADB port forwarding rules. This operation applies only to standard networks. |
| TagResources | TagResources | Adds tags to one or more cloud phones. |
| UninstallApp | UninstallApp | Uninstalls applications from Cloud Phone instances in a batch. |
| UninstallMonitorAgent | UninstallMonitorAgent | Uninstalls the monitoring plugin. |
| 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. |
| UpdateCustomImageName | UpdateCustomImageName | Updates the name of a custom image. |
| UpdateInstanceGroupImage | UpdateInstanceGroupImage | Updates the image of an instance group. This update affects all instances in the group. |
| UpdateInstanceImage | UpdateInstanceImage | Changes the image of a cloud phone matrix instance. You can change the image of an instance only when the instance is in the `Running`, `Stopped`, or a failed image update state. The GPU vendor of the target image must match the GPU vendor of the server where the instance is running. If you change the image across major versions, for example from Android 10 to Android 12, the system automatically clears all User Data on the instance. In this case, the operation is equivalent to changing the image and then resetting the instance. |
| UpgradeAndroidInstanceGroup | UpgradeAndroidInstanceGroup | Upgrades an instance group by scaling it out. Currently, this operation only supports increasing the number of instances in an instance group. |