# Connect Ports in Different Locations Establish a direct, low-latency connection between your IT assets deployed in different IBX data centers. ![](https://docs.equinix.com/assets/images/connectToMyselfOverview-7f470b80c8b64fa546f9e1ea0727d3dc.png) ## Prerequisites[​](#prerequisites "Direct link to Prerequisites") 1. Authenticate - Submit your user credentials, Client ID, and Client Secret for OAuth2 authentication. Refer to [API Authentication](https://docs.equinix.com/equinix-api/api-authentication.md) for instructions on how to call the OAuth API to validate and authenticate your credentials. 2. Get your relevant port information for the a-side and z-side ports using the [Get All Ports](https://docs.equinix.com/api-catalog/fabricv4/ports/getports.md) endpoint. ## Creating a Non-redundant Connection between two DOT1Q Ports[​](#creating-a-non-redundant-connection-between-two-dot1q-ports "Direct link to Creating a Non-redundant Connection between two DOT1Q Ports") To create a non-redundant connection between two DOT1Q Ports, send a `POST` request to the [`/fabric/v4/connections`](https://docs.equinix.com/api-catalog/fabricv4/connections/createconnection.md) endpoint. Specify your connection's configuration details in the body of the request. | | **`POST /fabric/v4/connections`** | | ---------------- | ---------------------------------------------------------------------------------- | | Method | `POST` | | Endpoint | `/fabric/v4/connections` | | Headers | `Authorization`, `Content-Type` | | Path Parameters | Not applicable | | Query Parameters | Not applicable | | Body Parameters | `type`, `name`, `order`, `bandwidth`, `aSide`, `zSide`, `project`, `notifications` | To safely validate this request in production without creating a connection, see [Testing in Production (API Dry Run)](https://docs.equinix.com/equinix-api/testing/testing-in-production-dry-run.md). Sample cURL request: ``` curl -X POST 'https://api.equinix.com/fabric/v4/connections' -H 'content-type: application/json' -H 'authorization: Bearer ' -d '{     "type": "EVPL_VC",     "name": "Conn-1",     "order": {         "purchaseOrderNumber": "1-129105284100"     },     "geoScope": "CONUS",     "bandwidth": 1000,     "aSide": {         "accessPoint": {             "type": "COLO",             "port": {                 "uuid": "a867f685-41b0-1b07-6de0-320a5c00abdd"             },             "linkProtocol": {                 "type": "DOT1Q",                 "vlanTag": 1001             }         }     },     "zSide": {         "accessPoint": {             "type": "COLO",             "port": {                 "uuid": "20d32a80-0d61-4333-bc03-707b591ae2f4"             },             "linkProtocol": {                 "type": "DOT1Q",                 "vlanTag": 1001             }         }     },     "notifications": [         {             "type": "ALL",             "emails": [                 "test@equinix.com",                 "test@equinix.com"             ]         }     ] }' ``` ## Creating a Non-redundant Connection from a DOT1Q Port to a QINQ Port[​](#creating-a-non-redundant-connection-from-a-dot1q-port-to-a-qinq-port "Direct link to Creating a Non-redundant Connection from a DOT1Q Port to a QINQ Port") To create a non-redundant connection from a DOT1Q port to a QINQ port, send a `POST` request to the [`/fabric/v4/connections`](https://docs.equinix.com/api-catalog/fabricv4/connections/createconnection.md) endpoint. Specify your connection's configuration details in the body of the request. Sample cURL request: ``` curl -X POST 'https://api.equinix.com/fabric/v4/connections' -H 'content-type: application/json' -H 'authorization: Bearer ' -d '{     "type": "EVPL_VC",     "name": "Conn-1",     "order": {         "purchaseOrderNumber": "1-129105284100"     },     "geoScope": "CONUS",     "bandwidth": 1000,     "aSide": {         "accessPoint": {             "type": "COLO",             "port": {                 "uuid": "a867f685-41b0-1b07-6de0-320a5c00abdd"             },             "linkProtocol": {                 "type": "DOT1Q",                 "vlanTag": 1001             }         }     },     "zSide": {         "accessPoint": {             "type": "COLO",             "port": {                 "uuid": "20d32a80-0d61-4333-bc03-707b591ae2f4"             },             "linkProtocol": {                 "type": "QINQ",                 "vlanSTag": 2001,                 "vlanCTag": 2002,             }         }     },     "notifications": [         {             "type": "ALL",             "emails": [                 "test@equinix.com",                 "test@equinix.com"             ]         }     ] }' ``` The parameters included in the request body are specific to this example. For a full list of parameters and their descriptions, see the [API Reference](https://docs.equinix.com/api-catalog/fabricv4/connections/createconnection.md). Sample Response: ``` {     "href": "https://api.equinix.com/fabric/v4/connections/3a58dd05-f46d-4b1d-a154-2e85c396ea62",     "type": "EVPL_VC",     "uuid": "3a58dd05-f46d-4b1d-a154-2e85c396ea62",     "name": "Conn-1",     "state": "PENDING_AUTO_APPROVAL",     "order": {         "purchaseOrderNumber": "1-129105284100",         "billingTier": "Up to 1 Gbps"     },     "bandwidth": 1000,     "aSide": {         "accessPoint" {             "type": "COLO",             "port": {                 "href": "https://api.equinix.com/fabric/v4/ports/a867f685-41b0-1b07-6de0-320a5c00abdd",                 "type": "XF_PORT",                 "uuid": "a867f685-41b0-1b07-6de0-320a5c00abdd"             },             "linkProtocol": {                 "type": "DOT1Q",                 "vlanTag": 1001             }         }     },     "zSide": {         "accessPoint": {             "type": "COLO",             "port": {                 "href": "https://api.equinix.com/fabric/v4/ports/a867f685-41b0-1b07-6de0-320a5c00abdd",                 "type": "XF_PORT",                 "uuid": "20d32a80-0d61-4333-bc03-707b591ae2f4"             },             "linkProtocol": {                 "type": "QINQ",                 "vlanSTag": 2001,                 "vlanCTag": 2002,             }         }     },     "notifications": [         {             "type": "ALL",             "emails": [                 "test@equinix.com",                 "test@equinix.com"             ]         }     ],     "operation": {         "equinixStatus": "PROVISIONING",         "providerStatus": "NOT_AVAILABLE"     },     "changeLog": {         "createdDateTime": "2021-07-15T19:30:29.526Z"     } } ``` Response payload includes configuration parameters defined in the request body. For a full list of possible parameters and their descriptions, see the [API Reference](https://docs.equinix.com/api-catalog/fabricv4/connections/createconnection.md). ## Creating a Non-redundant Connection from a QINQ Port to a DOT1Q Port[​](#creating-a-non-redundant-connection-from-a-qinq-port-to-a-dot1q-port "Direct link to Creating a Non-redundant Connection from a QINQ Port to a DOT1Q Port") To create a non-redundant connection from a QINQ port to a DOT1Q port, send a `POST` request to the [`/fabric/v4/connections`](https://docs.equinix.com/api-catalog/fabricv4/connections/createconnection.md) endpoint. Specify your connection's configuration details in the body of the request. Sample cURL request: ``` curl -X POST 'https://api.equinix.com/fabric/v4/connections' -H 'content-type: application/json' -H 'authorization: Bearer ' -d '{     "type": "EVPL_VC",     "name": "Conn-1",     "order": {         "purchaseOrderNumber": "1-129105284100"     },     "geoScope": "CONUS",     "bandwidth": 1000,     "aSide": {         "accessPoint": {             "type": "COLO",             "port": {                 "uuid": "a867f685-41b0-1b07-6de0-320a5c00abdd"             },             "linkProtocol": {                 "type": "QINQ",                 "vlanSTag": 1001,                 "vlanCTag": 1002             }         }     },     "zSide": {         "accessPoint": {             "type": "COLO",             "port": {                 "uuid": "20d32a80-0d61-4333-bc03-707b591ae2f4"             },             "linkProtocol": {                 "type": "DOT1Q",                 "vlanTag": 1001             }         }     },     "notifications": [         {             "type": "ALL",             "emails": [                 "test@equinix.com",                 "test@equinix.com"             ]         }     ] }' ``` The parameters included in the request body are specific to this example. For a full list of parameters and their descriptions, see the [API Reference](https://docs.equinix.com/api-catalog/fabricv4/connections/createconnection.md). ## Creating a Non-redundant Connection between two QINQ Ports[​](#creating-a-non-redundant-connection-between-two-qinq-ports "Direct link to Creating a Non-redundant Connection between two QINQ Ports") To create a non-redundant connection between two QINQ Ports, send a `POST` request to the [`/fabric/v4/connections`](https://docs.equinix.com/api-catalog/fabricv4/connections/createconnection.md) endpoint. Specify your connection's configuration details in the body of the request. Sample cURL request: ``` curl -X POST 'https://api.equinix.com/fabric/v4/connections' -H 'content-type: application/json' -H 'authorization: Bearer ' -d '{     "type": "EVPL_VC",     "name": "Conn-1",     "order": {         "purchaseOrderNumber": "1-129105284100"     },     "geoScope": "CONUS",     "bandwidth": 1000,     "aSide": {         "accessPoint": {             "type": "COLO",             "port": {                 "uuid": "a867f685-41b0-1b07-6de0-320a5c00abdd"             },             "linkProtocol": {                 "type": "QINQ",                 "vlanSTag": 1001,                 "vlanCTag": 1002             }         }     },     "zSide": {         "accessPoint": {             "type": "COLO",             "port": {                 "uuid": "20d32a80-0d61-4333-bc03-707b591ae2f4"             },             "linkProtocol": {                 "type": "QINQ",                 "vlanSTag": 2001,                 "vlanCTag": 2002,             }         }     },     "notifications": [         {             "type": "ALL",             "emails": [                 "test@equinix.com",                 "test@equinix.com"             ]         }     ] }' ``` The parameters included in the request body are specific to this example. For a full list of parameters and their descriptions, see the [API Reference](https://docs.equinix.com/api-catalog/fabricv4/connections/createconnection.md). ## Monitoring the Connection[​](#monitoring-the-connection "Direct link to Monitoring the Connection") Use the [Get Specified Connection](https://docs.equinix.com/api-catalog/fabricv4/connections/getconnectionbyuuid.md) endpoint to monitor connection status. | **`equinixStatus`** parameter values | **`providerStatus`** attribute values | **Description** | | ------------------------------------ | ------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `PENDING_AUTO_APPROVAL` | `NOT_AVAILABLE` | Connection request has been sent for auto approval. As the connection is within the same organization (i.e. A-side and Z-side) the connection would fall under auto approval. | | `PROVISIONING` | `NOT_AVAILABLE` | Connection establishment in progress. | | `PROVISIONED` | `AVAILABLE` | Connection established. | ![](https://docs.equinix.com/assets/images/connectToMyselfStatus-8d16029f54b37f20b3e086033d4f91ac.png)