All Products
Document Center

Elastic Compute Service:StopInstances

Last Updated:Feb 04, 2024

Stops Elastic Compute Service (ECS) instances. After the operation is called, the state of the instances changes to Stopping and then to Stopped.

Operation description

  • If the response contains {"OperationLocks": {"LockReason" : "security"}} for an instance, the instance is locked for security reasons. No operations are allowed on the instance.
  • After you enable the economical mode for a pay-as-you-go instance that resided in a virtual private cloud (VPC), you can set StoppedMode to KeepCharging. Then, the pay-as-you-go instance continues to be billed after it is stopped. The instance type resources and public IP address are reserved for the instance.
  • Batch operations are supported. You can use BatchOptimization to specify the batch operation mode.


OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer.

Authorization information

There is currently no authorization information disclosed in the API.

Request parameters


Specifies whether to perform only a dry run, without performing the actual request. Valid values:

  • true: performs a dry run. The system checks the request for potential issues, including required parameters, request syntax, and instance status. If the request passes the dry run, DRYRUN.SUCCESS is returned. Otherwise, an error message is returned.
Note If you set BatchOptimization to SuccessFirst and DryRun to true, only DRYRUN.SUCCESS is returned regardless of whether the request passes the dry run.
  • false: performs a dry run and performs the actual request.

Default value: false.


The region ID of the instance. You can call the DescribeRegions operation to query the most recent region list.


Specifies whether to stop the instance in a forceful manner. Valid values:

  • true: stops the instance in a forceful manner. This operation is equivalent to the power-off operation in common scenarios. Cache data that is not written to storage in the instance will be lost.
  • false: stops the instance in a normal manner.

Default value: false.


The stop mode of the pay-as-you-go instance. Valid values:

  • StopCharging: economical mode. For information about how StopCharging takes effect, see the "Prerequisites" section in Economical mode.
  • KeepCharging: standard mode. After the instance is stopped in standard mode, you continue to be charged for it.

Default value: If the prerequisites required for enabling economical mode are met and you have enabled the mode in the ECS console, the default value is StopCharging . For more information, see the "Enable economical mode" section in Economical mode. Otherwise, the default value is KeepCharging.


The batch operation mode. Valid values:

  • AllTogether: In this mode, if all instances are stopped, a success message is returned. If an instance fails the verification, all instances fail to stop and an error message is returned.
  • SuccessFirst: In this mode, each instance is separately stopped. The response contains the operation results for each instance.

Default value: AllTogether.


The IDs of instances.


The ID of instance N. Valid values of N: 1 to 100.


Response parameters


The request ID.

InstanceResponsesobject []

Details about the responses returned for the instances, which contain the status of each instance before and after the operation is called and the operation results.


The error code that is returned for the operation on the instance. A return value of 200 indicates success. For more information, see the "Error codes" section in this topic.


The error message that is returned for the operation on the instance. A return value of Success indicates that this operation is successful. For more information, see the "Error codes" section in this topic.


The instance ID.


The current state of the instance.


The state of the instance before the operation is called.



Sample success responses


  "RequestId": "1C488B66-B819-4D14-8711-C4EAAA13AC01",
  "InstanceResponses": {
    "InstanceResponse": [
        "Code": "200",
        "Message": "success",
        "InstanceId": "i-bp67acfmxazb4p****",
        "CurrentStatus": "Stopping",
        "PreviousStatus": "Running"

Error codes

HTTP status codeError codeError messageDescription
400InvalidParameter.KMSKeyId.CMKNotEnabledThe CMK needs to be added ECS tag-
400InvalidParameter.KMSKeyId.CMKNotEnabledThe CMK needs to be enabled.The customer master key (CMK) is not enabled when KMSKeyId is specified for an encrypted disk. You can call the DescribeKey operation of KMS to query information about the specified CMK.
400InvalidParameter.KMSKeyId.KMSUnauthorizedECS service account have no right to access your KMS.-
400DRYRUN.SUCCESSThis request is a dryrun request with successful result.The request is checked and determined as valid.
403InvalidInstanceId.NotFoundInstanceId should not be null.-
403InvalidParameter.TooManyInstanceIdsInstance ids cannot be more than 100.-
403Abs.InvalidInstanceIds.MalFormedThe specified instanceIds is not valid.-
403IncorrectInstanceStatus%sThe instance is in a state that does not support the current operation.
403InsufficientBalanceYour account does not have enough balance.Your account balance is insufficient. Add funds to your account and try again.
403InstanceNotReadyThe specified instance is not ready for use.The resource is in a state that does not support the current operation. Try again later and check whether the instance state supports the operation.
404InvalidInstanceId.NotFound%sThe specified instance does not exist. Check whether the InstanceId parameter is valid.
404InvalidInstanceIds.NotFoundThe specified InstanceIds does not exist.The specified InstanceId parameter does not exist. You can call the DescribeInstances operation to query the state of the instance.
404InvalidInstanceId.NotFoundThe specified InstanceId does not exist.The specified instance does not exist.
409InvalidOperation.ConflictRequest was denied due to conflict with a previous request, please try again later.-
500InternalErrorThe request processing has failed due to some unknown error.An internal error has occurred. Try again later.

For a list of error codes, visit the Service error codes.