# AssignNetworkInterfaceIpv6

## 1. API Description

This API (AssignNetworkInterfaceIpv6) is used to assign IPv6 to the vNIC.

{% hint style="info" %} <mark style="color:blue;">**Note**</mark>

* <mark style="color:blue;">vNIC state must be</mark> <mark style="color:blue;">`AVAILABLE`</mark> <mark style="color:blue;">or</mark> <mark style="color:blue;">`USED`</mark><mark style="color:blue;">.</mark>
* <mark style="color:blue;">The vNIC stack type must be</mark> <mark style="color:blue;">`IPv4`</mark><mark style="color:blue;">, and the associated subnet stack type must be</mark> <mark style="color:blue;">`IPv4_IPv6`</mark><mark style="color:blue;">.</mark>
  {% endhint %}

## 2. Input Parameters

The following request parameter list only provides API request parameters.

| Parameter Name     | Required | Type                                                                                 | Description                                                                                                                                                                                                                         |
| ------------------ | -------- | ------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| nicId              | Yes      | String                                                                               | ID of the vNIC.                                                                                                                                                                                                                     |
| internetChargeType | No       | [InternetChargeType](/api-reference/compute/zec/datastructure.md#internetchargetype) | <p>Network billing model.</p><p>See InternetChargeType for available values.</p><p>If the subnet stack type is IPv4\_IPv6 and the IPv6 access type is Public , this value is required.</p>                                          |
| bandwidth          | No       | Integer                                                                              | <p>Outbound public network bandwidth cap (Mbps). Unit: Mbps.</p><p>The value differs with different instance types.</p><p>Value range: \[1, +)</p>                                                                                  |
| packageSize        | No       | Float                                                                                | <p>Traffic package size (TB). The unit is TB.</p><p>This value takes effect only when internetChargeType is set to ByTrafficPackage .</p><p>The default value is 0 . Maximum of one decimal place.</p><p>Value range: \[0.0, +)</p> |
| clusterId          | No       | String                                                                               | <p>The ID of the bandwidth cluster assigned to the public IPv6.</p><p>This parameter must be specified when the subnet's stack type includes public IPv6, and the network billing model is <code>BandwidthCluster</code>.</p>       |
| rateLimitMode      | No       | [RateLimitMode](/api-reference/compute/zec/datastructure.md#ratelimitmode)           | <p>Rate limit mode.</p><p>Default value: LOOSE</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> |

## 4. Code Example

{% tabs %}
{% tab title="Example" %}
**Assign IPv6 to the vNIC.**

<pre class="language-json"><code class="lang-json"><strong>POST /api/v2/zec HTTP/1.1
</strong>Host: console.zenlayer.com
Content-Type: application/json
X-ZC-Action: AssignNetworkInterfaceIpv6


Request:
{
  "nicId": "XXX",
  "internetChargeType": "ByTrafficPackage",
  "packageSize": 10
}

Response:
{
  "requestId": "TBFC01FCF-6439-4530-ADBC-16809F0C3E8F",
  "response": {
    "requestId": "TBFC01FCF-6439-4530-ADBC-16809F0C3E8F"
  }
}
</code></pre>

{% 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                                                     |
| ---------------- | ------------------------------------------------------- | --------------------------------------------------------------- |
| 400              | INVALID\_NIC\_IPV6\_EXISTS                              | vNIC already has an IPv6 assigned; operation not allowed.       |
| 404              | INVALID\_NIC\_NOT\_FOUND                                | vNIC does not exist.                                            |
| 400              | INVALID\_NIC\_STATUS                                    | Current vNIC state does not allow this operation.               |
| 400              | INVALID\_PARAMETER\_BANDWIDTH\_ERROR                    | Bandwidth size is below the minimum limit.                      |
| 400              | INVALID\_PARAMETER\_BANDWIDTH\_EXCEED                   | Bandwidth size exceeds the upper limit.                         |
| 400              | INVALID\_RATE\_LIMIT\_MODE\_REQUIRES\_BANDWIDTH         | Bandwidth must be specified when the rate limit mode is STRICT. |
| 400              | INVALID\_PARAMETER\_FLOW\_TRAFFIC\_PACKAGE              | Data transfer package size is invalid.                          |
| 400              | INVALID\_PARAMETER\_TRAFFIC\_PACKAGE\_EXCEED            | Data traffic package exceeds the maximum limit.                 |
| 400              | INVALID\_SUBNET\_IPSTACK\_NOT\_SUPPORT                  | Subnet IP stack type not supported.                             |
| 409              | INVALID\_SUBNET\_IPV6\_INSUFFICIENT                     | Insufficient available IPv6 addresses in the subnet.            |
| 400              | OPERATION\_DENIED\_INTERNET\_CHARGE\_TYPE\_NOT\_SUPPORT | IP network billing type is not supported.                       |
| 400              | OPERATION\_DENIED\_NIC\_EXIST\_IPV6                     | The vNIC already IPv6 assigned.                                 |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.console.zenlayer.com/api-reference/compute/zec/vnic/assignnetworkinterfaceipv6.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
