Help Center/ Workspace/ API Reference/ Before You Start
Updated on 2026-02-10 GMT+08:00

Before You Start

Welcome to Huawei Cloud Workspace API Reference. Huawei Cloud Workspace is a workspace service based on cloud computing. Unlike conventional PCs and VDIs, Workspace enables enterprises to quickly build workspace environments without investing a large amount of money and spending days in deployment. Workspace supports multiple login modes, allowing you to flexibly access files and use applications for mobile office.

This document describes how to use application programming interfaces (APIs) to perform operations on workspaces, such as creating, querying, or deleting workspaces. For details about all supported operations, see API Overview.

Before calling Workspace APIs, ensure that you fully understand Workspace concepts. For details, see Workspace User Guide (Administrator).

API Calling

Workspace supports Representational State Transfer (REST) APIs, allowing you to call APIs using HTTPS. For details about API calling, see Calling APIs.

Endpoints

An endpoint is the request address for calling an API. Endpoints vary depending on services and regions. For the endpoints of all services, see Regions and Endpoints.

Table 1 Workspace endpoints

Region Name

Region

Endpoint

CN-Hong Kong

ap-southeast-1

workspace.ap-southeast-1.myhuaweicloud.com

LA-Santiago

la-south-2

workspace.la-south-2.myhuaweicloud.com

AP-Singapore

ap-southeast-3

workspace.ap-southeast-3.myhuaweicloud.com

LA-Sao Paulo

sa-brazil-1

workspace.sa-brazil-1.myhuaweicloud.com

LA-Mexico City1

na-mexico-1

workspace.na-mexico-1.myhuaweicloud.com

LA-Mexico City2

la-north-2

workspace.la-north-2.myhuaweicloud.com

Notes and Constraints

The number of times that Workspace server APIs can be called is limited to avoid service interruption due to repeated API calls in a short period of time, as shown in Table 2.

Table 2 Workspace API request throttling

API Category

API Name

API URI

Max. User Requests

Statistics

Querying Whether There Are Records That Meet the Notification Rule in the Corresponding Metric Dimension

GET /v2/{project_id}/statistics/notification-records

200 times/minute

Querying Duration Data of Each Phase of Workspace or Application Streaming

GET /v2/{project_id}/statistics/metrics/access-stages

200 times/minute

Querying the Desktop Usage Duration

POST /v2/{project_id}/desktops/statistics/used

100 times/minute

Querying Notification Rules

GET /v2/{project_id}/statistics/notify-rules

200 times/minute

Querying User Usage Statistics

GET /v2/{project_id}/statistics/metrics/users

200 times/minute

Querying Access Statistics of Application Streaming

GET /v2/{project_id}/statistics/metrics/app-user-access

200 times/minute

Querying Desktops That Are Not Used in a Specified Period

GET /v2/{project_id}/desktops/statistics/unused

200 times/minute

Querying Metrics

GET /v2/{project_id}/statistics/metrics

200 times/minute

Querying Metrics Growth Rate

GET /v2/{project_id}/statistics/growth-rate

200 times/minute

Querying Metric Trends

GET /v2/{project_id}/statistics/metrics/trend

200 times/minute

Querying Desktop Usage Statistics

GET /v2/{project_id}/statistics/metrics/desktops

200 times/minute

Querying Login Status

GET /v2/{project_id}/desktops/statistics/login-state

200 times/minute

Updating a Notification Rule

PUT /v2/{project_id}/statistics/notify-rules/{rule_id}

100 times/minute

Deleting a Notification Rule

DELETE /v2/{project_id}/statistics/notify-rules/{rule_id}

100 times/minute

Adding a Notification Rule

POST /v2/{project_id}/statistics/notify-rules

100 times/minute

Querying Operating Status

GET /v2/{project_id}/desktops/statistics/run-state

200 times/minute

Querying Desktop Statistics

GET /v2/{project_id}/statistics

200 times/minute

Policy group

Querying a Policy Group

GET /v2/{project_id}/policy-groups/{policy_group_id}

200 times/minute

Listing Policy Groups

GET /v2/{project_id}/policy-groups/{policy_group_id}

200 times/minute

Querying the List of Policy Group Details

