> 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/legacy/vm/classic-network/describesubnets.md).

# DescribeSubnets

## 1. API Description

This API (DescribeSubnets) is used to query the details of subnets. You can filter the query results with the subnet ID or name, network ID, or zone ID.

## 2. Input Parameters

The following request parameter list only provides API request parameters.

| Parameter Name | Required | Type            | Description                                                                                                                          |
| -------------- | -------- | --------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| zoneId         | No       | String          | Zone ID to which the subnet belongs.                                                                                                 |
| subnetIds      | No       | Array of String | <p>Subnet ID.</p><p>You can query up to 100 networks in each request.</p>                                                            |
| cidrBlock      | No       | String          | <p>CIDR block of the subnet.</p><p>Fuzzy query is supported.</p>                                                                     |
| subnetStatus   | No       | String          | [Subnet status](/api-reference/legacy/vm/datastructure.md#subnetstatus).                                                             |
| subnetName     | No       | String          | <p>Subnet name.</p><p>Fuzzy query is supported.</p>                                                                                  |
| pageSize       | No       | Integer         | <p>Number of items in the current page result.</p><p>Default value: 20;</p><p>Maximum value: 1000.</p><p>Value range: \[1, 1000]</p> |
| pageNum        | No       | Integer         | <p>Number of pages returned.</p><p>Default value: 1.</p><p>Value range: \[1, +)</p><p>Default value: 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> |
| totalCount     | Integer                                                                     | Number of subnets meeting the filtering conditions.                                                                   |
| dataSet        | Array of [SubnetInfo](/api-reference/legacy/vm/datastructure.md#subnetinfo) | Information on a subnet.                                                                                              |

## 4. Code Example

{% tabs %}
{% tab title="Example" %}
**Query all the available subnets with a CIDR block of `10.0.0.0/24`.**

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

Request:
{
  "cidrBlock": "10.0.0.0/24",
  "pageSize": 10,
  "pageNum": 1
}

Response:
{
    "requestId": "T1EB061B4-E20D-4CE5-8EF7-63073E1AB3E1",
    "response": {
        "requestId": "T1EB061B4-E20D-4CE5-8EF7-63073E1AB3E1",
        "dataSet": [
            {
                "subnetId": "914782535395847474",
                "instanceIdList": [
                    "instance001",
                    "instance002"
                ],
                "totalIpCount": 253,
                "createTime": "2023-06-16T03:49:37Z",
                "cidrBlock": "10.0.0.0/24",
                "cidrBlockList": [
                    "10.0.0.0/24"
                ],
                "zoneId": "SIN-Z",
                "subnetStatus": "Available",
                "subnetDescription": "Subnet SIN-Default",
                "usageIpCount": 2,
                "subnetName": "Subnet SIN-Default",
                "isDefault": true
            }
        ],
        "totalCount": 1
    }
}
```

{% 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             |
| ---------------- | ------------------------ | ----------------------- |
| 500              | DESCRIBE\_SUBNET\_FAILED | Query exception.        |
| 500              | UNKNOW\_SUBNET\_STATUS   | Abnormal subnet status. |
