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. Create a Resource Access Management (RAM) user with API-only access and use RAM policies to apply the principle of least privilege (PoLP). Alibaba Cloud accounts are only used when explicitly required.
To call APIs securely, configure the following:
A RAM user account
An AccessKey pair for the account
Cloud Phone Matrices
|
API |
Title |
Description |
| CreateCloudPhoneNode | CreateCloudPhoneNode | Creates a Cloud Phone matrix. In Cloud Phone, a matrix (Cloud Phone Server) is a logical resource management unit that represents a physical server instance. You can divide this physical server into multiple, independently running Cloud Phone instances that share the matrix's underlying computing, storage, and network resources. Creating a matrix is equivalent to obtaining a physical server on which you can create Cloud Phone instances. The number of instances that you can create depends on the matrix configuration. |
| DescribeCloudPhoneNodes | DescribeCloudPhoneNodes | Queries the details of Cloud Phone matrices. In Cloud Phone, a matrix (Cloud Phone Server) is a logical unit that represents a physical server. The server can be partitioned into multiple Cloud Phone instances. These instances run independently and share the server's computing, storage, and network resources. The number of instances that you can create depends on the matrix configuration. |
| ModifyCloudPhoneNode | ModifyCloudPhoneNode | Modifies the information about a Cloud Phone matrix. In the Cloud Phone system, 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 Cloud Phone instances that run independently. These instances share the underlying computing, storage, and network resources of the matrix. Creating a matrix is equivalent to obtaining a physical server that can host Cloud Phone instances. The number of instances that can be hosted depends on the server configuration. |
| RenewCloudPhoneNodes | RenewCloudPhoneNodes | Renews cloud phone nodes. |
| 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 independent instance storage. Expanding the storage incurs new fees, and the API response returns the corresponding order ID. |
| DeleteCloudPhoneNodes | DeleteCloudPhoneNodes | Deletes a cloud phone matrix. |
Instance Groups
|
API |
Title |
Description |
| 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. |
| 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 | Upgrades an instance group. Currently, this operation allows you to only increase the number of instances in an instance group. |
| DowngradeAndroidInstanceGroup | DowngradeAndroidInstanceGroup | Downgrades an instance group. Currently, this operation allows you to only delete specific cloud phone instances from an instance group. |
| RenewAndroidInstanceGroups | RenewAndroidInstanceGroups | Renews instance groups. |
| UpdateInstanceGroupImage | UpdateInstanceGroupImage | Changes the image of an instance group. |
| DeleteAndroidInstanceGroup | DeleteAndroidInstanceGroup | Delete an instance group. |
Instances
|
API |
Title |
Description |
| DescribeAndroidInstances | DescribeAndroidInstances | Queries the details of one or more 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. |
| AuthorizeAndroidInstance | Assign Users to Instances & Unassign | Authorize/unauthorize Android instances for users. |
| StartAndroidInstance | Start Instance | Starts a cloud phone instance. |
| StopAndroidInstance | StopAndroidInstance | Stops an Android instance. |
| RebootAndroidInstancesInGroup | RebootAndroidInstancesInGroup | Reboots Cloud Phone instances. |
| ResetAndroidInstancesInGroup | ResetAndroidInstancesInGroup | Resets Android instances. Resetting an instance reinstalls the operating system from the instance's original image. If the image used to create the instance is deleted, the reset operation fails. |
| 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 Image Change Failed 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 phone 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 | Obtains connection tickets in a batch. This operation generates tickets asynchronously. In most cases, you can obtain the tickets directly from the response. In some cases, you must use the `TaskId` from the response to call the operation again and poll for the ticket generation status. |
| DisconnectAndroidInstance | DisconnectAndroidInstance | Disconnects a connected instance or detaches an instance that is attached to another user. |
| Commands | Commands | |
| RunCommand | RunCommand | Runs a command on a cloud phone instance. |
| DescribeInvocations | DescribeInvocations | Queries the execution results of commands. |
| Files | Files | |
| SendFile | SendFile | Sends files to cloud phones from Object Storage Service (OSS) or public download links. |
| FetchFile | FetchFile | Pulls a file from a cloud phone instance and stores it in Object Storage Service (OSS). |
| Screenshots | Screenshots | |
| CreateScreenshot | CreateScreenshot | This asynchronous API operation generates a screenshot of a cloud phone. |
| Streaming Collaboration | Streaming Collaboration | |
| GenerateCoordinationCode | GenerateCoordinationCode | Generates a collaboration code for the cloud phone being accessed by using the current convenience account, and shares 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, which invalidates the coordination code. |
Images
|
API |
Title |
Description |
| CreateCustomImage | CreateCustomImage | Creates a custom image from a cloud phone instance. |
| DescribeImageList | DescribeImageList | Queries a list of available images. |
| UpdateCustomImageName | UpdateCustomImageName | Updates the name of a custom image. |
| DistributeImage | DistributeImage | Distributes an image. |
| DeleteImages | DeleteImages | Deletes a custom image. |
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 information about created applications. |
| ModifyApp | ModifyApp | Modify attributes of an application. |
| DeleteApps | DeleteApps | Deletes an application. Before you delete an application, make sure that the application is not installed on any instances. |
| InstallApp | InstallApp | Installs an app on multiple cloud phone instances at the same time. |
| UninstallApp | UninstallApp | Uninstalls an app from multiple cloud phone instances. |
| OperateApp | OperateApp | Operates apps in a cloud phone, such as opening, closing, and reopening apps. |
Key Pairs
|
API |
Title |
Description |
| CreateKeyPair | CreateKeyPair | Creates an Android Debug Bridge (ADB) key pair. The system retains the public key and provides a PEM-encoded private key in PKCS#8 format, adhering to the ADB connection specification. You must securely store the private key. |
| ImportKeyPair | ImportKeyPair | Imports the public key of an Android Debug Bridge (ADB) key pair. |
| DescribeKeyPairs | DescribeKeyPairs | Queries one or more key pairs. |
| ModifyKeyPairName | ModifyKeyPairName | Modifies Android Debug Bridge (ADB) key pairs. |
| DeleteKeyPairs | DeleteKeyPairs | Deletes Android Debug Bridge (ADB) key pairs. |
| 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 |
| 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 | View policy details. |
| ModifyPolicyGroup | ModifyPolicyGroup | Modifies the information of a policy group. |
| DeletePolicyGroup | DeletePolicyGroup | Deletes a policy. |
System property template
|
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 a cloud phone. The properties are set 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 and cloud phone instances are randomly matched. |
| 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. |
Job
|
API |
Title |
Description |
| DescribeTasks | DescribeTasks | Queries tasks created for a cloud phone instance. |
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 attached to any cloud phone after it is removed, the tag is automatically deleted. |
| ListTagResources | ListTagResources | Queries the tags that are attached to Cloud Phone (CP) 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. |