GET /v2/{project_id}/policy-groups/detail

200 times/minute

Querying Target Objects of a Policy Group

GET /v2/{project_id}/policy-groups/{policy_group_id}/targets

200 times/minute

Querying Policy Items in a Policy Group

GET /v2/{project_id}/policy-groups/{policy_group_id}/policies

200 times/minute

Querying Initial Policy Items

GET /v2/{project_id}/policy-groups/original-policies

200 times/minute

Deleting a Policy Group

DELETE /v2/{project_id}/policy-groups/{policy_group_id}

100 times/minute

Adding a Policy Group

POST /v2/{project_id}/policy-groups

100 times/minute

Modifying a Policy Group

PUT /v2/{project_id}/policy-groups/{policy_group_id}

100 times/minute

Modifying the Object to Which a Policy Group Is Applied

PUT /v2/{project_id}/policy-groups/{policy_group_id}/targets

100 times/minute

Modifying Policy Items in a Policy Group

PUT /v2/{project_id}/policy-groups/{policy_group_id}/policies

100 times/minute

Querying Access Policies

GET /v2/{project_id}/access-policy

200 times/minute

Query the Target Object of a Specified Access Policy

GET /v2/{project_id}/access-policy/{access_policy_id}/objects

200 times/minute

Creating an Access Policy

POST /v2/{project_id}/access-policy

100 times/minute

Updating a Specified Access Policy

PUT /v2/{project_id}/access-policy/{access_policy_id}

100 times/minute

Updating the Target Object of a Specified Access Policy

PUT /v2/{project_id}/access-policy/{access_policy_id}/objects

100 times/minute

Deleting an Access Policy

DELETE /v2/{project_id}/access-policy

100 times/minute

Product packages

Listing Product Packages

GET /v2/{project_id}/products

200 times/minute

Querying Hourly Package Types That Can Be Subscribed To

GET /v2/{project_id}/products/hour-packages

200 times/minute

Listing Collaboration Packages

GET /v2/{project_id}/products/sharer

200 times/minute

Disks

Querying Disk Information

GET /v2/{project_id}/volume/products

200 times/minute

Expanding Disk Capacity

POST /v2/{project_id}/desktops/{desktop_id}/volumes/{volume_id}/expand

100 times/minute

Expanding Desktop Disk Capacity

POST /v2/{project_id}/volumes/expand

100 times/minute

Deleting a Data Disk

POST /v2/{project_id}/desktops/{desktop_id}/volumes/batch-delete

100 times/minute

Adding a Desktop Disk

POST /v2/{project_id}/desktops/{desktop_id}/volumes

100 times/minute

Batch Adding Desktop Disks

POST /v2/{project_id}/volumes

100 times/minute

Orders

Subscribe to a Yearly/monthly Order

POST /v2/{project_id}/periodic/subscribe/order

100 times/minute

Placing an Order on Changing the Bandwidth of Yearly/Monthly Workspace

POST /v2/{project_id}/bandwidths/{bandwidth_id}/periodic/change/order

100 times/minute

Batch Changing Orders of a Yearly/Monthly Desktop Pool

POST /v2/{project_id}/desktop-pool/periodic/change/order

100 times/minute

Batch Changing Orders of Yearly/Monthly Desktops

POST /v2/{project_id}/periodic/change/batch-order

100 times/minute

Creating a Change Order

POST /v2/{project_id}/periodic/{desktop_id}/change/order

100 times/minute

Creating a Desktop Order

POST /v2/{project_id}/desktops/orders/subscribe

100 times/minute

Scheduled tasks

Listing Scheduled Tasks

GET /v2/{project_id}/scheduled-tasks/{task_id}

200 times/minute

Querying Scheduled Task Details

GET /v2/{project_id}/scheduled-tasks/{task_id}

200 times/minute

Querying Execution Records of a Scheduled Task

GET /v2/{project_id}/scheduled-tasks/{task_id}/records

200 times/minute

Querying Details About Scheduled Task Execution Records

GET /v2/{project_id}/scheduled-tasks/{task_id}/records/{record_id}

200 times/minute

Creating a Scheduled Task

POST /v2/{project_id}/scheduled-tasks

