---
title: "Create a Virtual Cross Connect"
method: POST
path: "/virtual_cross_connects"
tags: ["Virtual Cross Connects"]
---

# Create a Virtual Cross Connect

`POST /virtual_cross_connects`

Create a new Virtual Cross Connect.<br /><br />For AWS and GCE, you have the option of creating the primary connection first and the secondary connection later. You also have the option of disabling the primary and/or secondary connections at any time and later re-enabling them. With Azure, you do not have this option. Azure requires both the primary and secondary connections to be created at the same time and they can not be independantly disabled.

## Request body

- VirtualCrossConnectCreate
  - `id` string, uuid — Identifies the resource.
  - `record_type` string — Identifies the type of the resource.
  - `created_at` string — ISO 8601 formatted date-time indicating when the resource was created.
  - `updated_at` string — ISO 8601 formatted date-time indicating when the resource was updated.
  - `network_id` string, uuid — The id of the network associated with the interface.
  - `name` string — A user specified name for the interface.
  - `status` 'created' | 'provisioning' | 'provisioned' | 'deleting' — The current status of the interface deployment.
  - `cloud_provider` 'aws' | 'azure' | 'gce' — The Virtual Private Cloud with which you would like to establish a cross connect.
  - `cloud_provider_region` string — The region where your Virtual Private Cloud hosts are located.<br /><br />The available regions can be found using the /virtual_cross_connect_regions endpoint.
  - `bgp_asn` number — The Border Gateway Protocol (BGP) Autonomous System Number (ASN). If null, value will be assigned by Telnyx.
  - `bandwidth_mbps` number — The desired throughput in Megabits per Second (Mbps) for your Virtual Cross Connect.<br /><br />The available bandwidths can be found using the /virtual_cross_connect_regions endpoint.
  - `primary_enabled` boolean — Indicates whether the primary circuit is enabled. Setting this to `false` will disable the circuit.
  - `primary_cloud_account_id` string — The identifier for your Virtual Private Cloud. The number will be different based upon your Cloud provider.
  - `primary_telnyx_ip` string — The IP address assigned to the Telnyx side of the Virtual Cross Connect.<br /><br />If none is provided, one will be generated for you.<br /><br />This value should be null for GCE as Google will only inform you of your assigned IP once the connection has been accepted.
  - `primary_cloud_ip` string — The IP address assigned for your side of the Virtual Cross Connect.<br /><br />If none is provided, one will be generated for you.<br /><br />This value should be null for GCE as Google will only inform you of your assigned IP once the connection has been accepted.
  - `primary_bgp_key` string — The authentication key for BGP peer configuration.
  - `secondary_enabled` boolean — Indicates whether the secondary circuit is enabled. Setting this to `false` will disable the circuit.
  - `secondary_cloud_account_id` string — The identifier for your Virtual Private Cloud. The number will be different based upon your Cloud provider.<br /><br />This attribute is only necessary for GCE.
  - `secondary_telnyx_ip` string — The IP address assigned to the Telnyx side of the Virtual Cross Connect.<br /><br />If none is provided, one will be generated for you.<br /><br />This value should be null for GCE as Google will only inform you of your assigned IP once the connection has been accepted.
  - `secondary_cloud_ip` string — The IP address assigned for your side of the Virtual Cross Connect.<br /><br />If none is provided, one will be generated for you.<br /><br />This value should be null for GCE as Google will only inform you of your assigned IP once the connection has been accepted.
  - `secondary_bgp_key` string — The authentication key for BGP peer configuration.
  - `region_code` string, required — The region the interface should be deployed to.

## Response `200`

Successful response

- object
  - `data` VirtualCrossConnectCombined
    - `id` string, uuid — Identifies the resource.
    - `record_type` string — Identifies the type of the resource.
    - `created_at` string — ISO 8601 formatted date-time indicating when the resource was created.
    - `updated_at` string — ISO 8601 formatted date-time indicating when the resource was updated.
    - `network_id` string, uuid — The id of the network associated with the interface.
    - `name` string — A user specified name for the interface.
    - `status` 'created' | 'provisioning' | 'provisioned' | 'deleting' — The current status of the interface deployment.
    - `cloud_provider` 'aws' | 'azure' | 'gce' — The Virtual Private Cloud with which you would like to establish a cross connect.
    - `cloud_provider_region` string — The region where your Virtual Private Cloud hosts are located.<br /><br />The available regions can be found using the /virtual_cross_connect_regions endpoint.
    - `bgp_asn` number — The Border Gateway Protocol (BGP) Autonomous System Number (ASN). If null, value will be assigned by Telnyx.
    - `bandwidth_mbps` number — The desired throughput in Megabits per Second (Mbps) for your Virtual Cross Connect.<br /><br />The available bandwidths can be found using the /virtual_cross_connect_regions endpoint.
    - `primary_enabled` boolean — Indicates whether the primary circuit is enabled. Setting this to `false` will disable the circuit.
    - `primary_cloud_account_id` string — The identifier for your Virtual Private Cloud. The number will be different based upon your Cloud provider.
    - `primary_telnyx_ip` string — The IP address assigned to the Telnyx side of the Virtual Cross Connect.<br /><br />If none is provided, one will be generated for you.<br /><br />This value should be null for GCE as Google will only inform you of your assigned IP once the connection has been accepted.
    - `primary_cloud_ip` string — The IP address assigned for your side of the Virtual Cross Connect.<br /><br />If none is provided, one will be generated for you.<br /><br />This value can not be patched once the VXC has bene provisioned.
    - `primary_bgp_key` string — The authentication key for BGP peer configuration.
    - `secondary_enabled` boolean — Indicates whether the secondary circuit is enabled. Setting this to `false` will disable the circuit.
    - `secondary_cloud_account_id` string — The identifier for your Virtual Private Cloud. The number will be different based upon your Cloud provider.<br /><br />This attribute is only necessary for GCE.
    - `secondary_telnyx_ip` string — The IP address assigned to the Telnyx side of the Virtual Cross Connect.<br /><br />If none is provided, one will be generated for you.<br /><br />This value should be null for GCE as Google will only inform you of your assigned IP once the connection has been accepted.
    - `secondary_cloud_ip` string — The IP address assigned for your side of the Virtual Cross Connect.<br /><br />If none is provided, one will be generated for you.<br /><br />This value can not be patched once the VXC has bene provisioned.
    - `secondary_bgp_key` string — The authentication key for BGP peer configuration.
    - `region_code` string, required — The region interface is deployed to.
    - `primary_routing_announcement` boolean — Whether the primary BGP route is being announced.
    - `secondary_routing_announcement` boolean — Whether the secondary BGP route is being announced.
    - `region` object
      - `code` string — Region code of the interface.
      - `name` string — Region name of the interface.
      - `record_type` string — Identifies the type of the resource.

## Other responses

- `422` — Unprocessable entity. Check the 'detail' field in response for details.
- `default` — Unexpected error

---

[API](https://skmtc.net/team-telnyx/apis/telnyx-api.md) · [All operations](https://skmtc.net/team-telnyx/apis/telnyx-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/team-telnyx/telnyx-api/revisions/e32d46c5945b/schema)
