# Modifying the Specifications of an ECS

#### Function

This API is used to modify the specifications of an ECS.

For a running ECS, the system will automatically stop the ECS, copy the ECS data to the target node, which can be the source node, and then restart the ECS.

This API supports automatic rollback if the underlying resources are insufficient.

This API must be used with the API for verifying ECS specifications modification (POST /v2.1/{project_id}/servers/{server_id}/action) or the API for rolling back ECS specifications modification (POST /v2.1/{project_id}/servers/{server_id}/action) if an ECS is detected to be in VERIFY_RESIZE state and its OS-EXT-STS:vm_state is RESIZED.

#### URI

POST /v2.1/{project_id}/servers/{server_id}/action

POST /v2/{project_id}/servers/{server_id}/action

Table 1 describes the parameters in the URI.

Table 1 Parameter description
Parameter | Mandatory | Description
--- | --- | ---
project_id | Yes | Specifies the project ID.
server_id | Yes | Specifies the ECS ID.

#### Request

Table 2 describes the request parameters.

Table 2 Request parameters
Parameter | Mandatory | Type | Description
--- | --- | --- | ---
flavorRef | Yes | String | Specifies the new flavor ID or URI.

#### Response

None

#### Example Request

    POST https://{endpoint}/v2/{project_id}/servers/{server_id}/action
    POST https://{endpoint}/v2.1/{project_id}/servers/{server_id}/action

    {
        "resize" : {
            "flavorRef" : "s6.medium.2"
        }
    }

#### Example Response

None

#### Returned Values

See Returned Values for General Requests.

Parent topic: Status Management