---
title: "Update the Virtual Cross Connect"
method: PATCH
path: "/virtual_cross_connects/{id}"
tags: ["Virtual Cross Connects"]
---

# Update the Virtual Cross Connect

`PATCH /virtual_cross_connects/{id}`

Update the Virtual Cross Connect.<br /><br />Cloud IPs can only be patched during the `created` state, as GCE will only inform you of your generated IP once the pending connection requested has been accepted. Once the Virtual Cross Connect has moved to `provisioning`, the IPs can no longer be patched.<br /><br />Once the Virtual Cross Connect has moved to `provisioned` and you are ready to enable routing, you can toggle the routing announcements to `true`.

## Path parameters

- `id` string, uuid, required

## Request body

- VirtualCrossConnectPatch
  - `primary_enabled` boolean — Indicates whether the primary circuit is enabled. Setting this to `false` will disable the circuit.
  - `primary_routing_announcement` boolean — Whether the primary BGP route is being announced.
  - `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.
  - `secondary_enabled` boolean — Indicates whether the secondary circuit is enabled. Setting this to `false` will disable the circuit.
  - `secondary_routing_announcement` boolean — Whether the secondary BGP route is being announced.
  - `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.

## 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, required — 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', required — The Virtual Private Cloud with which you would like to establish a cross connect.
    - `cloud_provider_region` string, required — 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, required — 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, required — 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-2.md) · [All operations](https://skmtc.net/team-telnyx/apis/telnyx-api-2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/team-telnyx/telnyx-api-2/versions/8f5f4e537994/schema)
