Skip to main content

Effective 10 September 2024, API Documentation can be found on our Equinix Product Documentation site.
The content on this page will not be updated after 1 Oct 2024 and will be inaccessible after 31st Dec 2024.


Connect to Myself

Establish a direct, low-latency connection between your IT assets deployed in different IBX data centers.

nonRedundantSelfConnectionOverview_0

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
MethodPOST
Endpoint/fabric/v4/connections
HeadersAuthorization, Content-Type
Path ParametersNot applicable
Query ParametersNot applicable
Body Parameterstype, 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

ParameterMandatoryTypeExample valuesApplicable valuesDescription
typeyesstringEVPL_VCEVPL_VCConnection type.

EVPL_VC - Ethernet virtual private line connection type used for tagged layer 2 connections.  
nameyesstringConn-1Maximum: 24 characters
Allowed characters: alpha-numeric, hyphens ('-') and underscores ('_')
Connection name.
geoScopenostringCONUSCONUS
CANADA
The name of country/boundary within which you want to restrain connection traffic.
ordernoobject--Order details.
bandwidthyesinteger100050
200
500
1000
2000
5000
10000
25000
50000
Connection bandwidth in Mbps.
aSideyesobject--Source port definition.
zSideyesobject--Destination port definition.
notificationsyesarray[object]--Subscriber preferences for notification of changes in asset configuration or status.
 
order
purchaseOrderNumbernostring1-129105284100-Subscriber's purchase order identifier.
 
aSide/zSide
accessPointyesobject--Connection endpoint configuration.
 
accessPoint
typeyesstringCOLOCOLOConnection endpoint type.

COLO - Colocation space in an IBX data center.  
portyesobject--Port associated with the connection.
linkProtocolyesobject--Link protocol configuration.
 
port
uuidyesstringa867f685-41b0-1b07-6de0-320a5c00abdd-Equinix-assigned port identifier.
 
linkProtocol
typeyesstringDOT1QDOT1Q
QINQ
Link protocol type.
vlanTagyesinteger1001Range: 2-4094DOT1Q protocol VLAN tag. 
vlanCTagyesinteger1002Range: 2-4094QINQ protocol, inner virtual local area network (VLAN) customer frame tag used to identify packets as they traverse trunk lines.
vlanSTagyesinteger1003Range: 2-4094QINQ protocol, outer virtual local area network (VLAN) service frame tag used to identify packets as they traverse trunk lines.
 
notifications
typeyesstringALLALLNotification preferences for a specified asset.
emailsyesarray[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.

ParameterTypeExample valuesDescription
hrefstringhttps://api.equinix.com/fabric/v4/connections/3a58dd05-f46d-4b1d-a154-2e85c396ea62An absolute URL that returns the specified connection.
uuidstring3a58dd05-f46d-4b1d-a154-2e85c396ea62Equinix-assigned connection identifier.
statestringPENDING_AUTO_APPROVALLifecycle stage of a connection.
orderobject- 
aSideobject-Source port definition.
zSideobject-Destination port definition.
operationobject-Connection type-specific operational data.
changeLogobject-A permanent record of asset creation, modification, or deletion.
 
order
billingTierstringUp to 1 GbpsBilling tier for connection bandwidth.
 
aSide/zSide
accessPointobject-Connection endpoint configuration.
 
accessPoint
portobject-Port associated with the connection.
 
port
hrefstringhttps://api.equinix.com/fabric/v4/ports/a867f685-41b0-1b07-6de0-320a5c00abddAn absolute URL that returns the specified port.
typestringXF_PORTType of port.

XF_PORT - Equinix Fabric port used as a Fabric connection endpoint. 
 
operation
equinixStatusstringPROVISIONINGProgress towards provisioning a specified connection.
providerStatusstringNOT_AVAILABLEProvider's progress towards provisioning a specified connection.
 
changeLog
createdDateTimestring2021-07-15T19:30:29.526ZConnection 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 valuesproviderStatus attribute valuesDescription
PENDING_AUTO_APPROVALNOT_AVAILABLEConnection 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.
PROVISIONINGNOT_AVAILABLEConnection establishment in progress.
PROVISIONEDAVAILABLEConnection established.

connectToMyselfStatus