API standards and multilingual preset SDKs
The OpenAPI of this product (eds-aic/2023-09-30) uses the RPC signature style. We have encapsulated SDKs for common programming languages for developers. Developers can download the SDK to directly call this product's OpenAPI without worrying about technical details. If the existing SDK does not meet your needs, you can use the signature mechanism for self-signing integration. Since the details of self-signing are very complex, it may take around 5 business days. Therefore, we recommend joining our DingTalk service group (147535001692) and conducting signature integration under expert guidance.
Before using the API, you need to prepare your identity account and access key (AccessKey) to effectively access the API through client tools (such as SDK and CLI). For details, see Obtain an AccessKey.
Custom signature scenarios
If your business scenario has special requirements and you need to integrate the API through self-signing, we recommend consulting our technical support team first (DingTalk service group: 147535001692) to obtain professional guidance and ensure efficient integration.
Account and security preparation
Alibaba Cloud accounts have full administrative permissions over all resources. Once an AccessKey is compromised, all associated resources will be at risk of unauthorized access. To ensure security, it is recommended to create a RAM user with only API access permissions and configure its AccessKey, while configuring RAM policies based on the principle of least privilege (PoLP). Use the Alibaba Cloud account only in specific scenarios where Alibaba Cloud account permissions are explicitly required.
JVS Mobile
|
API |
Title |
Description |
| Skill | Skill | |
| CreateAgentSkill | Create a custom skill | Creates a custom skill. |
| DescribeSkills | Query skills | Queries skill information. |
| InstallSkills | Install skill | Installs skills to instances. |
| UninstallSkills | Uninstall skills | Uninstalls skills from instances. |
| DeleteAgentSkill | Delete custom skills | Deletes custom skills. |
| CreateCreditPackage | Purchase a credit booster pack | Purchases a credit booster pack. |
| DescribeCreditPackage | Query credit booster packages | Queries credit booster packages. |
| CreateMobileAgentPackage | Purchase a resource plan | Purchases a resource plan by placing an order. |
| DeleteMobileAgentPackage | Delete a package | Deletes a node package. |
| DescribeMobileAgentPackage | Query packages | Queries the details of node packages. |
| RenewMobileAgentPackage | Renew a resource plan | Renews a resource plan. |
| ModifyJVSInstance | Modify JVS instance configuration | Modifies the configuration of a JVS instance. |
| DescribeJVSInstance | Query JVS instance information | Queries JVS instance information. |
| RunAgentTask | Execute an agent task | Triggers an Agent on Mobile nodes to execute an AI automation task. |
| DescribeAgentTask | Query agent task details | Queries information about Agent Tasks. |
| CancelAgentTask | CancelAgentTask | Cancels running agent tasks on a mobile node. |
| PauseAgentTask | PauseAgentTask | Pauses running agent tasks on Mobile nodes. |
| ResumeAgentTask | Resume an agent task | Resumes an automated Agent task that is running on a Mobile node. |
| DescribeCreditDetail | Query credit details | Queries all credit change records. |
| CreateAICloudPhone | Create an AI cloud phone | Creates an AI cloud phone. |
Cloud phone matrix
|
API |
Title |
Description |
| CreateCloudPhoneNode | Create a cloud phone matrix | Creates a cloud phone matrix. In the Wuying Cloud Phone system, a matrix (Cloud Phone Server) is a logical resource management unit that represents a physical server instance. The physical server can be divided into multiple independently running cloud phone instances that share the underlying compute, storage, and network resources of the matrix. Creating a matrix is equivalent to obtaining a physical server on which you can create cloud phone instances. The number of cloud phone instances varies based on the configuration. |
| DescribeCloudPhoneNodes | Query cloud phone matrix information | Queries the details of a cloud phone matrix. In the Wuying Cloud Phone system, a matrix (Cloud Phone Server) is a logical resource management snap-in that represents a physical server instance. The physical server can be divided into multiple independently running cloud phone instances that share the underlying compute, storage, and network resources of the matrix. Creating a matrix is equivalent to obtaining a physical server on which you can create cloud phone instances. The number of cloud phone instances that can be created varies depending on the 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 the specified cloud phone matrices. |
| ChangeCloudPhoneNode | Modify cloud phone matrix configuration | Modifies the configuration of a cloud phone matrix. Currently, only instance type changes and cloud phone instance count changes are supported (the instance count refers to the number of instances in the cloud phone matrix). |
| UpdateCloudPhoneNodeSystemImage | Change normal matrix node system cloud disk image | Changes the system cloud disk image of a normal matrix node. |
| ExpandDataVolume | ExpandDataVolume | Expands the storage of a cloud phone matrix. You can expand shared storage for matrix-level files such as images, and instance storage. Expanding the storage incurs new fees, and the API response returns an order ID. |
| DeleteCloudPhoneNodes | DeleteCloudPhoneNodes | Deletes a cloud phone matrix. |
Instance group
|
API |
Title |
Description |
| ModifyInstanceGroupSpec | Change instance group specifications | Changes the specifications of instance groups. Currently, only specification upgrades are supported. Specification downgrades are not supported. |
| DescribeSpec | DescribeSpec | Queries the available specifications for cloud phones. This information is required to create an instance. For the cloud phone matrix mode, this operation also returns the minimum and maximum number of instances allowed per matrix. |
| CheckResourceStock | Check resource inventory status | Checks the inventory status of cloud phone resources. Before creating an instance, you can use this operation to check whether the inventory in the target region is sufficient, and then proceed with creation after confirmation. |
| CreateAndroidInstanceGroup | Create an instance group | Creates pay-as-you-go or subscription cloud phone instance groups. An instance group can manage multiple instances. You can organize instances with the same functional purpose into the same instance group for unified management. |
| DescribeAndroidInstanceGroups | Query instance group details | Queries the details of cloud phone instance groups. |
| ModifyAndroidInstanceGroup | ModifyAndroidInstanceGroup | Modifies attributes of an instance group. |
| UpgradeAndroidInstanceGroup | UpgradeAndroidInstanceGroup | Upgrades an instance group. This operation only supports scaling out an instance group, which increases the number of instances. |
| 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 subscription Cloud Phone instance groups. If a subscription instance group expires, the system automatically deletes the instance group and its instances after 15 days. You cannot recover deleted resources. 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. |
Instance
|
API |
Title |
Description |
| DescribeAndroidInstances | Query instance details | Queries the details of 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 | Start cloud phone instances. |
| StopAndroidInstance | StopAndroidInstance | Stops (shuts down) an Android instance. |
| RebootAndroidInstancesInGroup | RebootAndroidInstancesInGroup | Reboots (shuts down and then starts) Cloud Phone instances. |
| ResetAndroidInstancesInGroup | Reset an instance (initialize system) | Resets cloud phone instances. A reset reinstalls the system using the image of the cloud phone. For example, the reset fails if the image used when the cloud phone was created has been deleted. |
| 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 phone storage for one or more 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. |
| Connect and disconnect | Connect and disconnect | |
| 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. |
| Remote command | Remote command | |
| RunCommand | RunCommand | Runs a command on one or more cloud phone instances. |
| DescribeInvocations | DescribeInvocations | Queries the execution results of a command run by calling the RunCommand operation. |
| RunSyncCommand | RunSyncCommand | Runs a synchronous command on one or more Cloud Phone instances and returns the execution result. |
| File upload and download | File upload and download | |
| SendFile | SendFile | Pushes files from Object Storage Service (OSS) or a public download link to one or more cloud phones. |
| FetchFile | FetchFile | Fetches files from a cloud phone to Object Storage Service (OSS). |
| Screenshot | Screenshot | |
| CreateScreenshot | CreateScreenshot | This asynchronous API operation generates a screenshot of a cloud phone. |
| Stream collaboration | Stream 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. |
Image
|
API |
Title |
Description |
| ImportImage | Import a custom image | Imports a custom image. |
| DescribeImageList | DescribeImageList | Queries a list of available images. |
| 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. |
| 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. |
| DeleteImages | DeleteImages | Deletes a custom image. |
Application
|
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. |
| 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 applications in batches on Cloud Phone instances. |
| UninstallApp | UninstallApp | Uninstalls applications from one or more Cloud Phone instances. |
| OperateApp | OperateApp | Operates apps in a cloud phone, such as opening, closing, and reopening apps. |
Key pair
|
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. |
| DescribeKeyPairs | DescribeKeyPairs | Queries one or more key pairs. |
| ImportKeyPair | ImportKeyPair | Imports the public key of an Android Debug Bridge (ADB) key pair. |
| 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. |
| 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. |
Backup
|
API |
Title |
Description |
| DescribeBackupFiles | Query backup files | 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-`. |
| 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. |
| DeleteBackupFile | Delete backup files | Deletes backup files in batches. |
Policy
|
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 | Query policy details | Queries the details of a policy. |
| ModifyPolicyGroup | ModifyPolicyGroup | Modifies the information of a policy group. |
| DeletePolicyGroup | DeletePolicyGroup | Deletes one or more policy groups. |
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 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. |
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. |
Other
|
API |
Title |
Description |
| ModifyDisplayConfig | ModifyDisplayConfig | Modifies display settings. |
| DescribeDisplayConfig | DescribeDisplayConfig | Queries the display settings. |
| GetNetworkBlacklist | GetNetworkBlacklist | Queries the network access blacklist for IP addresses and domain names. |
| SetNetworkBlacklist | SetNetworkBlacklist | Adds or purges IP addresses and domain names from the network access blacklist. |
| DescribeRegions | Query Available Regions | Query available regions. |
| 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. |
| ListTagResources | ListTagResources | Queries the tags that are associated with Cloud Phone instances. |
| ModifyInstanceChargeType | ModifyInstanceChargeType | Modifies the billing method. Currently, this operation only allows you to change the billing method from pay-as-you-go to subscription. |
| 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. |
| CreateScheduledTask | Create an agent scheduled task | Creates a scheduled task for an agent. |
| DeleteScheduledTask | Delete agent scheduled task | Deletes a scheduled task of an agent. |
| DescribeScheduledTaskExecutions | Query agent scheduled task execution records | Queries the execution records of an agent scheduled task. |
| DescribeScheduledTasks | Query agent scheduled tasks | Queries the list of agent scheduled tasks. |
| ModifyScheduledTask | Modify an agent scheduled task | Modifies an agent scheduled task. |
| ActivateEdgeMobileAgent | Activate an edge agent device | Activates an edge agent device. |
| CreateEdgeMobileAgentPackage | Purchase an edge agent package | Places an order to purchase an edge agent package. |
| DescribeEdgeMobileAgentPackages | Query edge agent package details | Queries the details of edge agent packages. |
| RefreshAuthTokens | Refresh model authentication tokens | Refreshes model authentication tokens. |
| CreateMobileAgentTask | Create an agent task | Creates an agent task. |