Connect to Myself
Establish a direct, low-latency connection between your IT assets deployed in different IBX data centers.
Step 1: Authenticate
Submit your user credentials, Client ID, and Client Secret for OAuth2 authentication.
Refer to Generating Client ID and Client Secret under the Getting Access Token section for instructions on how to create client ID and client secret and refer to Requesting Access and Refresh tokens section for instructions on how to call Oauth API to validate and authenticate your credentials.
If you are unaware of your user credentials for Equinix Fabric, contact your local Equinix Service Desk.
Step 2: Get Attribute Information
Retrieve your Equinix Fabric ports information using the Get All Ports API request.
Step 3: Create Connection
Use the POST /fabric/v4/connections API request to create a connection with the pre-determined attributes.
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 |
The POST Connections API request creates a layer 2 connection between two ports in IBX data centers colocation space.
Use the Retrieve Pricing API request to retrieve connection price estimate.
Sample curl request - non-redundant connection between two DOT1Q ports
curl -X
POST 'https://api.equinix.com/fabric/v4/connections'
-H 'content-type: application/json'
-H 'authorization: Bearer qwErtY8zyW1abcdefGHI'
-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"
]
}
]
}'
Sample curl request - non-redundant connection from a DOT1Q port to a QINQ port
curl -X
POST 'https://api.equinix.com/fabric/v4/connections'
-H 'content-type: application/json'
-H 'authorization: Bearer qwErtY8zyW1abcdefGHI'
-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"
]
}
]
}'
Sample curl request - non-redundant connection from a QINQ port to a DOT1Q port
curl -X
POST 'https://api.equinix.com/fabric/v4/connections'
-H 'content-type: application/json'
-H 'authorization: Bearer qwErtY8zyW1abcdefGHI'
-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"
]
}
]
}'
Sample curl request - non-redundant connection between two QINQ ports
curl -X
POST 'https://api.equinix.com/fabric/v4/connections'
-H 'content-type: application/json'
-H 'authorization: Bearer qwErtY8zyW1abcdefGHI'
-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"
]
}
]
}'
Body parameters
Parameter | Mandatory | Type | Example values | Applicable values | Description |
type | yes | string | EVPL_VC | EVPL_VC | Connection type. EVPL_VC - Ethernet virtual private line connection type used for tagged layer 2 connections. |
name | yes | string | Conn-1 | Maximum: 24 characters Allowed characters: alpha-numeric, hyphens ('-') and underscores ('_') | Connection name. |
geoScope | no | string | CONUS | CONUS CANADA | The name of country/boundary within which you want to restrain connection traffic. |
order | no | object | - | - | Order details. |
bandwidth | yes | integer | 1000 | 50 200 500 1000 2000 5000 10000 25000 50000 | Connection bandwidth in Mbps. |
aSide | yes | object | - | - | Source port definition. |
zSide | yes | object | - | - | Destination port definition. |
notifications | yes | array[object] | - | - | Subscriber preferences for notification of changes in asset configuration or status. |
order | |||||
purchaseOrderNumber | no | string | 1-129105284100 | - | Subscriber's purchase order identifier. |
aSide/zSide | |||||
accessPoint | yes | object | - | - | Connection endpoint configuration. |
accessPoint | |||||
type | yes | string | COLO | COLO | Connection endpoint type. COLO - Colocation space in an IBX data center. |
port | yes | object | - | - | Port associated with the connection. |
linkProtocol | yes | object | - | - | Link protocol configuration. |
port | |||||
uuid | yes | string | a867f685-41b0-1b07-6de0-320a5c00abdd | - | Equinix-assigned port identifier. |
linkProtocol | |||||
type | yes | string | DOT1Q | DOT1Q QINQ | Link protocol type. |
vlanTag | yes | integer | 1001 | Range: 2-4094 | DOT1Q protocol VLAN tag. |
vlanCTag | yes | integer | 1002 | Range: 2-4094 | QINQ protocol, inner virtual local area network (VLAN) customer frame tag used to identify packets as they traverse trunk lines. |
vlanSTag | yes | integer | 1003 | Range: 2-4094 | QINQ protocol, outer virtual local area network (VLAN) service frame tag used to identify packets as they traverse trunk lines. |
notifications | |||||
type | yes | string | ALL | ALL | Notification preferences for a specified asset. |
emails | yes | array[string] | ["john@equinix.com", "jenkins@equinix.com"] | Minimum: 1 Maximum: 12 | List of up to 12 recipients. |
If you get “Access Denied” error, contact your local Equinix Service Desk for Equinix Fabric Portal access.
Sample response - non-redundant connection from a DOT1Q port to a QINQ port
{
"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 body description
Response payload includes configuration parameters defined in the request body. The following table contains descriptions of additional information included in the response payload. For descriptions of the remaining fields, refer to the Body parameters section.
Parameter | Type | Example values | Description |
href | string | https://api.equinix.com/fabric/v4/connections/3a58dd05-f46d-4b1d-a154-2e85c396ea62 | An absolute URL that returns the specified connection. |
uuid | string | 3a58dd05-f46d-4b1d-a154-2e85c396ea62 | Equinix-assigned connection identifier. |
state | string | PENDING_AUTO_APPROVAL | Lifecycle stage of a connection. |
order | object | - | |
aSide | object | - | Source port definition. |
zSide | object | - | Destination port definition. |
operation | object | - | Connection type-specific operational data. |
changeLog | object | - | A permanent record of asset creation, modification, or deletion. |
order | |||
billingTier | string | Up to 1 Gbps | Billing tier for connection bandwidth. |
aSide/zSide | |||
accessPoint | object | - | Connection endpoint configuration. |
accessPoint | |||
port | object | - | Port associated with the connection. |
port | |||
href | string | https://api.equinix.com/fabric/v4/ports/a867f685-41b0-1b07-6de0-320a5c00abdd | An absolute URL that returns the specified port. |
type | string | XF_PORT | Type of port. XF_PORT - Equinix Fabric port used as a Fabric connection endpoint. |
operation | |||
equinixStatus | string | PROVISIONING | Progress towards provisioning a specified connection. |
providerStatus | string | NOT_AVAILABLE | Provider's progress towards provisioning a specified connection. |
changeLog | |||
createdDateTime | string | 2021-07-15T19:30:29.526Z | Connection creation timestamp in the IETF ISO 8601 extended date/time format: YYYY-MM-DDTHH:MM:SS.000+0000 |
Use the Get Specified Connection API request 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. |