> 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/cn/bmc/bare-metal-instance/describeinstances.md).

# DescribeInstances

## 1. 接口描述

本接口(DescribeInstances)用于查询一台或多台实例的信息。用户可以根据实例ID、实例名称或者实例计费模式等条件来查询实例的详细信息。

## 2. 请求参数

以下请求参数列表仅列出了接口中需要的请求参数

| 参数名称               | 必选 | 类型                                                                              | 描述                                                              |
| ------------------ | -- | ------------------------------------------------------------------------------- | --------------------------------------------------------------- |
| instanceIds        | 否  | Array of String                                                                 | <p>实例ID。</p><p>最多支持100个ID查询。</p>                                |
| zoneId             | 否  | String                                                                          | 实例所属的可用区ID。                                                     |
| resourceGroupId    | 否  | String                                                                          | <p>资源组的ID。</p><p>如果不传，则返回该用户可见的所有资源组内的实例。</p>                   |
| instanceTypeId     | 否  | String                                                                          | <p>实例机型ID。</p><p>具体取值可通过调用接口DescribeInstanceTypes来获得最新的规格表。</p> |
| internetChargeType | 否  | [InternetChargeType](/api-reference/cn/bmc/datastructure.md#internetchargetype) | 网络计费类型。                                                         |
| imageId            | 否  | String                                                                          | 镜像ID。                                                           |
| subnetId           | 否  | String                                                                          | <p>虚拟子网ID 。</p><p>可以调用DescribeVpcSubnets查询已创建交换机的相关信息。</p>      |
| instanceStatus     | 否  | [InstanceStatus](/api-reference/cn/bmc/datastructure.md#instancestatus)         | <p>实例状态。</p><p>状态类型详见实例状态。</p>                                  |
| instanceName       | 否  | String                                                                          | <p>实例显示名称。</p><p>如果该值以\*结尾，则对instanceName进行模糊匹配，否则将进行精确匹配。</p>  |
| hostname           | 否  | String                                                                          | <p>实例的主机名。</p><p>如果该值以\*结尾，则对hostname进行模糊匹配，否则将进行精确匹配。</p>      |
| publicIpAddresses  | 否  | Array of String                                                                 | 公网ipv4地址。                                                       |
| privateIpAddresses | 否  | Array of String                                                                 | 内网子网的ipv4地址。                                                    |
| pageNum            | 否  | Integer                                                                         | <p>返回的分页数。</p><p>默认值：1</p>                                      |
| pageSize           | 否  | Integer                                                                         | <p>返回的分页大小。</p><p>默认为20，最大为1000。</p>                            |
| tagKeys            | 否  | Array of String                                                                 | <p>根据标签键进行搜索。</p><p>最长不得超过20个标签键。</p>                           |
| tags               | 否  | Array of [Tag](/api-reference/cn/bmc/datastructure.md#tag)                      | <p>根据标签进行搜索。</p><p>最长不得超过20个标签。</p>                             |

## 3. 响应结果

| 参数名称       | 类型                                                                           | 描述                                                       |
| ---------- | ---------------------------------------------------------------------------- | -------------------------------------------------------- |
| requestId  | String                                                                       | <p>唯一请求 ID。</p><p>每次请求都会返回。定位问题时需要提供该次请求的 requestId。</p> |
| totalCount | Integer                                                                      | 符合条件的数据总数。                                               |
| dataSet    | Array of [InstanceInfo](/api-reference/cn/bmc/datastructure.md#instanceinfo) | 结果集。                                                     |

## 4. 代码示例

{% tabs %}
{% tab title="示例" %}

1. **分页查询实例列表**

```json
POST /api/v2/bmc HTTP/1.1
Host: console.zenlayer.com
Content-Type: application/json
X-ZC-Action: DescribeImages
Request:
{
  "pageNum": 1,
  "pageSize": 1
}
Response:
{
  "requestId": "TEEFDCA5B-76FB-4E91-A18E-DF7F5D2CE41F",
  "response": {
    "requestId": "TEEFDCA5B-76FB-4E91-A18E-DF7F5D2CE41F",
    "totalCount": 6,
    "dataSet": [
      {
        "instanceId": "instanceId",
        "zoneId": "HKG-A",
        "instanceName": "TEST",
        "hostname": "M7D-HKG-A-01",
        "instanceTypeId": "M7D",
        "imageId": "imageId",
        "imageName": "Ubuntu18.04-x86_64",
        "instanceChargeType": "POSTPAID",
        "bandwidthOutMbps": 0,
        "internetChargeType": "ByClusterBandwidth95",
        "period": null,
        "primaryPublicIpAddress": "1.1.1.1",
        "publicIpAddresses": [
          "1.1.1.1",
          "2.2.2.2"
        ],
        "privateIpAddresses": [
          "10.0.0.1"
        ],
        "ipv6Addresses": [
          "2602:ffe4:1:11::1"
        ],
        "subnetIds": [
          "subnetId"
        ],
        "createTime": "2023-01-01T00:00:00Z",
        "expiredTime": null,
        "resourceGroupId": "resourceGroupId",
        "instanceStatus": "RUNNING",
        "trafficPackageSize": 1.5,
        "raidConfig": {
          "raidType": null,
          "customRaids": [
            {
              "raidType": 1,
              "diskSequence": [
                12,
                13
              ]
            }
          ]
        },
        "partitions": [
          {
            "fsPath": "/",
            "fsType": "ext2",
            "size": 1100
          }
        ],
        "nic": {
          "wanName": "wan0",
          "lanName": "lan0"
        },
        "autoRenew": true
      }
    ]
  }
}
```

{% endtab %}
{% endtabs %}

## 5. 开发者工具

Zenlayer Cloud API 2.0 提供了配套的[开发工具集（SDK）](/api-reference/cn/api-introduction/toolkit.md)，未来会陆续支持更多开发语言，方便快速接入和使用Zenlayer的产品和服务。

## 6. 错误码

下面包含业务逻辑中遇到的错误码，其他错误码见[公共错误码](/api-reference/cn/api-introduction/instruction/commonerrorcode.md)

| HTTP状态码 | 错误码                                 | 说明         |
| ------- | ----------------------------------- | ---------- |
| 404     | INVALID\_INSTANCE\_TYPE\_NOT\_FOUND | 指定的机型不存在。  |
| 404     | INVALID\_ZONE\_NOT\_FOUND           | 指定的可用区不存在。 |