100 times/minute

Obtaining Time Zone Configurations

GET /v2/{project_id}/common/timezones

200 times/minute

Batch Deleting Scheduled Tasks

POST /v2/{project_id}/scheduled-tasks/batch-delete

100 times/minute

Deleting a Scheduled Task

DELETE /v2/{project_id}/scheduled-tasks/{task_id}

100 times/minute

Listing Future Execution Time

POST /v2/{project_id}/scheduled-tasks/future-executions

100 times/minute

Modifying a Scheduled Task

PUT /v2/{project_id}/scheduled-tasks/{task_id}

100 times/minute

Alarms

Listing Alarms

GET /v2/{project_id}/alarms

200 times/minute

Querying Alarm Statistics

GET /v2/{project_id}/statistics/alarms

200 times/minute

Scripts

Listing Scripts

GET /v2/{project_id}/scripts

200 times/minute

Listing Script Tasks

GET /v2/{project_id}/script-execution-tasks

200 times/minute

Querying Script Details

GET /v2/{project_id}/scripts/{script_id}

200 times/minute

Listing Script Execution Records

GET /v2/{project_id}/script-execution-records

200 times/minute

Querying Script Execution Record Details

GET /v2/{project_id}/script-execution-records/{record_id}

200 times/minute

Updating a Script

PUT /v2/{project_id}/scripts/{script_id}

100 times/minute

Batch Executing Scripts or Commands

POST /v2/{project_id}/script-executions

100 times/minute

Deleting a Script

DELETE /v2/{project_id}/scripts/{script_id}

100 times/minute

Stopping a Script or Command Execution Task

POST /v2/{project_id}/script-executions/stop

100 times/minute

Adding a Script

POST /v2/{project_id}/scripts

100 times/minute

Retrying a Script or Executing a Failed Script

POST /v2/{project_id}/script-executions/retry

100 times/minute

Images

Listing Product Images

GET /v2/{project_id}/images

200 times/minute

Listing KooGallery Images

GET /v2/{project_id}/market-images

200 times/minute

AZs

Listing AZs

GET /v2/{project_id}/availability-zones

200 times/minute

Querying the Summary of AZs

GET /v2/{project_id}/availability-zones/summary

200 times/minute

Querying AZ details

GET /v2/{project_id}/availability-zones/detail

200 times/minute

Snapshots

Listing Snapshots

GET /v2/{project_id}/snapshots

200 times/minute

Batch Creating Snapshots

POST /v2/{project_id}/snapshots/batch-create

100 times/minute

Batch Restoring Snapshots

POST /v2/{project_id}/snapshots/batch-restore

100 times/minute

Batch Deleting Snapshots

POST /v2/{project_id}/snapshots/batch-delete

100 times/minute

Connections

Querying the Number of Login Users

GET /v2/{project_id}/connections/online-users

200 times/minute

Querying Login Information

GET /v2/{project_id}/connections/desktops

200 times/minute

Query Desktop Login Status

GET /v2/{project_id}/connections/status

200 times/minute

Exporting Connection Records

GET /v2/{project_id}/connections/desktops/export

200 times/minute

Quotas

Querying Tenant Quota Details of a Single Site

GET /v2/{project_id}/quotas/detail

200 times/minute

Querying Tenant Quotas

GET /v2/{project_id}/quotas

200 times/minute

Tasks

Querying Task Details

GET /v2/{project_id}/workspace-jobs/{job_id}

500 times/minute

Deleting a Subtask

POST /v2/{project_id}/workspace-sub-jobs/batch-delete

100 times/minute

Retrying a Task

POST /v2/{project_id}/workspace-jobs/{job_id}/actions

100 times/minute

Querying a Subtask

GET /v2/{project_id}/workspace-sub-jobs

500 times/minute

Events

Querying User Events

GET /v2/{project_id}/user-events

200 times/minute

Network

Listing NAT Gateways

GET /v2/{project_id}/nat-gateways

200 times/minute

Listing Ports

GET /v2/{project_id}/ports

200 times/minute

Querying the Internet Access Function

GET /v2/{project_id}/internet

200 times/minute

Querying Bound Desktops and Unbound EIPs

GET /v2/{project_id}/eips

