# CreateBorderGateway

## 1. API Description

This API (CreateBorderGateway) is used to create a border gateway.

## 2. Input Parameters

The following request parameter list only provides API request parameters.

| Parameter Name     | Required | Type                                                                                                             | Description                                                                                                                                                                           |
| ------------------ | -------- | ---------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| regionId           | Yes      | String                                                                                                           | Region ID.                                                                                                                                                                            |
| vpcId              | Yes      | String                                                                                                           | VPC ID.                                                                                                                                                                               |
| label              | Yes      | String                                                                                                           | <p>Border gateway name.</p><p>This parameter must start and end with a number or a letter, containing 2 to 63 characters. Only letters, numbers, - and periods (.) are supported.</p> |
| asn                | Yes      | Integer                                                                                                          | <p>Autonomous System Number.</p><p>The range is from 65000 to 65534 .</p><p>Value range: \[65000, 65534]</p>                                                                          |
| routingMode        | No       | [RoutingMode](https://docs.console.zenlayer.com/api-reference/compute/datastructure#routingmode)                 | <p>Information on dynamic routing modes.</p><p>Default value: Regional</p>                                                                                                            |
| advertisedSubnet   | No       | [ZbgAdvertisedSubnet](https://docs.console.zenlayer.com/api-reference/compute/datastructure#zbgadvertisedsubnet) | <p>Subnet route advertisement.</p><p>Default value: Advertise All .</p><p>Default value: ALL</p>                                                                                      |
| advertisedCidrs    | No       | Array of String                                                                                                  | Custom IPv4 CIDR block list.                                                                                                                                                          |
| advertisedRouteIds | No       | Array of String                                                                                                  | ID list of the custom routes to be advertised.                                                                                                                                        |

## 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> |
| zbgId          | String | Border gateway ID.                                                                                                    |

## 4. Code Example

{% tabs %}
{% tab title="Example" %}
**Create a border gateway.**

<pre class="language-json"><code class="lang-json"><strong>POST /api/v2/zec HTTP/1.1
</strong>Host: console.zenlayer.com
Content-Type: application/json
X-ZC-Action: CreateBorderGateway


Request:
{
  "regionId": "xxxx",
  "vpcId": "xxx",
  "label": "xxx",
  "asn": 65000,
  "advertisedSubnet": "ALL"
}

Response:
{
  "requestId": "TBFC01FCF-6439-4530-ADBC-16809F0C3E8F",
  "response": {
    "requestId": "TBFC01FCF-6439-4530-ADBC-16809F0C3E8F",
    "zbgId": "xxxx"
  }
}
</code></pre>

{% endtab %}
{% endtabs %}

## 5. Developer Resources

Zenlayer Cloud API 2.0 integrates [SDKs](https://docs.console.zenlayer.com/api-reference/api-introduction/toolkit/api-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/api-reference/api-introduction/instruction/commonerrorcode).

| HTTP Status Code | Error Code                                   | Description                                            |
| ---------------- | -------------------------------------------- | ------------------------------------------------------ |
| 409              | INVALID\_ZBG\_REGION\_EXIST\_CONFLICT        | Border gateway exists in this region already.          |
| 409              | INVALID\_NIC\_ZBG\_REGION\_MISMATCH          | Regions of vNIC and border gateway should be the same. |
| 404              | INVALID\_REGION\_NOT\_FOUND                  | Specified availability zone does not exist.            |
| 404              | INVALID\_VPC\_NOT\_FOUND                     | The global VPC does not exist.                         |
| 404              | INVALID\_VPC\_ROUTE\_NOT\_FOUND              | Route does not exist.                                  |
| 400              | OPERATION\_DENIED\_ROUTE\_TYPE\_NOT\_SUPPORT | Route type is not supported.                           |
