Updated on 2026-05-21 GMT+08:00

Modifying Server Images in Batches

Function

Modifies server images in batches.

  • A server image can be switched to a server group image if the two images are different. This operation is allowed only for images under the same circumstances such as OS, free version, and paid version (source & price). Otherwise, you can purchase new servers, or delete or unsubscribe from old servers.

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:server:batchChangeImage

    Write

    server *

    • g:ResourceTag/<tag-key>

    • g:EnterpriseProjectId

    -

    • ims:images:list
    • vpc:ports:get
    • vpc:subnets:get

URI

POST /v1/{project_id}/app-servers/actions/batch-change-image

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Unique ID of a project

Request Parameters

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

No

String

User token

It can be obtained by calling the IAM API used to obtain a user token. The value of X-Subject-Token in the response header is the user token.

Table 3 Request body parameters

Parameter

Mandatory

Type

Description

server_ids

No

Array of strings

Application streaming server IDs.

image_id

Yes

String

Image ID, which must be different from the original image ID of the server.

image_type

Yes

String

Image Type

  • gold - Marketplace image

  • public - Public image

  • private - Private image

  • shared - Shared image

  • other - Others.

os_type

Yes

String

System type. Currently, only Windows is supported.

  • Linux -

  • Windows -

  • Other -

image_product_id

No

String

Product ID of the image. This parameter is mandatory when the image is a marketplace image.

update_access_agent

No

Boolean

Whether to automatically upgrade the HDA.

Response Parameters

Status code: 200

Table 4 Response body parameters

Parameter

Type

Description

items

Array of ServerJobInfo objects

Server task information.

Table 5 ServerJobInfo

Parameter

Type

Description

server_id

String

Server ID.

job_id

String

Task ID.

error_code

String

Error code of a failure.

error_message

String

Failure cause.

Status code: 400

Table 6 Response body parameters

Parameter

Type

Description

error_code

String

Error code, which is returned upon failure.

error_msg

String

Error message.

Status code: 401

Table 7 Response body parameters

Parameter

Type

Description

error_code

String

Error code, which is returned upon failure.

error_msg

String

Error message.

Status code: 403

Table 8 Response body parameters

Parameter

Type

Description

error_code

String

Error code, which is returned upon failure.

error_msg

String

Error message.

Status code: 404

Table 9 Response body parameters

Parameter

Type

Description

error_code

String

Error code, which is returned upon failure.

error_msg

String

Error message.

Status code: 405

Table 10 Response body parameters

Parameter

Type

Description

error_code

String

Error code, which is returned upon failure.

error_msg

String

Error message.

Status code: 500

Table 11 Response body parameters

Parameter

Type

Description

error_code

String

Error code, which is returned upon failure.

error_msg

String

Error message.

Status code: 503

Table 12 Response body parameters

Parameter

Type

Description

error_code

String

Error code, which is returned upon failure.

error_msg

String

Error message.

Example Requests

POST /v1/a4da8115c9d8464ead3a38309130523f/app-servers/actions/batch-change-image

{
  "server_ids" : [ "25b1dd14-0c84-4558-aa57-03a6c54b8e75" ],
  "image_id" : "35998d9a-14f2-48fc-832b-6fc0074dc8f8",
  "image_type" : "private",
  "os_type" : "Windows",
  "image_product_id" : "35998d9a-14f2-48fc-832b-6fc0074dc8f8",
  "update_access_agent" : true
}

Example Responses

Status code: 200

Response to a successful request.

{
  "items" : [ {
    "server_id" : "84d5dd05-2977-4e37-8409-cf0b027f6a5b",
    "job_id" : "84d5dd05-2977-4e37-8409-cf0b027f6a5b",
    "error_code" : "",
    "error_message" : ""
  }, {
    "server_id" : "84d5dd05-2977-4e37-8409-cf0b027f6a5b",
    "job_id" : "",
    "error_code" : "WKS.00129901",
    "error_message" : "The service is now unavailable to process the request."
  } ]
}

Status Codes

Status Code

Description

200

Response to a successful request.

400

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

401

Authentication failed.

403

Permissions required.

404

No resources found.

405

The request method is not allowed.

500

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

503

Service unavailable.

Error Codes

See Error Codes.