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

Copy
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

Copy
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

Copy
curl -X
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

Copy
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

Copy
{
    "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.