Connect to Network
Establish a direct, low-latency connection between your networks and ports/virtual devices.
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
1) Get all your Fabric network information using the Retrieve Fabric Networks API call.
2) You can connect your network to a port or a virtual device. Tagged ports or Virtual Devices can be connected to EVPLAN networks. Untagged ports can be connected to EPLAN networks.
To connect a port to a network, check the status of your ports. Call the Get Specified Port API or the Get All Ports API.
To connect a virtual device to a network, check the status of your virtual devices. Call the Get Virtual Device {uuid} API or the Get Virtual Devices API.
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, notifications, redundancy |
The POST Connections API creates a layer 2 connection between your network and a port or a virtual device.
Use the Retrieve Pricing API request to retrieve connection price estimate.
Sample curl request - connect a tagged port to EVPLAN network
curl -X
POST 'https://api.equinix.com/fabric/v4/connections'
-H 'content-type: application/json'
-H 'authorization: Bearer qwErtY8zyW1abcdefGHI'
-d '{
"type": "EVPLAN_VC",
"name": "MY-EVPLAN-CONNECTION-1",
"bandwidth": 1000,
"aSide": {
"accessPoint": {
"type": "COLO",
"port": {
"uuid": "9127bb72-5f4f-4517-be74-3af7ce612687"
},
"linkProtocol": {
"type": "DOT1Q",
"vlanTag": 300
}
}
},
"zSide": {
"accessPoint": {
"type": "NETWORK",
"network": {
"uuid": "25f8884e-85e3-4eaa-8ea9-a7ad2ca5b3c2"
}
}
},
"order": {
"purchaseOrderNumber": "1-129105284100"
},
"notifications": [
{
"type": "ALL",
"emails": [
"test@equinix.com",
"test1@equinix.com"
]
}
]
}'
Sample curl request - connect an untagged port to EPLAN network
curl -X
POST 'https://api.equinix.com/fabric/v4/connections'
-H 'content-type: application/json'
-H 'authorization: Bearer qwErtY8zyW1abcdefGHI'
-d '
{
"type": "EPLAN_VC",
"name": "MY-EPLAN-CONNECTION-1",
"bandwidth": 1000,
"aSide": {
"accessPoint": {
"type": "COLO",
"port": {
"uuid": "9127bb72-5f4f-4517-be74-3af7ce612687"
}
}
},
"zSide": {
"accessPoint": {
"type": "NETWORK",
"network": {
"uuid": "25f8884e-85e3-4eaa-8ea9-a7ad2ca5b3c2"
}
}
},
"order": {
"purchaseOrderNumber": "1-129105284100"
},
"notifications": [
{
"type": "ALL",
"emails": [
"test@equinix.com",
"test1@equinix.com"
]
}
]
}'
Sample curl request - connect a virtual device to EVPLAN network
curl -X
POST 'https://api.equinix.com/fabric/v4/connections'
-H 'content-type: application/json'
-H 'authorization: Bearer qwErtY8zyW1abcdefGHI'
-d '
{
"type": "EVPLAN_VC",
"name": "MY-VD-EVPLAN-CONNECTION-1",
"bandwidth": 1000,
"aSide": {
"accessPoint": {
"type": "VD",
"virtualDevice": {
"type": "EDGE",
"uuid": "20d32a80-0d61-4333-bc03-707b591ae2f4"
},
"interface": {
"type": "NETWORK",
"id": 7
}
}
},
"zSide": {
"accessPoint": {
"type": "NETWORK",
"network": {
"uuid": "25f8884e-85e3-4eaa-8ea9-a7ad2ca5b3c2"
}
}
},
"order": {
"purchaseOrderNumber": "1-129105284100"
},
"notifications": [
{
"type": "ALL",
"emails": [
"test@equinix.com",
"test1@equinix.com"
]
}
]
}'
Body parameters
Parameter | Mandatory | Type | Example values | Applicable values | Description |
type | yes | string | EVPLAN_VC | EVPLAN_VC | Connection type. Either EVPLAN_VC or EPLAN_VC. |
name | yes | string | Conn-1 | Maximum: 24 characters Allowed characters: alpha-numeric, hyphens ('-') and underscores ('_') | Connection name. |
order | no | object | - | - | Order details. |
bandwidth | yes | integer | 1000 | 10 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. |
redundancy | Conditional | object | - | - | Redundancy details. This object is not mandatory for primary connections. However, you must provide the redundancy details for secondary connections. |
order | |||||
purchaseOrderNumber | no | string | 1-129105284100 | - | Subscriber's purchase order identifier. |
aSide | |||||
accessPoint | yes | object | - | - | A-side connection endpoint configuration. |
A-side accessPoint | |||||
type | yes | string | COLO | COLO VD | Connection endpoint type. COLO - colocation space in an IBX data center VD - virtual device |
port | no | object | - | - | Port associated with the connection. |
linkProtocol | no | object | - | - | Link protocol configuration. |
virtualDevice | no | object | - | - | Virtual device details. |
interface | no | object | - | - | Interface details of virtual device. |
port | |||||
uuid | no | string | a867f685-41b0-1b07-6de0-320a5c00abdd | - | Equinix-assigned port identifier (only required if you are creating a connection between a port and a network) |
linkProtocol | |||||
type | no | string | DOT1Q | DOT1Q | Link protocol type (only required for tagged ports). |
vlanTag | no | integer | 1001 | Range: 2-4094 | DOT1Q protocol VLAN tag (only applicable for tagged ports). |
vlanCTag | no | 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 (only applicable for tagged ports). |
vlanSTag | no | 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 (only applicable for tagged ports). |
virtualDevice | |||||
type | no | string | EDGE | EDGE | Type of virtual device (only required if you are creating a connection between a virtual device and a network) |
uuid | no | string | a867f685-41b0-1b07-6de0-320a5c00abdd | - | Equinix-assigned virtual device Id (only required if you are creating a connection between a virtual device and a network) |
interface | |||||
type | no | string | NETWORK | NETWORK | Interface of the virtual device (only required if you are creating a connection between a virtual device and a network) |
id | no | string | 7 | - | Interface Id (only required if you are creating a connection between a virtual device and a network) |
zSide | |||||
accessPoint | yes | object | - | - | Z-side connection endpoint configuration. |
Z-side accessPoint | |||||
type | yes | string | NETWORK | NETWORK | Connection endpoint type. |
network | no | object | - | - | Z-side network details. |
network | |||||
uuid | yes | string | a867f685-41b0-1b07-6de0-320a5c00abdd | - | Id of the network |
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. |
redundancy | |||||
priority | Conditional | string | SECONDARY | PRIMARY, SECONDARY | Whether the connection is PRIMARY or SECONDARY. Don't provide a redundancy group for a PRIMARY connection. |
group | Conditional | string | 7a58dd05-f46d-4b1d-a154-2e85c396ea63 | Unique Id of the redundancy group. This is only required for secondary connections. If you are creating a secondary connection, enter the group of the PRIMARY. You can find the group of the primary connection by calling Get Specified Connection or by checking the "group" field in the response you receive when creating primary connection. |
If you get “Access Denied” error, contact your local Equinix Service Desk for Equinix Fabric Portal access.
Sample response - non-redundant connection from an EVPLAN network to a tagged port
{
"type": "EVPLAN_VC",
"href": "http://uat2api.npclouda.equinix.com/fabric/v4/connections/01df5124-eed1-4a30-89bb-240c33d5cd12",
"uuid": "01df5124-eed1-4a30-89bb-240c33d5cd12",
"name": "test2",
"operation": {
"providerStatus": "NOT_AVAILABLE",
"equinixStatus": "PROVISIONING"
},
"order": {
"billingTier": "Up to 50 MB"
},
"notifications": [
{
"type": "ALL",
"emails": [
"1eqxnfvuser1@equinix.com"
]
}
],
"changeLog": {
"createdBy": "eqxnfvuser1",
"createdByFullName": "eqxnfvuser eqxnfvuser",
"createdByEmail": "1eqxnfvuser1@equinix.com",
"createdDateTime": "2023-03-27T18:29:53.117Z",
"updatedBy": "eqxnfvuser1",
"updatedByFullName": "eqxnfvuser eqxnfvuser",
"updatedByEmail": "1eqxnfvuser1@equinix.com",
"updatedDateTime": "2023-03-27T18:29:53.117Z"
},
"bandwidth": 50,
"redundancy": {
"priority": "PRIMARY",
"group": "7a58dd05-f46d-4b1d-a154-2e85c396ea63"
},
"aSide": {
"accessPoint": {
"location": {
"metroCode": "DC"
},
"port": {
"type": "XF_PORT",
"href": "http://uat2api.npclouda.equinix.com/fabric/v4/ports/e569f0bb-96d5-6d5e-92e0-387a5c00a379",
"uuid": "e569f0bb-96d5-6d5e-92e0-387a5c00a379",
"name": "eqx-nfv-DC5-L-Dot1q-STD-Pri-1G-JP-2"
},
"linkProtocol": {
"type": "DOT1Q",
"vlanTag": 44
}
}
},
"zSide": {
"accessPoint": {
"network": {
"href": "http://uat2api.npclouda.equinix.com/fabric/v4/networks/ecc81fe0-7a96-4e08-94f2-0ab52fae662b",
"uuid": "ecc81fe0-7a96-4e08-94f2-0ab52fae662b",
"name": "EVPLAN-AMER-1",
"platformUuid": "52c6ec8b-4aad-4167-be6d-1972a12d1b83",
"state": "ACTIVE",
"type": "EVPLAN",
"scope": "REGIONAL",
"location": {
"region": "AMER"
}
}
}
}
}
Response description
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. |
type | string | EVPLAN_VC | Type of connection. |
uuid | string | 3a58dd05-f46d-4b1d-a154-2e85c396ea62 | Equinix-assigned connection identifier. |
name | string | MY_CONNECTION | Name of the connection. |
operation | object | - | Operation status. |
operation.equinixStatus | string | PROVISIONING | Status of the connection on Equinix's end. |
operation.providerStatus | string | NOT_AVAILABLE | Status of the connection on provider's end. |
order | object | - | Order details. |
order.billingTier | string | Up to 1 Gbps | Billing tier of the connection bandwidth. |
notifications | array | An array that has notification details. | |
notifications.type | string | ALL | Type of notification. |
notifications.emails | array | test@equinix.com, test2@equinix.com | The list of emails to be notified. |
changeLog | object | - | A permanent record of asset creation, modification, or deletion. |
changeLog.createdBy | string | testNEuser2 | Created by. |
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 |
changeLog.updatedBy | string | testNEuser2 | Updated by. |
changeLog.updatedDateTime | string | 2021-07-15T19:30:29.526Z | Update timestamp in the IETF ISO 8601 extended date/time format: YYYY-MM-DDTHH:MM:SS.000+0000 |
bandwidth | integer | 1000 | Bandwidth of the connection in Mbps. |
redundancy | object | Object containing redundancy details. | |
redundancy.group | string | 7a58dd05-f46d-4b1d-a154-2e85c396ea63 | Unique Id of the redundancy group. |
redundancy.priority | string | PRIMARY | Whether the connection is PRIMARY or SECONDARY. |
aSide | object | Object containing aSide details. | |
aSide.accessPoint | object | Object containing aSide endpoint configuration. | |
aSide.location | object | An object that has the location details of the aSide connection. | |
location.metroCode | string | DC | Metro code. |
port | object | An object that has the port details. | |
port.href | string | https://api.equinix.com/ne/v1/devices/5a58dd05-f46d-4b1d-a154-2e85c396ea63 | |
port.type | string | XF_PORT | Type of port. |
port.uuid | string | 5a58dd05-f46d-4b1d-a154-2e85c396ea63 | Unique Id of the port. |
port.name | string | sroy-device | Name of the port. |
accessPoint.linkProtocol | object | An object that has the link protocol. | |
linkProtocol.type | string | DOT1Q | Type of link protocol. |
linkProtocol.vlanTag | integer | 10579 | Vlan tag. |
accessPoint.interface | object | Object containing details of the interface. | |
interface.uuid | string | 3a58dd05-f46d-4b1d-a154-2e85c396ea62 | Unique identifier of the interface. |
interface.id | string | 5 | The interface id of the virtual device that hosts the connection. |
interface.type | string | CLOUD | Type of interface. |
accessPoint.virtualDevice | object | An object that has the virtual device details. | |
virtualDevice.type | string | EDGE | Type of virtual device. |
zSide | object | Object containing zSide details. | |
zSide.accessPoint | object | Object containing zSide endpoint configuration. | |
accessPoint.network | object | Object containing network configuration. | |
network.href | string | https://api.equinix.com/fabric/v4/connections/3a58dd05-f46d-4b1d-a154-2e85c396ea62 | An absolute URL that returns the network asset. |
network.uuid | string | 3a58dd05-f46d-4b1d-a154-2e85c396ea62 | Equinix-assigned network identifier. |
network.name | string | EVPLAN_NETWORK | Name of the network. |
network.platformuuid | string | 5a58dd05-f46d-4b1d-a154-2e85c396ea69 | Platform Id. |
network.state | string | PROVISIONING | Status of the network. |
network.type | string | EVPLAN | Type of network. |
network.scope | string | REGIONAL | Scope of network. LOCAL, REGIONAL, or GLOBAL |
network.location | object | An object that has the location details of the zSide connection. | |
location.region | string | AMER | zSide location. |