200 times/minute

Querying Workspace Bandwidth Control Configurations

GET /v2/{project_id}/bandwidths/{bandwidth_id}/control-list

200 times/minute

Listing Workspace Bandwidths

GET /v2/{project_id}/bandwidths

200 times/minute

Listing IDs of Subnets Currently in Use

GET /v2/{project_id}/subnets/using-subnets

200 times/minute

Creating Workspace Bandwidth

POST /v2/{project_id}/bandwidths

100 times/minute

Enabling the Internet Access Function

POST /v2/{project_id}/internet

100 times/minute

Enabling the Desktop Internet Access Function

POST /v2/{project_id}/eips

100 times/minute

Batch Unbinding EIPs from Desktops

POST /v2/{project_id}/eips/unbinding

100 times/minute

Deleting Workspace Bandwidth

DELETE /v2/{project_id}/bandwidths/{bandwidth_id}

100 times/minute

Updating Workspace Bandwidth

POST /v2/{project_id}/bandwidths/{bandwidth_id}/update

100 times/minute

Updating Workspace Bandwidth Control Configurations

PUT /v2/{project_id}/bandwidths/{bandwidth_id}/control-list

100 times/minute

Binding an EIP to a Desktop

POST /v2/{project_id}/eips/binding

100 times/minute

Agencies

Querying an Agency

GET /v2/{project_id}/agencies

200 times/minute

Enabling the Agency Function

POST /v2/{project_id}/agencies

100 times/minute

Collaborative desktops

Purchasing Associated Resources for a Desktop

POST /v2/{project_id}/desktop/sub-resources

100 times/minute

Deleting Associated Resources from a Desktop

POST /v2/{project_id}/desktop/delete-sub-resources

100 times/minute

Price inquiry

Querying the Price for Changing the Specifications of Yearly/Monthly Desktop Pools in Batches

POST /v2/{project_id}/desktop-pool/periodic/inquiry/resize

100 times/minute

Querying the Price for Disk Capacity Expansion of Yearly/Monthly Desktop Pools in Batches

POST /v2/{project_id}/desktop-pool/periodic/inquiry/extend-volume

100 times/minute

Querying the Price for Changing Images of Yearly/Monthly Desktop Pools in Batches

POST /v2/{project_id}/desktop-pool/periodic/inquiry/change-image

100 times/minute

Querying the Price for Adding a Disk for Yearly/Monthly Desktop Pools

POST /v2/{project_id}/desktop-pool/periodic/inquiry/add-volume

100 times/minute

Querying the Price for Upgrading the Specifications of Yearly/Monthly Desktop Pools in Batches

POST /v2/{project_id}/periodic/inquiry/add-resources

100 times/minute

Querying the Price for Changing the Images of Yearly/Monthly Desktops in Batches

POST /v2/{project_id}/periodic/inquiry/change-image

100 times/minute

Application control

Listing Control Rules

GET /v1/{project_id}/app-center/app-restricted-rules

200 times/minute

Listing App Rules

GET /v1/{project_id}/app-center/app-rules

200 times/minute

Creating an App Rule

POST /v1/{project_id}/app-center/app-rules

100 times/minute

Disabling Rule Control

POST /v1/{project_id}/app-center/app-rules/actions/disable-rule-restriction

100 times/minute

Batch Deleting Control Rule Lists

POST /v1/{project_id}/app-center/app-restricted-rules/actions/batch-delete

100 times/minute

Batch Deleting Rules

POST /v1/{project_id}/app-center/app-rules/batch-delete

100 times/minute

Enabling App Rule Control

POST /v1/{project_id}/app-center/app-rules/actions/enable-rule-restriction

100 times/minute

Deleting an App Rule

DELETE /v1/{project_id}/app-center/app-rules/{rule_id}

100 times/minute

Updating an App Rule

PATCH /v1/{project_id}/app-center/app-rules/{rule_id}

100 times/minute

Adding a Control Rule

POST /v1/{project_id}/app-center/app-restricted-rules

100 times/minute

App Center

Querying Applications by Name in Pagination Mode

GET /v1/{project_id}/app-center/apps

200 times/minute

Querying Application Installation Job Information

