> 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/zec/public-ipv6/inquirypricechangeipv6internetchargetype.md).

# InquiryPriceChangeIpv6InternetChargeType

## 1. API Description

This API (InquiryPriceChangeIpv6InternetChargeType) is used to inquire the price after changing the IPv6 network billing mode. The currently effective price of each billing item before the change is also returned through previousPrices, so that you can compare which billing items have price changes.

{% hint style="info" %}
**Notes**

* When changing to bandwidth billing (`ByBandwidth`), `bandwidth` must be provided.
* When changing to traffic package billing (`ByTrafficPackage`), `flowPackage` must be provided (in TB, 0 or a multiple of 0.1).
* The guaranteed traffic package size is only valid for monthly billing periods.
  {% endhint %}

## 2. Input Parameters

The following request parameter list only provides API request parameters.

| Parameter Name     | Required | Type                                                                         | Description                                                                                                                                                                    |
| ------------------ | -------- | ---------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| ipv6Id             | Yes      | String                                                                       | <p>Public IPv6 address to be operated on.</p><p>It can be obtained by calling <a href="/api-reference/zec/public-ipv6/describeipv6addresses.md">DescribeIpv6Addresses</a>.</p> |
| internetChargeType | Yes      | [InternetChargeType](/api-reference/zec/datastructure.md#internetchargetype) | Target billing mode to change to.                                                                                                                                              |
| bandwidth          | No       | Integer                                                                      | <p>Bandwidth limit.</p><p>Unit: Mbps.</p><p>Required when the billing mode is bandwidth billing (<code>ByBandwidth</code>).</p><p>Value range: \[1, +)</p>                     |
| flowPackage        | No       | Float                                                                        | <p>Traffic package size.</p><p>Unit: TB.</p><p>Required when the billing mode is traffic package billing (<code>ByTrafficPackage</code>).</p><p>Value range: \[0.0, +)</p>     |

## 3. Output Parameters

| Parameter Name | Type                                                                         | Description                                                                                                                                                                                                                       |
| -------------- | ---------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| requestId      | String                                                                       | <p>The unique request ID, which is returned for each request.</p><p>RequestId is required for locating a problem.</p>                                                                                                             |
| ipv6Price      | [PriceItem](/api-reference/zec/datastructure.md#priceitem)                   | Retention price of the public IPv6 address.                                                                                                                                                                                       |
| bandwidthPrice | [PriceItem](/api-reference/zec/datastructure.md#priceitem)                   | Bandwidth price for the public IPv6 address.                                                                                                                                                                                      |
| previousPrices | [Ipv6PreviousPrices](/api-reference/zec/datastructure.md#ipv6previousprices) | <p>Currently effective price of each billing item before the change. The fields correspond one by one to those above and are used to compare which billing items have price changes.</p><p>It is null when there is no order.</p> |

## 4. Code Example

{% tabs %}
{% tab title="Example" %}
**Inquire the price after changing the IPv6 to bandwidth billing (20 Mbps bandwidth).**

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

Request：
{
  "ipv6Id": "ipv6-xxx",
  "internetChargeType": "ByBandwidth",
  "bandwidth": 20
}

Response：
{
  "requestId": "T05992D0C-7E8B-4047-B0C0-780F2CD549D3",
  "response": {
    "requestId": "T05992D0C-7E8B-4047-B0C0-780F2CD549D3",
    "ipv6Price": null,
    "bandwidthPrice": {
      "discount": 100.0,
      "discountPrice": null,
      "originalPrice": null,
      "unitPrice": 0.02,
      "discountUnitPrice": 0.02,
      "chargeUnit": "HOUR",
      "stepPrices": null
    },
    "previousPrices": {
      "ipv6Price": null,
      "bandwidthPrice": {
        "discount": 100.0,
        "discountPrice": null,
        "originalPrice": null,
        "unitPrice": 0.015,
        "discountUnitPrice": 0.015,
        "chargeUnit": "HOUR",
        "stepPrices": null
      }
    }
  }
}
```

{% endtab %}
{% endtabs %}

## 5. Developer Resources

Zenlayer Cloud API 2.0 integrates [SDKs](/api-reference/api-introduction/toolkit/api-sdk.md)，to make it easier for you to call APIs. More programming languages will be supported.

## 6. Error Codes

The following only lists the error codes related to the API business logic. For other error codes, see [Common Error Codes](/api-reference/api-introduction/instruction/commonerrorcode.md).

| HTTP Status Code | Error Code                                                     | Description                                                                                                    |
| ---------------- | -------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- |
| 404              | INVALID\_IPV6\_NOT\_FOUND                                      | The IPv6 address is not found.                                                                                 |
| 400              | INVALID\_IPV6\_STATUS                                          | The IPv6 address is not active.                                                                                |
| 400              | OPERATION\_DENIED\_EIP\_UNSUPPORTED\_INTERNET\_CHARGE\_TYPE    | The target network billing method is not supported.                                                            |
| 400              | INVALID\_PARAMETER\_BANDWIDTH\_ERROR                           | Bandwidth size is below the minimum limit.                                                                     |
| 400              | INVALID\_PARAMETER\_BANDWIDTH\_EXCEED                          | Bandwidth size exceeds the upper limit.                                                                        |
| 400              | OPERATION\_DENIED\_FLOW\_PACKAGE\_NOT\_SUPPORTED\_HOUR\_PERIOD | The current product cycle is based on hourly billing and does not support setting a minimum data package size. |
