> 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/ipt/ip-transit/describeiptransitdatacenters.md).

# DescribeIPTransitDatacenters

## 1. API Description

This API (DescribeIPTransitDatacenters) is used to queries data centers supported by the IP Transit service.

{% hint style="info" %}
**BGP tier**

* For entries with `routingType=BGP`, the response returns `availableBgpTiers` (the BGP tiers available in this data center: `STANDARD` or `PREMIUM`) and `peerAsns` (the Zenlayer-side peer AS number of each tier: `29752` for Standard and `21859` for Premium). Configure the BGP neighbor on your local router based on `peerAsns`.
* Standard BGP is available only in some data centers. It supports fixed bandwidth billing only, and the bandwidth must be one of the fixed tier levels (for example, 10000/50000/100000 Mbps; if a value outside the tier levels is passed, the error message returns the full list of available tier levels).
* When `zbgRegionId` is specified (router-based IP Transit), the Standard tier is not supported: `availableBgpTiers` contains only `PREMIUM` and `peerAsns` contains only `21859`. Data centers without the underlying Premium tier capability are not returned.
  {% endhint %}

## 2. Input Parameters

The following request parameter list only provides API request parameters.

| Parameter Name | Required | Type   | Description                                                                                                                                        |
| -------------- | -------- | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| peerPortId     | No       | String | Specified port ID.                                                                                                                                 |
| peerDcId       | No       | String | Specified data center ID.                                                                                                                          |
| zbgRegionId    | No       | String | <p>ZBG access node ID.</p><p>If specified, queries the list of data centers connectable via Router RIPT with this ZBG node as the access side.</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> |
| supportSet     | Array of [IPTransitDatacenter](/api-reference/ipt/datastructure.md#iptransitdatacenter) | Result set.                                                                                                           |

## 4. Code Example

{% tabs %}
{% tab title="Example" %}

{% endtab %}

{% tab title="Example 1" %}

{% endtab %}

{% tab %}
**1. Query the IP Transit data centers reachable from a specified data center.**
{% endtab %}

{% tab %}

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

Request: 
{
    "peerDcId": "xxxx-xxxx-xxx-xxxx"
}

Response: 
{
    "requestId": "T22D41676-006F-4577-9A0A-3C08DAAD4C6D",
    "response": {
        "requestId": "T22D41676-006F-4577-9A0A-3C08DAAD4C6D",
        "supportSet": [
            {
                "dataCenter": {
                    "dcId": "822b9bd9-44f0-4279-a64d-568f5bc4a77b",
                    "cityName": "Amsterdam",
                    "areaName": "Europe",
                    "dcName": "Equinix AM3",
                    "latitude": 52.35501600,
                    "dcAddress": "Science Park 610, 1098 XH Amsterdam, Netherlands",
                    "countryName": "Netherlands",
                    "longitude": 4.96093800
                },
                "availableRoutingTypes": [
                    {
                        "routingType": "Static",
                        "deliveryType": "Manual",
                        "publicInterconnectNetmasks": [30, 31]
                    },
                    {
                        "routingType": "Gateway",
                        "deliveryType": "Manual",
                        "publicInterconnectNetmasks": [30, 31]
                    },
                    {
                        "routingType": "BGP",
                        "deliveryType": "Auto",
                        "availableBgpRouteTypes": ["ALL_ROUTES", "DEFAULT_ROUTES", "ALL_ROUTES_WITH_DEFAULT_ROUTES"],
                        "availableBgpTiers": ["STANDARD", "PREMIUM"],
                        "peerAsns": [
                            {"tier": "STANDARD", "asn": 29752},
                            {"tier": "PREMIUM", "asn": 21859}
                        ],
                        "publicInterconnectNetmasks": [30, 31]
                    }
                ]
            }
        ]
    }
}
```

{% endtab %}

{% tab title="Example 2" %}
**1. Query the IP Transit data centers reachable from a specified data center port.**

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

Request: 
{
    "peerPortId": "your-port-id"
}

Response: 
{
    "requestId": "T22D41676-006F-4577-9A0A-3C08DAAD4C6D",
    "response": {
        "requestId": "T22D41676-006F-4577-9A0A-3C08DAAD4C6D",
        "supportSet": [
            {
                "dataCenter": {
                    "dcId": "822b9bd9-44f0-4279-a64d-568f5bc4a77b",
                    "cityName": "Amsterdam",
                    "areaName": "Europe",
                    "dcName": "Equinix AM3",
                    "latitude": 52.35501600,
                    "dcAddress": "Science Park 610, 1098 XH Amsterdam, Netherlands",
                    "countryName": "Netherlands",
                    "longitude": 4.96093800
                },
                "availableRoutingTypes": [
                    {
                        "routingType": "Static",
                        "deliveryType": "Manual",
                        "publicInterconnectNetmasks": [30, 31]
                    },
                    {
                        "routingType": "Gateway",
                        "deliveryType": "Manual",
                        "publicInterconnectNetmasks": [30, 31]
                    }
                ]
            }
        ]
    }
}
```

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