> 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/zlb/load-balancer-listener/describelisteners.md).

# DescribeListeners

## 1. API Description

This API (DescribeListeners) is used to query the list of listeners filtered by load balancer ID and listener protocol. If no filter is specified, all listeners under the specified load balancer instance are returned.

## 2. Input Parameters

The following request parameter list only provides API request parameters.

| Parameter Name | Required | Type                                                                     | Description                                                                                                                                                                   |
| -------------- | -------- | ------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| loadBalancerId | Yes      | String                                                                   | <p>Load balancer instance ID.</p><p>It can be obtained by calling <a href="/api-reference/zlb/load-balancer-instance/describeloadbalancers.md">DescribeLoadBalancers</a>.</p> |
| listenerIds    | No       | Array of String                                                          | List of load balancer listener IDs to query.                                                                                                                                  |
| protocol       | No       | [ListenerProtocol](/api-reference/zlb/datastructure.md#listenerprotocol) | The type of the queried listener protocol.                                                                                                                                    |

## 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> |
| listeners      | Array of [Listener](/api-reference/zlb/datastructure.md#listener) | List of listeners.                                                                                                    |

## 4. Code Example

{% tabs %}
{% tab title="Example" %}
**1. Query all listeners under a specified load balancer instance.**

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

Request：
{
  "loadBalancerId": "<loadBalancerId>"
}

Response：
{
  "requestId": "TFF2866DD-E3CF-47E4-8B52-D141992D6BB6",
  "response": {
    "listeners": [
      {
        "scheduler": "mh",
        "listenerId": "<loadBalancerId>",
        "protocol": "TCP",
        "port": "40",
        "createTime": "2025-01-01T01:01:01Z",
        "listenerName": "sample-name",
        "ipStackType": "IPv4",
        "kind": "DR",
        "healthCheck": {
          "checkType": null,
          "checkHttpGetUrl": "",
          "checkDelayTry": null,
          "checkConnTimeout": null,
          "checkHttpStatusCode": null,
          "checkPort": null,
          "checkRetry": null,
          "enabled": false,
          "checkDelayLoop": null,
          "failOpen": false
        },
        "persistent": 60,
        "idleTimeout": 300,
        "algoOpts": "StatelessForwarding"
      }
    ],
    "requestId": "TFF2866DD-E3CF-47E4-8B52-D141992D6BB6"
  }
}
```

**2. Query listeners by the load balancer ID and the listener protocol as filtering conditions.**

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

Request：
{
  "loadBalancerId": "<loadBalancerId>",
  "protocol": "TCP"
}

Response：
{
  "requestId": "TFF2866DD-E3CF-47E4-8B52-D141992D6BB6",
  "response": {
    "listeners": [
      {
        "scheduler": "mh",
        "listenerId": "<loadBalancerId>",
        "protocol": "TCP",
        "port": "40",
        "createTime": "2025-01-01T01:01:01Z",
        "listenerName": "sample-name",
        "ipStackType": "IPv4",
        "kind": "DR",
        "healthCheck": {
          "checkType": null,
          "checkHttpGetUrl": "",
          "checkDelayTry": null,
          "checkConnTimeout": null,
          "checkHttpStatusCode": null,
          "checkPort": null,
          "checkRetry": null,
          "enabled": false,
          "checkDelayLoop": null,
          "failOpen": false
        },
        "persistent": 60,
        "idleTimeout": 300,
        "algoOpts": "StatelessForwarding"
      }
    ],
    "requestId": "TFF2866DD-E3CF-47E4-8B52-D141992D6BB6"
  }
}
```

{% 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 |
| ---------------- | ---------- | ----------- |
