Upgrades a subscription Internet NAT gateway.

Usage notes

  • You cannot call this operation to downgrade a subscription Internet NAT gateway. You can downgrade a subscription Internet NAT gateway only in the console.
  • When you call this operation to upgrade a subscription Internet NAT gateway, an order is generated. After you complete the payment in the order center, the Internet NAT gateway is upgraded.
  • ModifyNatGatewaySpec is an asynchronous operation. After you make a request, the ID of the request is returned but the Internet NAT gateway is not upgraded. The system upgrades the NAT gateway in the background. You can call the DescribeNatGateways operation to query the status of an Internet NAT gateway.
    • If an Internet NAT gateway is in the Modifying state, the NAT gateway is being upgraded. In this case, you can only query the NAT gateway but cannot perform other operations.
    • If an Internet NAT gateway is in the Available state, the Internet NAT gateway is upgraded.
  • You cannot repeatedly call the ModifyNatGatewaySpec operation to resize a pay-by-specification NAT gateway.

Internet NAT gateways are available in different sizes. The size of an Internet NAT gateway determines the SNAT performance, which includes the maximum number of connections and the number of new connections per second. However, the size of a NAT gateway does not affect the data throughput. The following table describes the correlations between different sizes of Internet NAT gateways and SNAT performance metrics.


Maximum number of connections

Number of new connections per second











OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.

Request parameter

Parameter Type Required Example Description
Action String Yes ModifyNatGatewaySpec

The operation that you want to perform. Set the value to ModifyNatGatewaySpec.

RegionId String Yes cn-hangzhou

The ID of the region where the Internet NAT gateway is deployed.

You can call the DescribeRegions operation to query the most recent region list.

NatGatewayId String Yes ngw-bp1uewa15k4iy5770****

The ID of the Internet NAT gateway that you want to upgrade.

Spec String Yes Middle

The size of the Internet NAT gateway. Valid values:

  • Small: small
  • Middle: medium
  • Large: large
AutoPay Boolean No false

Specifies whether to automatically complete the payment.

  • true: enables automatic payment. Payments are automatically completed.
  • false (default): disables automatic payment. If you select this option, you must go to the Order Center to complete the payment after an order is generated.
ClientToken String No 123e4567-e89b-12d3-a456-426655****

The client token that is used to ensure the idempotence of the request.

You can use the client to generate the value, but you must make sure that it is unique among different requests. The token can contain only ASCII characters.

Response parameters

Parameter Type Example Description
RequestId String DBD4E4A2-786E-4BD2-8EB6-107FFC2B5B7D

The ID of the request.


Sample requests

&Common request parameters

Sample success responses

XML format

HTTP/1.1 200 OK


JSON format

HTTP/1.1 200 OK

  "RequestId" : "DBD4E4A2-786E-4BD2-8EB6-107FFC2B5B7D"

Error codes

HTTP status code Error code Error message Description
400 NATGW_MODIFY_SPEC_SAME The specified Spec is same with now. The error message returned because the specified gateway size is the same as the current one.
400 InvalidParameter.Spec.ValueNotSupported The specified Spec is not valid. The error message returned because the specified size is invalid.
404 InvalidRegionId.NotFound The specified RegionId does not exist in our records. The error message returned because the specified region ID does not exist.
404 InvalidNatGatewayId.NotFound The specified NatGatewayId does not exist in our records. The error message returned because the specified NAT gateway ID does not exist. Check whether the value of the NatGatewayId parameter is valid.
404 OperationUnsupported.PayByLcuNatModifySpec The spec of payByLcu nat is unsupported to modify. The error message returned because pay-by-specification NAT gateways cannot be resized.

For a list of error codes, visit the API Error Center.