GET /v1/{project_id}/app-center/jobs

200 times/minute

Querying Application Category Information

GET /v1/{project_id}/app-center/app-catalogs

200 times/minute

Querying Application Authorization Information

GET /v1/{project_id}/app-center/apps/{app_id}/authorizations

200 times/minute

Batch Deleting Jobs

POST /v1/{project_id}/app-center/jobs/actions/batch-delete

100 times/minute

Batch Deleting Apps

POST /v1/{project_id}/app-center/apps/actions/batch-delete

100 times/minute

Batch Setting Apps Invisible

POST /v1/{project_id}/app-center/apps/actions/batch-disable

100 times/minute

Batch Setting Apps Visible

POST /v1/{project_id}/app-center/apps/actions/batch-enable

100 times/minute

Batch Setting App Authorization

POST /v1/{project_id}/app-center/apps/actions/batch-assign-authorization

100 times/minute

Batch Installing Apps Automatically

POST /v1/{project_id}/app-center/apps/actions/batch-auto-install

100 times/minute

Deleting an App

DELETE /v1/{project_id}/app-center/apps/{app_id}

100 times/minute

Setting App Authorization

POST /v1/{project_id}/app-center/apps/{app_id}/actions/assign-authorizations

100 times/minute

Generating Access Credential Information

POST /v1/{project_id}/app-center/buckets/actions/create-credential

100 times/minute

Adding and Authorizing the Default Bucket

POST /v1/{project_id}/app-center/buckets

100 times/minute

Adding an Application

POST /v1/{project_id}/app-center/apps

100 times/minute

Modifying an Application

PATCH /v1/{project_id}/app-center/apps/{app_id}

100 times/minute

Retrying a Failed Job

POST /v1/{project_id}/app-center/jobs/actions/retry

100 times/minute

Automatically Installing an Application

POST /v1/{project_id}/app-center/apps/{app_id}/actions/auto-install

100 times/minute

Users

Performing User Operations

POST /v2/{project_id}/users/{user_id}/actions

100 times/minute

Querying an OTP Device

GET /v2/{project_id}/users/{user_id}/otp-devices

200 times/minute

Listing Users

GET /v2/{project_id}/users

200 times/minute

Querying User Details

GET /v2/{project_id}/users/{user_id}

200 times/minute

Creating a User

POST /v2/{project_id}/users

100 times/minute

Resetting a Random Password for a User

GET /v2/{project_id}/users/{user_id}/random-password

200 times/minute

Unbinding an OTP device

DELETE /v2/{project_id}/users/{user_id}/otp-devices

100 times/minute

Batch Creating Users

POST /v2/{project_id}/users/batch-create

100 times/minute

Batch Deleting Users

POST /v2/{project_id}/users/batch-delete

100 times/minute

Deleting a Specified User

DELETE /v2/{project_id}/users/{user_id}

100 times/minute

Modifying User Information

PUT /v2/{project_id}/users/{user_id}

100 times/minute

Resending an Email

POST /v2/{project_id}/users/{user_id}/resend-email

100 times/minute

User groups

Performing Operations on a User Group

POST /v2/{project_id}/groups/{group_id}/actions

100 times/minute

Listing User Groups

GET /v2/{project_id}/groups

200 times/minute

Querying Users in a User Group

GET /v2/{project_id}/groups/{group_id}/users

200 times/minute

Creating a User Group

POST /v2/{project_id}/groups

100 times/minute

Batch Deleting User Groups

POST /v2/{project_id}/groups/batch-delete

100 times/minute

Deleting a User Group

DELETE /v2/{project_id}/groups/{group_id}

100 times/minute

Modifying a User Group

PUT /v2/{project_id}/groups/{group_id}

100 times/minute

Workspace

Listing Edge Sites

GET /v2/{project_id}/wks-edge-sites

200 times/minute

Checking Whether the Workspace Service Is Locked

GET /v2/{project_id}/workspaces/lock-status

200 times/minute

Querying Workspace Service Details

GET /v2/{project_id}/workspaces

200 times/minute

Querying Site Information

GET /v2/{project_id}/sites

200 times/minute

Unlocking the Workspace Service

PUT /v2/{project_id}/workspaces/lock-status

