> 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/bmc/cidr-block/bindcidrblockips.md).

# BindCidrBlockIps

## 1. API Description

This API (BindCidrBlockIps) is used to bind one or more CIDR block IPs to instances.

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

* <mark style="color:blue;">Only operations on</mark> <mark style="color:blue;">CIDR blocks in</mark> <mark style="color:blue;">`AVAILABLE`</mark> <mark style="color:blue;">status are supported.</mark>
* <mark style="color:blue;">CIDR block</mark> <mark style="color:blue;">IPs can only be assigned to instances in the same zone.</mark>
* <mark style="color:blue;">The instance to be assigned a</mark> <mark style="color:blue;">CIDR block</mark> <mark style="color:blue;">IP should be in status of</mark> <mark style="color:blue;">`RUNNING`</mark><mark style="color:blue;">.</mark>
* <mark style="color:blue;">This API is an async API. A request ID is returned after the request is sent. However, it does not mean the binding has been completed. You can use</mark> [<mark style="color:purple;">`DescribeCidrBlockIps`</mark>](/api-reference/bmc/cidr-block/describecidrblockips.md) <mark style="color:blue;">to query the status of the</mark> <mark style="color:blue;">CIDR block</mark> <mark style="color:blue;">IPs.</mark>
* <mark style="color:blue;">You need first assign an IPv4 CIDR to the instance before adding another IPv6 CIDR.</mark>
  {% endhint %}

## 2. Input Parameters

The following request parameter list only provides API request parameters.

| Parameter Name | Required | Type                                                                    | Description                                                                                                     |
| -------------- | -------- | ----------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
| ipBindList     | Yes      | Array of [IpBindParam](/api-reference/bmc/datastructure.md#ipbindparam) | List of IPs to be assigned.                                                                                     |
| cidrBlockId    | Yes      | String                                                                  | <p>ID of the CIDR block.</p><p>You can find the cidrBlockId in the response by calling DescribeCidrBlocks .</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 CIDR block IPs to instances.

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

Request:
{
  "cidrBlockId": "cidrBlockId",
  "ipBindList": [
    {
      "instanceId": "instanceId1",
      "ip": "1111:1111:2:25::2"
    },
    {
      "instanceId": "instanceId2",
      "ip": "1.1.1.1"
    }
  ]
}

Response:
{
  "requestId": "T2979BBDB-5B06-444F-857E-93FEFE665C0D",
  "response": {
    "requestId": "T2979BBDB-5B06-444F-857E-93FEFE665C0D"
  }
}
```

{% 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                                                        |
| ---------------- | ----------------------------------------------------- | ------------------------------------------------------------------ |
| 403              | OPERATION\_DENIED\_SERVER\_NO\_IPV4                   | The specified instance does not have an IPv4 address.              |
| 403              | OPERATION\_DENIED\_CIDRBLOCK\_IP\_COUNT\_REACH\_LIMIT | The number of assigned IPs has reached the limit.                  |
| 403              | OPERATION\_DENIED\_DIFFERENT\_ZONE                    | Instances can only be added into the subnet in the same zone.      |
| 403              | OPERATION\_DENIED\_CIDRBLOCK\_RECYCLED                | This operation is not supported for CIDR block in the recycle bin. |
| 404              | INVALID\_CIDRBLOCK\_NOT\_FOUND                        | The specified CIDR block does not exist.                           |
| 403              | OPERATION\_DENIED\_INSTANCE\_NOT\_RUNNING             | Only operations on instances in RUNNING status are supported.      |
| 404              | INVALID\_INSTANCE\_NOT\_FOUND                         | Instance does not exist.                                           |
