> For the complete documentation index, see [llms.txt](https://docs.console.zenlayer.com/api-reference/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.console.zenlayer.com/api-reference/cn/compute/zec/instance/modifyinstancetype.md).

# ModifyInstanceType

## 1. 接口描述

本接口(ModifyInstanceType)用于将指定弹性计算实例的规格变更为目标规格。

{% hint style="info" %}
**注意事项**

* 本接口为异步接口，变更规格请求发送成功后会立即返回，此时操作并未完成。实例操作结果可以通过调用[`DescribeInstancesStatus`](/api-reference/cn/compute/zec/instance/describeinstancesstatus.md)接口查询，如果实例状态(`instanceStatus`)由`RESIZING`变为`STOPPED`，则代表规格变更成功，变更过程中不可对实例进行任何操作。
* 仅实例状态为`STOPPED` 状态的实例才能进行此操作。
* VM实例的`instanceType`为规格ID，如`z2a.cpu.4`；GPU实例的`instanceType`为GPU规格ID，如`z3a.g.C49.c8m32.1`。
  {% endhint %}

## 2. 请求参数

以下请求参数列表仅列出了接口中需要的请求参数

| 参数名称         | 必选 | 类型     | 描述                                                                                                                                                                                                                                                                 |
| ------------ | -- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| instanceId   | 是  | String | 要变更的实例ID。                                                                                                                                                                                                                                                          |
| instanceType | 是  | String | 变更的目标实例规格。普通实例取值可通过[DescribeZoneInstanceConfigInfos](/api-reference/cn/compute/zec/instance/describezoneinstanceconfiginfos.md)获得；GPU 实例取值可通过[DescribeZoneGpuInstanceConfigInfos](/api-reference/cn/compute/zec/instance/describezonegpuinstanceconfiginfos.md)获得。 |

## 3. 响应结果

| 参数名称      | 类型     | 描述                                                       |
| --------- | ------ | -------------------------------------------------------- |
| requestId | String | <p>唯一请求 ID。</p><p>每次请求都会返回。定位问题时需要提供该次请求的 requestId。</p> |

## 4. 代码示例

{% tabs %}
{% tab title="示例" %}
**1. 变更VM实例的规格。**

```json
POST /api/v2/zec HTTP/1.1
Host: console.zenlayer.com
Content-Type: application/json
X-ZC-Action: ModifyInstanceType
<Common Request Params>

Request：
{
  "instanceId": "instanceId",
  "instanceType": "z2a.cpu.4"
}

Response：
{
  "requestId": "T05992D0C-7E8B-4047-B0C0-780F2CD549D3",
  "response": {
    "requestId": "T05992D0C-7E8B-4047-B0C0-780F2CD549D3"
  }
}
```

**2. 变更GPU实例的规格。**

```json
POST /api/v2/zec HTTP/1.1
Host: console.zenlayer.com
Content-Type: application/json
X-ZC-Action: ModifyInstanceType
<Common Request Params>

Request：
{
  "instanceId": "instanceId",
  "instanceType": "z3a.g.C49.c8m32.1"
}

Response：
{
  "requestId": "T05992D0C-7E8B-4047-B0C0-780F2CD549D3",
  "response": {
    "requestId": "T05992D0C-7E8B-4047-B0C0-780F2CD549D3"
  }
}
```

{% endtab %}
{% endtabs %}

## 5. 开发者工具

Zenlayer Cloud API 2.0 提供了配套的[开发工具集（SDK）](/api-reference/cn/api-introduction/toolkit.md)，未来会陆续支持更多开发语言，方便快速接入和使用Zenlayer的产品和服务。

## 6. 错误码

下面包含业务逻辑中遇到的错误码，其他错误码见[公共错误码](/api-reference/cn/api-introduction/instruction/commonerrorcode.md)

| HTTP状态码 | 错误码                                                  | 说明                |
| ------- | ---------------------------------------------------- | ----------------- |
| 404     | INVALID\_INSTANCE\_NOT\_FOUND                        | 服务器实例不存在。         |
| 404     | INVALID\_INSTANCE\_TYPE\_NOT\_FOUND                  | 实例规格不存在。          |
| 400     | OPERATION\_DENIED\_INSTANCE\_STATUS\_NOT\_SUPPORT    | 实例状态不允许操作。        |
| 400     | OPERATION\_FAILED\_INSTANCE\_TYPE\_UNSUPPORTED       | 实例规格不支持，无法操作。     |
| 400     | OPERATION\_DENIED\_INSTANCE\_TYPE\_SAME\_AS\_CURRENT | 目标规格与当前规格相同，无需变更。 |
