Help Center/ Workspace/ API Reference/ Workspace APIs/ Policy Group/ Modifying Objects to Which a Policy Group Is Applied
Updated on 2026-02-10 GMT+08:00

Modifying Objects to Which a Policy Group Is Applied

Function

Batch adds or deletes objects to which a policy group is applied.

Debugging

You can debug this API through automatic authentication in API Explorer or use the SDK sample code generated by API Explorer.

Authorization Information

Each account has all the permissions required to call all APIs, but IAM users must be assigned the required permissions.

  • If you are using role/policy-based authorization, see Permissions Policies and Supported Actions for details on the required permissions.
  • If you are using identity policy-based authorization, the following identity policy-based permissions are required.

    Action

    Access Level

    Resource Type (*: required)

    Condition Key

    Alias

    Dependencies

    workspace:policyGroups:updateTargets

    Write

    policyGroup *

    -

    -

    -

    desktop

    -

    desktopPool

    -

    user

    -

    userGroup

    -

    appGroup

    -

URI

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

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Project ID.

policy_group_id

Yes

String

Policy group ID.

Request Parameters

Table 2 Request body parameters

Parameter

Mandatory

Type

Description

add

No

Array of Target objects

Adds an application.

delete

No

Array of Target objects

Deletes an application.

Table 3 Target

Parameter

Mandatory

Type

Description

target_id

No

String

Object ID.

target_name

No

String

Object name. The value can contain a maximum of 55 characters.

target_type

No

String

Object type.

  • INSTANCE: desktops

  • target_id: desktop SIDs

  • target_name: desktop names

  • USER: users

  • target_id: user IDs

  • target_name: usernames

  • USERGROUP: user groups

  • target_id: user group IDs

  • target_name: user group names

  • CLIENTIP: terminal IP addresses

  • target_id: terminal IP addresses

  • target_name: terminal IP addresses

  • OU: organizational units

  • target_id: OU IDs

  • target_name: OU names

  • DESKTOPSPOOL: desktop pools

  • target_id: desktop pool IDs

  • target_name: desktop pool names

  • ALL: all desktops

  • target_id: default-apply-all-targets

  • target_name: All-Targets

  • DESKTOP_TAG: desktop tag

  • target_id: tag key|tag value

  • target_name: tag key|tag value

Response Parameters

Status code: 200

Normal.

Status code: 400

Table 4 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

encoded_authorization_message

String

Encrypted detailed reason for rejection. You can call the API decode-authorization-message of STS to decrypt the reason.

Status code: 401

Table 5 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

encoded_authorization_message

String

Encrypted detailed reason for rejection. You can call the API decode-authorization-message of STS to decrypt the reason.

Status code: 403

Table 6 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

encoded_authorization_message

String

Encrypted detailed reason for rejection. You can call the API decode-authorization-message of STS to decrypt the reason.

Status code: 404

Table 7 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

encoded_authorization_message

String

Encrypted detailed reason for rejection. You can call the API decode-authorization-message of STS to decrypt the reason.

Status code: 405

Table 8 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

encoded_authorization_message

String

Encrypted detailed reason for rejection. You can call the API decode-authorization-message of STS to decrypt the reason.

Status code: 500

Table 9 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

encoded_authorization_message

String

Encrypted detailed reason for rejection. You can call the API decode-authorization-message of STS to decrypt the reason.

Status code: 503

Table 10 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

encoded_authorization_message

String

Encrypted detailed reason for rejection. You can call the API decode-authorization-message of STS to decrypt the reason.

Example Requests

PUT /v2/29dfe82ada564ac2b927e1ff036d9a9b/policy-groups/401a23865cae63f3015cceb9affe0049/targets

{
  "add" : [ {
    "target_id" : "xxxx-xxxx-xxxx-xxxx",
    "target_type" : "USER",
    "target_name" : "All-Targets-123"
  } ],
  "delete" : [ {
    "target_id" : "xxxx-xxxx-xxxx-xxxx",
    "target_type" : "USER",
    "target_name" : "All-Targets-456"
  } ]
}

Example Responses

None

Status Codes

Status Code

Description

200

Normal.

400

The request cannot be understood by the server due to malformed syntax.

401

Authentication failed.

403

No operation permissions.

404

No resources found.

405

The method specified in the request is not allowed.

500

An internal service error occurred. For details about the error code, see the error code description.

503

Service unavailable.

Error Codes

See Error Codes.