100 times/minute

Enabling the Workspace Service

POST /v2/{project_id}/workspaces

100 times/minute

Deleting a Site

DELETE /v2/{project_id}/sites/{site_id}

100 times/minute

Adding a Site

POST /v2/{project_id}/sites

100 times/minute

Changing the Enterprise ID

PUT /v2/{project_id}/workspaces/enterprise-id

100 times/minute

Modifying Workspace Attributes

PUT /v2/{project_id}/workspaces

100 times/minute

Changing the Site Access Mode

PUT /v2/{project_id}/sites/{site_id}/access-mode

100 times/minute

Modifying a Site Service Subnet

PUT /v2/{project_id}/sites/{site_id}/subnet-ids

100 times/minute

Deregister the Workspace Service

DELETE /v2/{project_id}/workspaces

100 times/minute

Terminal-desktop binding

Querying the Switch Configuration About Terminal-Desktop Binding

GET /v2/{project_id}/terminals/binding-desktops/config

200 times/minute

Listing Terminal-Desktop Binding Configurations

GET /v2/{project_id}/terminals/binding-desktops

200 times/minute

Deleting Terminal-Desktop Binding Configurations

POST /v2/{project_id}/terminals/binding-desktops/batch-delete

100 times/minute

Setting the Terminal-Desktop Binding Switch

POST /v2/{project_id}/terminals/binding-desktops/config

100 times/minute

Modifying Terminal-Desktop Binding Configurations

PUT /v2/{project_id}/terminals/binding-desktops

100 times/minute

Adding Terminal-Desktop Binding Configurations

POST /v2/{project_id}/terminals/binding-desktops

100 times/minute

Desktops

Changing the Associated Username of a Desktop in the AD Scenario

PUT /v2/{project_id}/desktops/change-username

100 times/minute

Installing Agent

POST /v2/{project_id}/desktops/agents

100 times/minute

Changing Specifications

POST /v2/{project_id}/desktops/resize

100 times/minute

Perform Operations on a Desktop

POST /v2/{project_id}/desktops/action

100 times/minute

Querying the Sysprep Version

GET /v2/{project_id}/desktops/{desktop_id}/sysprep

200 times/minute

Querying Details About a Desktop

GET /v2/{project_id}/desktops/{desktop_id}

200 times/minute

Querying Desktop Installation Agent Details

GET /v2/{project_id}/desktops/agents

200 times/minute

Querying Desktop Monitoring Information

GET /v2/{project_id}/desktop-monitor/{desktop_id}

200 times/minute

Querying Desktop Startup and Shutdown Information

GET /v2/{project_id}/desktops/{desktop_id}/actions

200 times/minute

Listing Desktops

GET /v2/{project_id}/desktops

200 times/minute

Querying the Desktop Network

GET /v2/{project_id}/desktops/{desktop_id}/networks

200 times/minute

Querying the Desktop Details List

GET /v2/{project_id}/desktops/detail

200 times/minute

Creating Remote Assistance

POST /v2/{project_id}/desktops/{desktop_id}/remote-assistance

100 times/minute

Creating a Desktop

POST /v2/{project_id}/desktops

100 times/minute

Sending Notifications

POST /v2/{project_id}/desktops/notifications

100 times/minute

Assigning Desktops to Users

POST /v2/{project_id}/desktops/attach

100 times/minute

Querying Remote Assistance Data by Desktop ID

GET /v2/{project_id}/desktops/{desktop_id}/remote-assistance

200 times/minute

Query Available IP Addresses of a Subnet by Subnet ID

GET /v2/{project_id}/subnets/{subnet_id}/available-ip

200 times/minute

Updating the Desktop SID

PUT /v2/{project_id}/desktops/sids

100 times/minute

Unbinding Users

POST /v2/{project_id}/desktops/detach

100 times/minute

Batch Querying Desktop Networks

GET /v2/{project_id}/desktops/networks

200 times/minute

Batch Assigning Users

POST /v2/{project_id}/desktops/batch-attach

100 times/minute

Batch Unbinding Users

POST /v2/{project_id}/desktops/batch-detach

100 times/minute

Batch Switching Desktop Networks

