> 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/zec/instance/inquirypricemodifyinstancetype.md).

# InquiryPriceModifyInstanceType

## 1. 接口描述

本接口(InquiryPriceModifyInstanceType)用于查询变更实例规格后的价格，同时通过previousPrices返回变更前各计费项当前生效的价格，用于对比出哪些计费项发生了调价。

## 2. 请求参数

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

| 参数名称         | 必选 | 类型     | 描述                                                                                                                                                                                                                                                                                        |
| ------------ | -- | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| instanceId   | 是  | String | <p>要变更规格的实例ID。</p><p>可通过调用 <a href="/api-reference/cn/zec/instance/describeinstances.md">DescribeInstances</a> 获取。</p>                                                                                                                                                                    |
| instanceType | 是  | String | <p>变更的目标实例规格。</p><p>普通实例取值可通过 <a href="/api-reference/cn/zec/instance/describezoneinstanceconfiginfos.md">DescribeZoneInstanceConfigInfos</a> 获得；GPU实例取值可通过 <a href="/api-reference/cn/zec/instance/describezonegpuinstanceconfiginfos.md">DescribeZoneGpuInstanceConfigInfos</a> 获得。</p> |

## 3. 响应结果

| 参数名称             | 类型                                                                                              | 描述                                                                  |
| ---------------- | ----------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- |
| requestId        | String                                                                                          | <p>唯一请求 ID。</p><p>每次请求都会返回。定位问题时需要提供该次请求的 requestId。</p>            |
| specPrice        | [PriceItem](/api-reference/cn/zec/datastructure.md#priceitem)                                   | <p>变更后规格的价格。</p><p>VM实例变配时返回，GPU/加速卡实例变配时为null。</p>                 |
| gpuPrice         | [PriceItem](/api-reference/cn/zec/datastructure.md#priceitem)                                   | <p>变更后GPU规格的价格。</p><p>GPU实例变配时返回，VM/加速卡实例变配时为null。</p>              |
| acceleratorPrice | [PriceItem](/api-reference/cn/zec/datastructure.md#priceitem)                                   | <p>变更后加速卡规格的价格。</p><p>加速卡实例变配时返回，VM/GPU实例变配时为null。</p>              |
| systemDiskPrice  | [PriceItem](/api-reference/cn/zec/datastructure.md#priceitem)                                   | 系统盘的价格。                                                             |
| previousPrices   | [InstanceTypePreviousPrices](/api-reference/cn/zec/datastructure.md#instancetypepreviousprices) | <p>变更前各计费项当前生效的价格，字段与上方一一对应，用于对比出哪些计费项发生了调价。</p><p>实例无订单时为null。</p> |

## 4. 代码示例

{% tabs %}
{% tab title="示例" %}
**查询变更实例规格后的价格。VM实例返回specPrice，GPU实例返回gpuPrice，加速卡实例返回acceleratorPrice。**

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

Request（VM实例）：
{
  "instanceId": "instanceId-xxx",
  "instanceType": "z2a.cpu.1"
}

Response（VM实例）：
{
  "requestId": "T12345678-A123-4B5C-DE67-8F9G01234567",
  "response": {
    "requestId": "T12345678-A123-4B5C-DE67-8F9G01234567",
    "specPrice": {
      "discount": 95.0,
      "discountPrice": 1444.0,
      "originalPrice": 1520.0,
      "unitPrice": null,
      "discountUnitPrice": null,
      "chargeUnit": null,
      "stepPrices": null
    },
    "gpuPrice": null,
    "acceleratorPrice": null,
    "systemDiskPrice": {
      "discount": 100.0,
      "discountPrice": 20.0,
      "originalPrice": 20.0,
      "unitPrice": null,
      "discountUnitPrice": null,
      "chargeUnit": null,
      "stepPrices": null
    },
    "previousPrices": {
      "specPrice": {
        "discount": 100.0,
        "discountPrice": 1200.0,
        "originalPrice": 1200.0,
        "unitPrice": null,
        "discountUnitPrice": null,
        "chargeUnit": null,
        "stepPrices": null
      },
      "gpuPrice": null,
      "acceleratorPrice": null,
      "systemDiskPrice": {
        "discount": 100.0,
        "discountPrice": 20.0,
        "originalPrice": 20.0,
        "unitPrice": null,
        "discountUnitPrice": null,
        "chargeUnit": null,
        "stepPrices": null
      }
    }
  }
}

上例中规格由1200.0变为1444.0（且新增95折），系统盘前后一致，即只有规格这一项发生调价。

Request（GPU实例）：
{
  "instanceId": "instanceId-yyy",
  "instanceType": "z3a.g.C49.c8m32.1"
}

Response（GPU实例）：
{
  "requestId": "T12345678-A123-4B5C-DE67-8F9G01234568",
  "response": {
    "requestId": "T12345678-A123-4B5C-DE67-8F9G01234568",
    "specPrice": null,
    "gpuPrice": {
      "discount": 100.0,
      "discountPrice": 3000.0,
      "originalPrice": 3000.0,
      "unitPrice": null,
      "discountUnitPrice": null,
      "chargeUnit": null,
      "stepPrices": null
    },
    "acceleratorPrice": null,
    "systemDiskPrice": {
      "discount": 100.0,
      "discountPrice": 20.0,
      "originalPrice": 20.0,
      "unitPrice": null,
      "discountUnitPrice": null,
      "chargeUnit": null,
      "stepPrices": null
    },
    "previousPrices": {
      "specPrice": null,
      "gpuPrice": {
        "discount": 100.0,
        "discountPrice": 2500.0,
        "originalPrice": 2500.0,
        "unitPrice": null,
        "discountUnitPrice": null,
        "chargeUnit": null,
        "stepPrices": null
      },
      "acceleratorPrice": null,
      "systemDiskPrice": {
        "discount": 100.0,
        "discountPrice": 18.0,
        "originalPrice": 18.0,
        "unitPrice": null,
        "discountUnitPrice": null,
        "chargeUnit": null,
        "stepPrices": null
      }
    }
  }
}

上例中GPU规格与系统盘两个计费项都发生了调价，需要各自展示。

Request（加速卡实例）：
{
  "instanceId": "instanceId-zzz",
  "instanceType": "z2a.v.T1U.c16m64.1"
}

Response（加速卡实例）：
{
  "requestId": "T12345678-A123-4B5C-DE67-8F9G01234569",
  "response": {
    "requestId": "T12345678-A123-4B5C-DE67-8F9G01234569",
    "specPrice": null,
    "gpuPrice": null,
    "acceleratorPrice": {
      "discount": 100.0,
      "discountPrice": 1200.0,
      "originalPrice": 1200.0,
      "unitPrice": null,
      "discountUnitPrice": null,
      "chargeUnit": null,
      "stepPrices": null
    },
    "systemDiskPrice": {
      "discount": 100.0,
      "discountPrice": 20.0,
      "originalPrice": 20.0,
      "unitPrice": null,
      "discountUnitPrice": null,
      "chargeUnit": null,
      "stepPrices": null
    },
    "previousPrices": null
  }
}

上例中该实例没有对应订单（如未走计费的内部实例），previousPrices为null，此时无法判断是否调价。
```

{% 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\_PRODUCT\_NOT\_FOUND  | 产品未开售或已售罄。 |
