> 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/elastic-ip/inquirypricemodifyeipbandwidth.md).

# InquiryPriceModifyEipBandwidth

## 1. API Description

This API (InquiryPriceModifyEipBandwidth) is used to inquire the price after adjusting the EIP bandwidth. 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**

* Only EIPs in an available state (`BINDED` or `UNBIND`) billed by bandwidth (`ByBandwidth`) support this operation.
* The international route (PathBasedBandwidthIP) does not support this operation.
  {% endhint %}

## 2. Input Parameters

The following request parameter list only provides API request parameters.

| Parameter Name | Required | Type    | Description                                                                                                                                        |
| -------------- | -------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| eipId          | Yes      | String  | <p>Elastic IP to be operated on.</p><p>It can be obtained by calling <a href="/api-reference/zec/elastic-ip/describeeips.md">DescribeEips</a>.</p> |
| bandwidth      | Yes      | Integer | <p>Bandwidth limit after adjustment.</p><p>Unit: Mbps.</p><p>Value range: \[1, +)</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>                                                                                                             |
| eipPrice             | [PriceItem](/api-reference/zec/datastructure.md#priceitem)                                            | <p>Retention price of the elastic IP.</p><p>Null for IPs created via CIDR.</p>                                                                                                                                                    |
| bandwidthPrice       | [PriceItem](/api-reference/zec/datastructure.md#priceitem)                                            | <p>Bandwidth price for the elastic IP.</p><p>Null for the PathBasedBandwidthIP line type; see <code>bandwidthPrices</code> for details.</p>                                                                                       |
| bandwidthPrices      | Array of [BandwidthPriceResponseItem](/api-reference/zec/datastructure.md#bandwidthpriceresponseitem) | <p>Bandwidth price details for each traffic direction.</p><p>Multiple items are returned for the PathBasedBandwidthIP line type; a single item (trafficType=ALL) is returned for other line types.</p>                            |
| remoteBandwidthPrice | [PriceItem](/api-reference/zec/datastructure.md#priceitem)                                            | <p>Bandwidth price for Remote IPT.</p><p>Null when Remote IPT is not enabled for the EIP.</p>                                                                                                                                     |
| previousPrices       | [EipPreviousPrices](/api-reference/zec/datastructure.md#eippreviousprices)                            | <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 adjusting the EIP bandwidth to 20 Mbps.**

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

Request：
{
  "eipId": "eip-xxx",
  "bandwidth": 20
}

Response：
{
  "requestId": "T05992D0C-7E8B-4047-B0C0-780F2CD549D3",
  "response": {
    "requestId": "T05992D0C-7E8B-4047-B0C0-780F2CD549D3",
    "eipPrice": {
      "discount": 100.0,
      "discountPrice": null,
      "originalPrice": null,
      "unitPrice": 0.005,
      "discountUnitPrice": 0.005,
      "chargeUnit": "HOUR",
      "stepPrices": null
    },
    "bandwidthPrice": {
      "discount": 100.0,
      "discountPrice": null,
      "originalPrice": null,
      "unitPrice": 0.02,
      "discountUnitPrice": 0.02,
      "chargeUnit": "HOUR",
      "stepPrices": null
    },
    "bandwidthPrices": [
      {
        "trafficType": "ALL",
        "price": {
          "discount": 100.0,
          "discountPrice": null,
          "originalPrice": null,
          "unitPrice": 0.02,
          "discountUnitPrice": 0.02,
          "chargeUnit": "HOUR",
          "stepPrices": null
        }
      }
    ],
    "remoteBandwidthPrice": null,
    "previousPrices": {
      "eipPrice": {
        "discount": 100.0,
        "discountPrice": null,
        "originalPrice": null,
        "unitPrice": 0.005,
        "discountUnitPrice": 0.005,
        "chargeUnit": "HOUR",
        "stepPrices": null
      },
      "bandwidthPrice": {
        "discount": 100.0,
        "discountPrice": null,
        "originalPrice": null,
        "unitPrice": 0.015,
        "discountUnitPrice": 0.015,
        "chargeUnit": "HOUR",
        "stepPrices": null
      },
      "bandwidthPrices": [
        {
          "trafficType": "ALL",
          "price": {
            "discount": 100.0,
            "discountPrice": null,
            "originalPrice": null,
            "unitPrice": 0.015,
            "discountUnitPrice": 0.015,
            "chargeUnit": "HOUR",
            "stepPrices": null
          }
        }
      ],
      "remoteBandwidthPrice": 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\_EIP\_NOT\_FOUND                                    | Elastic IP does not exist.                                   |
| 500              | OPERATION\_DENIED\_EIP\_STATUS\_NOT\_SUPPORT                | Operations on the EIP with current status are not supported. |
| 400              | OPERATION\_DENIED\_INTERNET\_CHARGE\_TYPE\_NOT\_SUPPORT     | IP network billing type is not supported.                    |
| 400              | OPERATION\_DENIED\_EIP\_UNSUPPORTED\_INTERNET\_CHARGE\_TYPE | The target network billing method is not supported.          |
| 400              | INVALID\_PARAMETER\_BANDWIDTH\_EXCEED                       | Bandwidth size exceeds the upper limit.                      |