POST /v2/{project_id}/desktops/networks/batch-change

100 times/minute

Batch Deleting Desktops

POST /v2/{project_id}/desktops/batch-delete

100 times/minute

Batch Setting Desktop Maintenance Mode

PUT /v2/{project_id}/desktops/maintenance-mode

100 times/minute

Batch Modifying User Permission Groups

POST /v2/{project_id}/desktops/change-user-privilege-group

100 times/minute

Switching the Desktop Network

PUT /v2/{project_id}/desktops/{desktop_id}/networks

100 times/minute

Canceling Remote Assistance

DELETE /v2/{project_id}/desktops/{desktop_id}/remote-assistance

100 times/minute

Deleting a Desktop

DELETE /v2/{project_id}/desktops/{desktop_id}

100 times/minute

Modifying Desktop Attributes

PUT /v2/{project_id}/desktops/{desktop_id}

100 times/minute

Batch Pre-Assigning Users

POST /v2/{project_id}/desktops/pre-batch-attach

100 times/minute

Remotely Logging In to the Console

GET /v2/{project_id}/desktops/{desktop_id}/remote-consoles

200 times/minute

Rebuilding a Desktop

POST /v2/{project_id}/desktops/rebuild

100 times/minute

Rejoining the AD Domain

POST /v2/{project_id}/desktops/{desktop_id}/rejoin-domain

100 times/minute

Converting a Desktop to an Image

POST /v2/{project_id}/desktops/desktop-to-image

100 times/minute

Desktop tags

Batch Deleting Desktop Tags

DELETE /v2/{project_id}/desktops/batch-tags

100 times/minute

Batch Adding Desktop Tags

POST /v2/{project_id}/desktops/batch-tags

100 times/minute

Batch Adding or Deleting Tags

POST /v2/{project_id}/desktops/{desktop_id}/tags/action

100 times/minute

Deleting a Desktop Tag

DELETE /v2/{project_id}/desktops/{desktop_id}/tags/{key}

100 times/minute

Filtering Desktops by Tag

POST /v2/{project_id}/desktops/resource_instances/action

100 times/minute

Desktop pools

Performing Operations on a Desktop Pool

POST /v2/{project_id}/desktop-pools/{pool_id}/action

100 times/minute

Listing Script Execution Tasks of a Desktop Pool

GET /v2/{project_id}/desktop-pools/script-execution-tasks/detail

200 times/minute

Listing Desktop Pools

GET /v2/{project_id}/desktop-pools

200 times/minute

Querying Users and User Groups Authorized to Access a Desktop Pool

GET /v2/{project_id}/desktop-pools/{pool_id}/users

200 times/minute

Querying Desktop Information in a Desktop Pool

GET /v2/{project_id}/desktop-pools/{pool_id}/desktops

200 times/minute

Querying Desktop Pool Details

GET /v2/{project_id}/desktop-pools/{pool_id}

200 times/minute

Creating a Desktop Pool

POST /v2/{project_id}/desktop-pools

100 times/minute

Expanding the Desktop Pool Capacity

POST /v2/{project_id}/desktop-pools/{pool_id}/expand

100 times/minute

Deleting a Desktop Pool

DELETE /v2/{project_id}/desktop-pools/{pool_id}

100 times/minute

Modifying Desktop Pool Attributes

PUT /v2/{project_id}/desktop-pools/{pool_id}

100 times/minute

Changing Desktop Pool Specifications

POST /v2/{project_id}/desktop-pools/{pool_id}/resize

100 times/minute

Sending Notifications for a Desktop Pool

POST /v2/{project_id}/desktop-pools/{pool_id}/notifications

100 times/minute

Batch Expanding Disks in a Desktop Pool

POST /v2/{project_id}/desktop-pools/{pool_id}/volumes/batch-expand

100 times/minute

Batch Deleting Disks from a Desktop Pool

POST /v2/{project_id}/desktop-pools/{pool_id}/volumes/batch-delete

100 times/minute

Batch Adding Disks to a Desktop Pool

POST /v2/{project_id}/desktop-pools/{pool_id}/volumes/batch-add

100 times/minute

Batch Executing Scripts for a Desktop Pool

