Skip to main content
Index

Connect to Other Service Providers

End users can create connections to other Equinix customers (customers, vendors, and partners) using either a Dot1Q port or a QinQ port. 

 

Click here to watch a video on how to connect to other Equinix customers using Equinix Fabric. 

Layer 2 connection to other service providers

Step 1: Authenticate

Submit your user credentials, Client ID, and Client Secret for OAuth2 authentication.

 

Refer to Generating a Client ID and Client Secret key under Getting Started section for instructions on how to create client ID and client secret and refer to Requesting Access and Refresh tokens for instructions on how to call Oauth API to validate and authenticate your credentials.

 

If you are unaware of your user credentials, contact your local Equinix Service Desk. 

Step 2: Get Attribute Information

2a) Get virtual devices

Find out your available virtual devices on the NE platform by calling Get virtual devices API. You need the unique Id (UUID) of your device to create a connection.

You may choose any available interface on your device for the connection. However, Equinix will choose an interface if you do not specify any.

 

You may skip this step if you already know your available virtual devices.

 

2b) Get metros

Find out the locations where the NE platform is available by calling Get metro API.

 

You may skip this step if you already know the metro code.  

 

2c) Get Service Profile

Identify all seller/service profiles available for a given metro or metros by calling Get service profiles API. You need the profileUUID and sellerMetroCode to create a connection.

 

If you intend to create a connection to a private seller service profile, ensure that you have been authorized by the respective seller profile to access and retrieve the service profile details.

In order to do this, the seller must whitelist your email ID  by adding the email address to the private profile in the Equinix portal.

For more information please refer to the Equinix Fabric documentation at https://docs.equinix.com/en-us/Content/Interconnection/ECXF/landing-pages/ECXF-landing-main.htm

 

You may skip this step if you already know the service profile details.

Step 3: Create Connection

POST /ne/v1/l2/connections

Method POST
URL or End Point /ne/v1/l2/connections
Headers Authorization, Content-Type
Query Parameters Not applicable
Body Parameters

virtualDeviceUUID, primaryName, profileUUID, speed, speedUnit, notifications [...], purchaseOrderNumber, sellerMetroCode, authorizationKey, interfaceId, secondaryvirtualDeviceUUID, secondaryName, secondarySpeed, secondarySpeedUnit, secondaryAuthorizationKey, secondaryInterfaceId

 

The POST connections API creates a Layer 2 Connection between your port and the destination service profile. 

 

To obtain an authorization token, refer to Requesting Access and Refresh tokens section under Getting Started.

 

The following screenshots show sample curl requests to create a layer 2 enterprise connection for HA and non-HA virtual devices.

 

Enterprise Connection for a non-high availability virtual device

 
 

curl -X

POST "https://api.equinix.com/ne/v1/l2/connections"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

-d '{

  "virtualDeviceUUID": "6c2845e5-be63-4261-ba1c-a53a7e4cf5ec",
  "primaryName": "JohnDoeEnterprise1",
  "profileUUID": "d7f5769b-9618-4d8e-b7dc-9e68ffd0a8b8",
  "speed": 50,
  "speedUnit": "MB",
  "notifications": [
    "JohnDoe@equinix.com"
  ],
  "purchaseOrderNumber": "456299",
  "authorizationKey": "xxxxxxxxx",
  "sellerMetroCode": "DC",

  "interfaceId": 6

}'

 

Enterprise Connection for a high availability virtual device

 

curl -X

POST "https://api.equinix.com/ne/v1/l2/connections"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

-d '{

  "virtualDeviceUUID": "4c2345e5-be63-4261-ba1c-a53a7e4cf5ec",
  "primaryName": "JohnDoeEnterprise1",
  "profileUUID": "c7f5469b-9618-4d8e-b7dc-9e643rd0a8b8",
  "speed": 50,
  "speedUnit": "MB",
  "notifications": [
    "JohnDoe@equinix.com"
  ],
  "purchaseOrderNumber": "456",
  "sellerMetroCode": "DC",

  "authorizationKey": "xxxxxxxxx",

  "interfaceId": 5,

  "secondaryVirtualDeviceUUID": "7c2845e5-be83-4561-ba2b-a53a7e4cf5ez",

  "secondaryName": "JohnDoeEnterprise2",

  "secondarySpeed": 50,

  "secondarySpeedUnit": "MB",

  "secondaryAuthorizationKey": "xxxxxxxxx",

  "secondaryInterfaceId": 5

}'

 

The description of the body parameters is as follows:

 

