Updated on 2025-12-10 GMT+08:00

Restarting ECSs in a Batch

Function

This API is used to restart ECSs in a batch based on specified ECS IDs. A maximum of 1,000 ECSs can be restarted in one minute.

This API is an asynchronous API. After the batch restart request is successfully delivered, a job ID is returned. This does not mean the batch restart is complete. You need to call the API by referring to Querying Job Execution Status to query the job status. The SUCCESS status indicates that the batch restart is successful.

Debugging

You can debug this API in API Explorer.

Authorization

Each account has all of the permissions required to call all APIs, but IAM users must have the required permissions specifically assigned.
  • If you are using role/policy-based authorization, see the required permissions in Permissions and Supported Actions.
  • If you are using identity policy-based authorization, the permissions listed below are required.

Action

Access Level

Resource Type (*: required)

Condition Key

Alias

Dependencies

ecs:cloudServers:reboot

write

instance *

-

-

-

URI

POST /v1/{project_id}/cloudservers/action

Table 1 describes the parameters in the URI.
Table 1 Parameter description

Parameter

Mandatory

Description

project_id

Yes

Specifies the project ID.

For details about how to obtain the ID, see Obtaining a Project ID.

Request

Table 2 describes the request parameters.
Table 2 Request parameters

Parameter

Mandatory

Type

Description

reboot

Yes

Object

Specifies the operation to restart the ECS. For details, see Table 3.

Table 3 reboot field description

Parameter

Mandatory

Type

Description

type

Yes

String

Specifies the type of the restart operation.

  • SOFT: normal restart
  • HARD: forcible restart (hard restart)

servers

Yes

Array of objects

Specifies ECS IDs. For details, see Table 4.

Table 4 servers field description

Parameter

Mandatory

Type

Description

id

Yes

String

Specifies the ECS ID.

Response

Table 5 describes the response parameters.

Table 5 Response parameters

Parameter

Type

Description

job_id

String

Definition

Specifies the job ID returned after a job is delivered. The job ID can be used to query the job execution progress. For details about how to query the job execution status based on job_id, see Job Status Management.

Range

N/A

For details about abnormal responses, see Responses (Jobs).

Example Request

Batch restart ECSs whose IDs are 616fb98f-46ca-475e-917e-2563e5a8cd19 and 726fb98f-46ca-475e-917e-2563e5a8cd20 with the request parameter set to reboot.
POST https://{endpoint}/v1/{project_id}/cloudservers/action

{
    "reboot": {
        "type":"SOFT",
        "servers": [
            {
                "id": "616fb98f-46ca-475e-917e-2563e5a8cd19"
            },
            {
                "id": "726fb98f-46ca-475e-917e-2563e5a8cd20"
            }
        ]
    }
}

Example Response

{      
    "job_id": "ff80808288d41e1b018990260955686a" 
}

Error Codes

See Error Codes.