POST /v2/{project_id}/desktop-pools/{pool_id}/script-executions

100 times/minute

Authorizing Users and User Groups to a Desktop Pool

POST /v2/{project_id}/desktop-pools/{pool_id}/users

100 times/minute

Rebuilding the System Disk of a Desktop Pool

POST /v2/{project_id}/desktop-pools/{pool_id}/rebuild

100 times/minute

Desktop naming policies

Creating a Desktop Name Policy

POST /v2/{project_id}/desktop-name-policies

100 times/minute

Updating a Desktop Name Policy

PUT /v2/{project_id}/desktop-name-policies/{policy_id}

100 times/minute

Obtaining the Desktop Name Policy

GET /v2/{project_id}/desktop-name-policies

200 times/minute

Batch Deleting Desktop Name Policies

POST /v2/{project_id}/desktop-name-policies/batch-delete

100 times/minute

Tenant configuration

Querying the Auxiliary Authentication Configuration

PUT /v2/{project_id}/auth-config/method-config

200 times/minute

Querying the Authentication-based Login Mode

GET /v2/{project_id}/auth-config/method-config

200 times/minute

Querying NAT Mapping Configuration Items of a Tenant

GET /v2/{project_id}/nat-mapping-configs

200 times/minute

Listing Customized Tenant Configurations

GET /v2/{project_id}/tenant-configs

200 times/minute

Querying the Tenant Function Status

GET /v1/{project_id}/app-center/profiles

200 times/minute

Update Auxiliary Authentication Policy Configuration

PUT /v2/{project_id}/assist-auth-config/method-config

100 times/minute

Updating an Authentication Policy

PUT /v2/{project_id}/auth-config/method-config

100 times/minute

Obtaining the Backup Configuration of the Workspace Access Address

GET /v2/{project_id}/access-config/address-backup

200 times/minute

Enabling or Disabling the Tenant Function

PATCH /v1/{project_id}/app-center/profiles

100 times/minute

Modifying the Backup Configuration of the Workspace Access Address

POST /v2/{project_id}/access-config/address-backup

100 times/minute

Modifying NAT Mapping Configuration Items of a Tenant

PUT /v2/{project_id}/nat-mapping-configs

100 times/minute

Modifying Customized Tenant Configurations

PUT /v2/{project_id}/tenant-configs

100 times/minute

Querying Default User Configurations of a Collaborative Desktop

GET /v2/{project_id}/share-space/configuration

200 times/minute

Setting Default User Configurations of a Collaborative Desktop

PUT /v2/{project_id}/share-space/configuration

100 times/minute

Organizational units (OUs)

Querying User Information in an OU

GET /v2/{project_id}/ou-users

200 times/minute

Listing OUs in the AD Domain

GET /v2/{project_id}/ad-ous

200 times/minute

Querying an OU

GET /v2/{project_id}/ous

200 times/minute

Updating an OU

PUT /v2/{project_id}/ous/{ou_id}

100 times/minute

Deleting an OU

DELETE /v2/{project_id}/ous/{ou_id}

100 times/minute

Adding an OU

POST /v2/{project_id}/ous

100 times/minute

Concepts

  • Account

    The account has full access permissions for all of its cloud services and resources. It can be used to reset user passwords and grant user permissions. The account is a payment entity and should not be used directly to perform routine management. For security purposes, create IAM users and grant them permissions for routine management.

  • User

    A user is created by an account in IAM to use cloud services. Each user has its own identity credentials (password and access keys).

    The account name, username, and password will be required for API authentication.

  • Region
  • AZ

    An availability zone (AZ) contains one or more physical data centers. Each AZ has independent cooling, fire extinguishing, moisture-proof, and electricity facilities. Within an AZ, computing, network, storage, and other resources are logically divided into multiple clusters. AZs within a region are interconnected by optical fibers for high-availability networking.

  • Project

    Projects group and isolate resources (including compute, storage, and network resources) across physical regions. A default project is provided for each region, and subprojects can be created under each default project. Users can be granted permissions to access all resources in a specific project. For more refined access control, create subprojects under a project and purchase resources in the subprojects. Users can then be assigned permissions to access only specific resources in the subprojects.

    Figure 1 Project isolation model