Body Parameter Name Mandatory Type Example values Applicable values Description
virtualDeviceUUID Yes string 4c2345e5-be63-4261-ba1c-a53a7e4cf5ec   Unique ID of the virtual device.
primaryName Yes string JohnDoeEnterprise1   Name of the primary connection - An alpha-numeric 24 characters string which can include only hyphens and underscores ('-' & '_').
profileUUID Yes string c7f5469b-9618-4d8e-b7dc-9e643rd0a8b8   Unique identifier of the provider's service profile.
speed Yes integer 50   Speed/Bandwidth you would like to allocate to the connection.
speedUnit Yes string MB

"MB"

"GB"

Unit of the speed or bandwidth you would like to allocation to the connection.
notifications Yes array string JohnDoe@equinix.com

 

An array of email ids you would like to notify when there are any updates on your connection. Example Object: ["user@organization.com", "user@eu.company.com"]
purchaseOrderNumber Yes string 0987654321   An optional field to link the purchase order numbers to the connection on Equinix which would get reflected on the invoice.
sellerMetroCode Yes string SV   Provider location where you would like to connect. If the sellerMetroCode is empty, the metro code of the port is set as the default seller metro code. 
authorizationKey No string xxxxxxxx   An optional field based on the service profile you want to connect to. 
interfaceId No integer 5   Any available interface on the device. 
secondaryVirtualDeviceUUID No string 7c2845e5-be83-4561-ba2b-a53a7e4cf5ez  

The unique ID of the secondary virtual device. 

secondaryName No string JohnDoeEnterprise2   This field represents the name of the secondary connection. An alpha-numeric 24 character string that can only include hyphens and underscores ('-' & '_').
secondarySpeed No integer 50   Speed/Bandwidth you would like to allocate to the optional secondary connection.
secondarySpeedUnit No string MB

"MB"

"GB"

Unit of the speed or bandwidth of the optional secondary connection.
secondaryAuthorizationKey No string xxxxxxxx   Authorization key obtained from the provider for the optional secondary connection. 
secondaryInterfaceId No integer 6   Any available interface on the secondary device.

 

If you get “Access Denied” error, contact your local Equinix Service Desk.

 

Sample response for a virtual device (non HA).

 

{

    "message": "Connection Saved Successfully",
    "primaryConnectionId": "9349a8-0e07-44d0-944c-88a25d8d28f7",

    "status": "SUCCESS"

}

 

Sample response for a virtual device with an additional secondary device for high availability (HA).

 

{
    "message": "Connection Saved Successfully",
    "primaryConnectionId": "939a8-0e07-44d0-944c-86a25d8d38f7",

    "secondaryConnectionId": "7eadc4b3-a44c-4ce9-bdba-ead6d7789342",

    "status": "SUCCESS"
}

 

The description of the response payload is as follows:

 

Field Name Type Example values Description
message string Connection Saved Successfully Indicates the status of the API call.
primaryConnectionID string 9999a8-0e07-44d0-944c-88a25d8d28f7 Indicates the primary connection ID.
secondaryConnectionId string 7eadc4b3-a44c-4ce9-bdba-ead6d7789342 Optional secondary connection Id in case you have a secondary device for high availability (HA).
status string SUCCESS A message indicating the status of the transaction. 

 

When a connection is created, the connection transitions through various states within the Equinix infrastructure. These states can be monitored using the response attributes of the API Get connections {connId}. The "status" attribute indicates the connection status in Equinix and the "providerStatus" indicates the status at the enterprise's end.

 

Equinix States under /ne/v1/l2/connections/{connId}
status providerStatus Description
PENDING_APPROVAL NOT_AVAILABLE Connection request has been sent to seller and is awating approval.

The seller must approve or reject the connection at this point or the "status" and "providerStatus" would remain unchanged.

PROVISIONING

or

REJECTED

NOT_AVAILABLE

Connection establishment in progress.

or

The seller has rejected the connection.

PROVISIONED AVAILABLE

Connection established.

 

 

When an end-user deletes a connection using the  API  Get L2 connections {connId}  the connection transitions through the following states within the Equinix infrastructure. 

 

Equinix States under /ne/v1/l2/connections/{connId}
status providerStatus Description
PENDING_DELETE AVAILABLE Deletion request has been sent to seller and is awating approval.

The seller must approve this delete request to disconnect the connection and to stop billing.  Keep in mind that should the seller fail to approve the deletion request, the connection would still be considered active and charged accordingly.

DEPROVISIONING

AVAILABLE

Connection disbandment in progress.

or

The seller has rejected the request.

DEPROVISIONED NOT_AVAILABLE

Connection deleted.