# CreateIpv6Block

## 1. API Description

This API is used to create one or more IPv6 CIDR blocks.

#### Prerequisites

* Query stock: call [`DescribeAvailableIpv6Resources`](https://docs.console.zenlayer.com/test/ci-develop-en/compute/bmc/cidrblock/describeavailableipv6resources) to check available resources.

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

* <mark style="color:blue;">An IPv6 CIDR block contains 500 available IPs.</mark>
* <mark style="color:blue;">This API is an async API. A CIDR block ID list is returned after the creation request is sent. However, it does not mean the creation has been completed. The status of the CIDR block will be</mark> <mark style="color:blue;">`CREATING`</mark> <mark style="color:blue;">during the creation. You can use</mark> [<mark style="color:purple;"><mark style="color:blue;">DescribeCidrBlocks<mark style="color:blue;"></mark>](https://docs.console.zenlayer.com/test/ci-develop-en/compute/bmc/cidrblock/describecidrblocks) <mark style="color:blue;">to query the status of the CIDR block. If the status changes from</mark> <mark style="color:blue;">`Creating`</mark> <mark style="color:blue;">to</mark> <mark style="color:blue;">`Available`</mark><mark style="color:blue;">, it means that the CIDR block has been created successfully;</mark> <mark style="color:blue;">`CREATE_FAILED`</mark> <mark style="color:blue;">means the CIDR block has been created failed. Any operations on the instances are not allowed while creating.</mark>
  {% endhint %}

## 2. Input Parameters

The following request parameter list only provides API request parameters.

| Parameter Name  | Required | Type    | Description                                                                                                                                                                                                              |
| --------------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| zoneId          | Yes      | String  | Zone ID to which the CIDR blocks belong.                                                                                                                                                                                 |
| name            | No       | String  | <p>CIDR block name to be displayed.</p><p>This parameter can contain up to 64 characters.</p>                                                                                                                            |
| amount          | No       | Integer | <p>Quantity of IPv6 CIDR blocks you want to purchase.</p><p>Default value: 1.</p>                                                                                                                                        |
| resourceGroupId | No       | String  | <p>Resource group ID where the CIDR blocks reside.</p><p>If an available VLAN exists in the specified zone, this parameter will be ignored. The created CIDR blocks will be added to the resource group of the VLAN.</p> |

## 3. Output Parameters

| Parameter Name | Type            | Description                                                                                              |
| -------------- | --------------- | -------------------------------------------------------------------------------------------------------- |
| requestId      | String          | The unique request ID, which is returned for each request. RequestId is required for locating a problem. |
| cidrBlockIds   | Array of String | List of CIDR block IDs.                                                                                  |

## 4. Code Example

{% tabs %}
{% tab title="Example" %}
Create an IPv6 CIDR block `example` \*\*\*\* in `IST-B`, belonging to `Default Resource Group`.

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

Request:
{
  "zoneId": "ISB-B",
  "name": "example",
  "amount": 1
}

Response:
{
  "requestId": "T17BD4918-239C-4633-9F3A-9D2D5E0BA4E2",
  "response": {
    "requestId": "T17BD4918-239C-4633-9F3A-9D2D5E0BA4E2",
    "cidrBlockIds": [
      "cidrBlockId"
    ]
  }
}
```

{% endtab %}
{% endtabs %}

## 5. Developer Resources

Zenlayer Cloud API 2.0 integrates [SDKs](https://docs.console.zenlayer.com/test/ci-develop-en/api-introduction/software-toolkit/sdk) 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](https://docs.console.zenlayer.com/test/ci-develop-en/api-introduction/instruction/commonerrorcode).​

| HTTP Status Code | Error Code                                 | Description         |
| ---------------- | ------------------------------------------ | ------------------- |
| 404              | INVALID\_ZONE\_NOT\_FOUND                  | Zone not found.     |
| 403              | RESOURCE\_INSUFFICIENT\_PRODUCT\_SOLD\_OUT | Resources sold out. |
