Layer 2 Buyer APIs (v3 APIs will be deprecated June 2024)

GET User Port (v3)

GET /port/userport
Method GET
URL or Endpoint /ecx/v3/port/userport
Headers Authorization, Content-Type
Query Parameters Not applicable
Body Parameters Not applicable

The userport API returns the details of all assigned and available ports for the user credentials submitted. The authorization token and content-type are the only headers that are passed to this API and a response is received based on the values passed.

If you are unaware of how to obtain an authorization token, refer to Requesting Access and Refresh Tokens under the Getting Access Token section.

The following screenshots show a sample curl request to obtain all designated ports, and its respective JSON response containing the port information.

Copy
curl -X
GET "https://api.equinix.com/ecx/v3/port/userport"
-H "content-type: application/json"
-H "authorization: Bearer qwErtY8zyW1abcdefGHI"
Copy
[
    {
        "uuid": "c791f8cb-5a9f-a9f0-8ce0-306a5c00a4ee",
        "name": "testSeller-MX2-NL-Qinq-BO-PRI-10G-JN-423",
        "provisionStatus": "ADDED",
        "region": "AMER",
        "device": "5C28BC0BE201CBF78384D16461B99437",
        "totalBandwidth": 10000000000,
        "buyout": true,
        "cvpId": "1614873",
        "custOrgId": "91785",
        "custOrgName": "testSeller-270010",
        "ibx": "MX2",
        "metroCode": "MX",
        "metroDescription": "Mexico City",
        "deviceGroup": null,
        "devicePriority": "Primary",
        "encapsulation": "Qinq",
        "viewPortPermission": true,
        "placeVcOrderPermission": true,
        "createdDate": "2021-07-20 17:12:38.0",
        "lastUpdatedDate": "2021-07-20 17:12:38.0",
        "sharedPortType": "NA",
        "sharedPortProduct": "NA",
        "hasConnection": true,
        "projectId": null,
        "userPorts": [
            {
                "bandwidth": 10000000000,
                "crossConnectId": "ECX.01.00003255",
                "cabinetNumber": "Demarc",
                "cageNumber": "MX2:01:001042",
                "patchPanelName": null,
                "tagProtocolId": "0x9100",
                "portProvisionStatus": "PROVISIONED",
                "patchPanelPorts": null,
                "packageType": null,
                "customerPatchPanelName": "PP:Demarc:00001042",
                "customerPatchPanelPorts": "9,10",
                "customerIbx": "MX2"
            }
        ],
        "layer3Enabled": true,
        "lag": false
    }
]

Pay attention to the metroCode attribute received in the response, as this indicates where the connection would be established from. This can be cross-referenced with the response from /ecx/v3/l2/metros API to discover all the available metros where the user can connect to.

The description of the response payload is as follows:

Field Name Type Example Description
uuid string 9a1b30c7-baaf-aaf0-96e0-30ac188c7099 The unique identifier of the port.
name string johnDoePort The name assigned to the port.
provisionStatus string ADDED
PROVISIONED
Indicates whether a port has been assigned or is ready for connection.
region string AMER
EMEA
APAC
Indicates the region in which the port resides.
device string 1C00A955256C0027A0D544A68EE8C911 The device number/name on which the port resides.
totalBandwidth integer 1000000000 Port Bandwidth in bytes.
buyout boolean true
false
Indicates whether the port supports unlimited connections.
If "false", the port is a standard port with limited connections.
If "true", the port is an "unlimited connections" port that allows multiple connections at no additional charge.
custOrgId string 99966 The organization ID of the customer who owns the port.
custOrgName string testSeller-270010 Port owner's organization name.
ibx string SV1 The Equinix IBX where the port resides.
metroCode string SV The metro code of the metro where the port resides.
metroDescription string Silicon Valley The name of the metro where the port resides.
deviceGroup string 2 The group ID/number of the device where the port resides.
devicePriority string Primary
Secondary
The priority of the device (primary/secondary) where the port resides.
encapsulation string Dot1q
QinQ
The VLAN encapsulation of the port (Dot1q or QinQ).
viewPortPermission boolean true
false
If "false", outgoing connections from the port cannot be viewed.
placeVcOrderPermission boolean true
false
If "true", the user can create, modify or delete connections from this port.
createdDate string 2018-11-07 21:56:59.0 The date on which the port was created.
lastUpdatedDate string 2018-11-07 21:56:59.0 The date on which the port was last updated.
sharedPortType string - Type of shared port. A shared port is a single physical port that handles multiple virtual connections.
sharedPortProduct string - Name of the Equinix product associated with the shared port.
hasConnection boolean true Indicates that there's a connection associated with the given port.
userPorts array An array containing multiple port information.
bandwidth integer 1000000000 The port bandwidth in bytes.
crossConnectId string 20883104 The cross-connect ID associated with the member port.
cabinetNumber string Demarc Rack cabinet name.
patchPanelName string LL:upside:0001234 Equinix-side patch panel name.
tagProtocolId string 0x9100 Tagging protocol identifier.
portProvisionStatus string PROVISIONED Port provisioning status.
patchPanelPorts string 1,2 Equinix-side port numbers.
packageType string - Port package type.
customerPatchPanelName string PP:Demarc:00001042 Name of the customer-side patch panel where the given port is located.
customerPatchPanelPorts string 9,10 Customer-side port numbers.
customerIbx string MX2 IBX data center indentifier where the given port is located.
layer3Enabled boolean true
false
Indicates whether the port is enabled for Layer 3 connections.
lag boolean true
false
Indicates whether the port is part of a Link Aggregation Group (LAG).

If you get “Access Denied” error, contact your local Equinix Service Desk for Equinix Cloud Exchange Fabric Portal access.

GET Metros (v3)

GET /common/metros
Method GET
URL or Endpoint /ecx/v3/l2/common/metros
Headers Authorization, Content-Type
Query Parameters Not applicable
Body Parameters Not applicable

The metros API returns all available metros with ECX fabric ports where the user can connect to. The authorization token and content-type are the only headers that are passed to this API and a response is received based on the values passed.

If you are unaware of how to obtain an authorization token, refer to Requesting Access and Refresh Tokens under the Getting Access Token section.

The following screenshots show a sample curl request and JSON response for this API. The response indicates that a user can connect to Amsterdam (AM) from LD, FR, PA, DB, SK, ZH, HE, ML, WA and MD and vice versa.

Copy
curl -X
GET "https://api.equinix.com/ecx/v3/l2/common/metros"
-H "content-type: application/json"
-H "authorization: Bearer qwErtY8zyW1abcdefGHI"
Copy
[
    {
        "name": "Amsterdam",
        "code": "AM",
        "region": "EMEA",
        "cloudReach": [
            "LD",
            "FR",
            "PA",
            "DB",
            "SK",
            "ZH",
            "HE",
            "ML",
            "WA",
            "MD"
        ]
    }
]

The description of the response payload is as follows:

Field name Type Example Description
name string Amsterdam The name of the metro.
code string AM The two-character code used to denote the metro.
region string AMER
EMEA
APAC
The geographic region code where the metro resides. Three possible regions are “AMER”, “EMEA or “APAC”.
cloudReach string LD Other metros to which connections can be created from this location. (i.e., from Amsterdam you can create remote connections to London, Frankfurt, Paris, etc.)

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

GET Layer 2 Connection Price (v3)

GET l2/connections/prices
Method GET
URL or Endpoint /ecx/v3/l2/connections/prices
Headers Authorization, Content-Type
Query Parameters destinationMetro, portUUID
Body Parameters Not applicable

The GET prices API returns the estimated price of connection between a given port ID and metro. You can use the GET userport and GET metros API to retrieve your port and metro details. The authorization token and content-type are the only headers that are passed to this API and a response is received based on the values passed.

This API only provides an estimated price. Additional taxes and/or fees may apply depending on the metro you have selected.

If you are unaware of how to obtain an authorization token, refer to Requesting Access and Refresh Tokens under the Getting Access Token section.

The following screenshots show a sample curl request and its respective JSON response to get the price of a layer 2 connection from a given port to SV.

Copy
curl -X
GET "https://api.equinix.com/ecx/v3/l2/connections/prices?customSpeeds=50,100&destinationMetro=SV&portUUID=91469d07-dd6f-d6f2-1de0-37c8bc10af30"
-H "content-type: application/json"
-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

The description of the query parameters are as follows:

Query Parameter Name Mandatory Type Example Applicable Values Description
customSpeeds No array[string] 50 50
200
500
1000
2000
5000
10000
Speed/Bandwidth you intend to allocate to the connection.
destinationMetro Yes string SV The two-character code denoting the metro where you would like to connect.
portUUID Yes string 91469d07-dd6f-d6f2-1de0-37c8bc10af30 Unique identifier of the port from which the connection would be originated.
Copy
{
    "currency": "CHF",
    "originMetro": "GV",
    "destinationMetro": "SV",
    "priceList": [
        {
            "productName": "Equinix Fabric Service Provider Product",
            "connectionType": "localConnection",
            "prices": [
                {
                    "speedBillingTier": "50",
                    "price": "0"
                },
                {
                    "speedBillingTier": "200",
                    "price": "0"
                },
                {
                    "speedBillingTier": "500",
                    "price": "0"
                },
                {
                    "speedBillingTier": "1000",
                    "price": "0"
                },
                {
                    "speedBillingTier": "2000",
                    "price": "0"
                },
                {
                    "speedBillingTier": "5000",
                    "price": "0"
                },
                {
                    "speedBillingTier": "10000",
                    "price": "0"
                }
            ]
        },
        {
            "productName": "Equinix Fabric Remote Connection Product",
            "connectionType": "remoteConnection",
            "prices": [
                {
                    "speedBillingTier": "50",
                    "price": "230.0"
                },
                {
                    "speedBillingTier": "200",
                    "price": "400.0"
                },
                {
                    "speedBillingTier": "500",
                    "price": "580.0"
                },
                {
                    "speedBillingTier": "1000",
                    "price": "1280.0"
                },
                {
                    "speedBillingTier": "2000",
                    "price": "2150.0"
                },
                {
                    "speedBillingTier": "5000",
                    "price": "4945.0"
                },
                {
                    "speedBillingTier": "10000",
                    "price": "8380.0"
                }
            ]
        }
    ]
}

The description of the response payload is as follows:

Field Name Type Example Description
currency string CHF Specifies the currency in which the prices are shown. The currency indicated depends on where your port resides.
originMetro string GV The two-character code denoting the metro where the port resides and where the connection is established from.
destinationMetro string SV The two-character code denoting the metro where you would like to connect.
productName string Equinix Fabric Service Provider Product The name of the product.
connectionType string localConnection
remoteConnection
Indicates whether the pricing listed under is for a local connection or remote connection.
Local connections have a fixed charge depending on the speed you have selected, whereas remote connection prices comprise a local connection charge and remote surcharge.
prices array[object] An object containing the price details.
speedBillingTier string 50 The speed of the connection in MB.
price string 0 The price of the connection.

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

GET Layer 2 Service Profiles Services (v3)

GET l2/serviceprofiles/services
Method GET
URL or Endpoint /ecx/v3/l2/serviceprofiles/services
Headers Authorization, Content-Type
Query Parameters metroCode, pageNumber, pageSize
Body Parameters Not applicable

The services API returns all layer 2 seller service profiles available for the user to connect to. The authorization token and content-type are the only headers that are passed to this API and a response is received based on the values passed.

If you are unaware of how to obtain an authorization token, refer to Requesting Access and Refresh Tokens under the Getting Access Token section.

The following screenshots show a sample curl request to obtain details of layer 2 seller profiles within DC, USA and a JSON response containing details of a sample seller profile named John-Doe Demo.

Copy
curl -X
GET "https://api.equinix.com/ecx/v3/l2/serviceprofiles/services?pageSize=20&pageNumber=0&metroCode=Dc"
-H "content-type: application/json"
-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

The description of the query parameters are as follows:

Query Parameter Name Mandatory Type Example Applicable Values Description
pageSize No Integer 20 The number of items to be displayed per page. The server will return a set of pages with the requested number of items per page.
pageNumber No Integer 1 The page number of the page which is currently being displayed.
metroCode No array[string] DC The two-character code denoting the metro for which to retrieve service profiles. It can be a single code (&metroCode=Dc) or an array of codes (&metroCode=Dc&metroCode=Sv).
Copy
{
    "isLastPage": false,
    "totalCount": 23,
    "isFirstPage": true,
    "pageSize": 20,
    "content": [
        {
            "uuid": "97d1850f-4df0-468c-9281-fa7b0dfa2096",
            "name": "John-Doe Demo",
            "connectionNameLabel": "JohnDoeConnection",
            "requiredRedundancy": false,
            "allowCustomSpeed": false,
            "speedBands": [
                {
                    "speed": 50,
                    "unit": "MB"
                },
                {
                    "speed": 200,
                    "unit": "MB"
                },
                {
                    "speed": 500,
                    "unit": "MB"
                },
                {
                    "speed": 1000,
                    "unit": "MB"
                }
            ],
            "metros": [
                {
                    "code": "SV",
                    "name": "Silicon Valley",
                    "ibxs": [
                        "SV5"
                    ],
                    "displayName": "Silicon Valley"
                },
                {
                    "code": "DC",
                    "name": "Ashburn",
                    "ibxs": [
                        "DC11"
                    ],
                    "displayName": "Ashburn"
                }
            ],
            "createdDate": "2018-12-07T13:31:58.525Z",
            "createdBy": "John-Doe",
            "lastUpdatedDate": "2018-12-07T13:58:28.258Z",
            "lastUpdatedBy": "John-Doe",
            "vlanSameAsPrimary": false,
            "tagType": "BOTH",
            "apiAvailable": false,
            "selfProfile": false,
            "speedFromAPI": false,
            "profileEncapsulation": "Qinq",
            "authorizationKey": "[a-z|A-z|0-9]",
            "organizationName": "John-Doe-Corp",
            "private": false,
            "features": {
                "cloudReach": true,
                "testProfile": false
            }
        }
    ],
    "pageNumber": 0
}

The description of the response payload is as follows:

Field Name Type Example Description
isLastPage boolean true
false
Indicates whether the page being displayed is the last page.
totalCount integer 23 The number of items returned as a response for this API request.
isFirstPage boolean true
false
Indicates whether the page being displayed is the first page.
pageSize integer 20 The number of items to be displayed per page.
content array An array containing the response data.
uuid string 97d1850f-4df0-468c-9281-fa7b0dfa2096 The unique identifier of the service profile.
name string John-Doe Demo The name assigned to the service profile.
connectionNameLabel string JohnDoeConnection The label which the user will see when creating connections.
requiredRedundancy boolean true
false
Indicates whether redundant connections are required when connecting to this service profile.
If requireRedundancy is true, the user will either need two different ports (primary port and secondary port) for each connection or one port with two connections (primary and secondary).
allowCustomSpeed boolean true
false
Indicates whether the profile allows custom speed/bandwidth when creating connections to this profile.
speedBands array An array containing the speed/bandwidth supported by this profile.
speed double 50
200
500
1000
The speed/bandwidth supported by this profile.
unit string MB Unit of the speed/bandwidth supported by this profile.
metros array The metros associated with this profile.
code string SV The metro code denoting the metro where this service profile is available for creating connections.
name string Silicon Valley The name of the metro where this service profile is available for creating connections.
ibxs string SV5 Equinix IBXs associated with this metro.
displayName string Silicon Valley The name displayed when referring to this metro.
createdDate string 2018-12-07T13:31:58.525Z The date on which the service profile was created.
createdBy string John-Doe The username of the user who created the service profile.
lastUpdatedDate string 2018-12-07T13:58:28.258Z The date on which the service profile was last updated.
lastUpdatedBy string John-Doe The username of the user who last updated the service profile.
vlanSameAsPrimary boolean true
false
Indicates whether the same VLAN can be used for both primary and secondary connections.
tagType string CTAGED
BOTH
NAMED
The type of tagging to be used when connecting to this service profile. The default value is CTAGED.
apiAvailable boolean true
false
Indicates whether the service profile has been integrated via APIs with Equinix for automated provisioning of connections.
selfProfile boolean true
false
Indicates whether the profile is an internal profile used for creating connections within the seller organization.
speedfromAPI boolean true
false
Indicates whether the bandwidth of the connection can be obtained directly from the cloud service provider.
profileEncapsulation string Dot1q
Qinq
The type of port encapsulation supported by this profile. Applicable values are Dot1q and QinQ.
authorizationKey string [a-z|A-z|0-9] Authorization Key obtained from the provider to create connections to this profile. e.g. - Account ID for AWS, Service key for Azure, etc
organizationName string John-Doe-Corp The name of the seller service organization associated with this service profile.
private boolean true
false
Indicates whether this is a private profile. Unlike public profiles such as AWS/Azure/Oracle/Google, etc, users can only create connections to private profiles after the seller has granted permissions.
features object An object containing feature-related information such as cloudReach, testProfile, etc.
cloudReach boolean true
false
Indicates whether connections to this profile can be created from remote metros.
testProfile boolean true
false
Indicates whether this profile can be used for test connections.
pageNumber integer 0 The page number of the page which is currently being displayed.

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

GET Layer 2 Service Profiles Services {uuid} (v3)

GET l2/serviceprofiles/services/{uuid}
Method GET
URL or Endpoint /ecx/v3/l2/serviceprofiles/services/{uuid}
Headers Authorization, Content-Type
Query Parameters Not applicable
Body Parameters Not applicable

The services API returns the details of a given layer 2 service profile uuid. The authorization token and content-type are the only headers that are passed to this API and a response is received based on the values passed.

Uuid is an identifier unique for each service profile.

If you are unaware of how to obtain an authorization token, refer to Requesting Access and Refresh Tokens under the Getting Access Token section.

The following screenshots show a sample curl request to obtain L2 seller details for the ID 97d1850f-4df0-468c-9281-fa7b0dfa2096 and a JSON response containing details of a sample seller named John-Doe Demo.

Copy
curl -X
GET "https://api.equinix.com/ecx/v3/l2/serviceprofiles/services/97d1850f-4df0-468c-9281-fa7b0dfa2096"
-H "content-type: application/json"
-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

The description of the URL parameter is as follows:

URL Parameter Name Mandatory Type Example Applicable Values Description
UUID Yes string 97d1850f-4df0-468c-9281-fa7b0dfa2096 The unique identifier of the service profile.
Copy
{
    "uuid": "97d1850f-4df0-468c-9281-fa7b0dfa2096",
    "name": "John-Doe Demo",
    "connectionNameLabel": "JohnDoeConnection",
    "requiredRedundancy": false,
    "allowCustomSpeed": false,
    "speedBands": [
        {
            "speed": 50,
            "unit": "MB"
        },
        {
            "speed": 200,
            "unit": "MB"
        },
        {
            "speed": 500,
            "unit": "MB"
        },
        {
            "speed": 1000,
            "unit": "MB"
        }
    ],
    "metros": [
        {
            "code": "SV",
            "name": "Silicon Valley",
            "ibxs": [
                "SV5"
            ],
            "displayName": "Silicon Valley"
        },
        {
            "code": "DC",
            "name": "Ashburn",
            "ibxs": [
                "DC11"
            ],
            "displayName": "Ashburn"
        }
    ],
    "createdDate": "2018-12-07T13:31:58.525Z",
    "createdBy": "John-Doe",
    "lastUpdatedDate": "2018-12-07T13:58:28.258Z",
    "lastUpdatedBy": "John-Doe",
    "vlanSameAsPrimary": false,
    "tagType": "BOTH",
    "apiAvailable": false,
    "selfProfile": false,
    "speedFromAPI": false,
    "profileEncapsulation": "Qinq",
    "authorizationKey": "[a-z|A-z|0-9]",
    "organizationName": "John-Doe-Corp",
    "private": false,
    "features": {
        "cloudReach": true,
        "testProfile": false
    }
}

The description of the response payload is as follows:

Field Name Type Example Description
uuid string 97d1850f-4df0-468c-9281-fa7b0dfa2096 The unique identifier of the service profile.
name string John-Doe Demo The name assigned to the service profile.
connectionNameLabel string JohnDoeConnection The label which the user will see when creating connections.
requiredRedundancy boolean true
false
Indicates whether redundant connections are required when connecting to this service profile.
If requireRedundancy is true, the user will either need two different ports (primary port and secondary port) for each connection or one port with two connections (primary and secondary).
allowCustomSpeed boolean true
false
Indicates whether the profile allows custom speed/bandwidth when creating connections to this profile.
speedBands string An array containing the speed/bandwidth supported by this profile.
speed double 50
200
500
1000
The speed/bandwidth supported by this profile.
unit string MB Unit of the speed/bandwidth supported by this profile.
metros array The metros associated with this profile.
code string SV The metro code denoting the metro where this service profile is available for creating connections.
name string Silicon Valley The name of the metro where this service profile is available for creating connections
ibxs string SV5 Equinix IBXs associated with this metro.
displayName string Silicon Valley The name displayed when referring to this metro.
createdDate string 2018-12-07T13:31:58.525Z The date on which the service profile was created.
createdBy string John-Doe The username of the user who created the service profile.
lastUpdatedDate string 2018-12-07T13:58:28.258Z The date on which the service profile was last updated.
lastUpdatedBy string John-Doe The username of the user who last updated the service profile.
vlamSameAsPrimary boolean true
false
Indicates whether the same VLAN can be used for both primary and secondary connections.
tagType string CTAGED
BOTH
NAMED
The type of tagging to be used when connecting to this service profile. The default value is CTAGED.
apiAvailable boolean true
false
Indicates whether the service profile has been integrated via APIs with Equinix for automated provisioning of connections.
selfProfile boolean true
false
Indicates whether the profile is an internal profile used for creating connections within the seller organization.
speedfromAPI string true
false
Indicates whether the bandwidth of the connection can be obtained directly from the cloud service provider.
profileEncapsulation string Dot1q
Qinq
The type of port encapsulation supported by this profile. Applicable values are Dot1q and QinQ.
authorizationKey string [a-z|A-z|0-9] Authorization Key obtained from the provider to create connections to this profile. e.g. - Account ID for AWS, Service key for Azure, etc
organizationName string John-Doe-Corp The name of the seller service organization associated with this service profile.
private boolean true
false
Indicates whether this is a private profile. Unlike public profiles such as AWS/Azure/Oracle/Google, etc, users can only create connections to private profiles after the seller has granted permissions.
features object An object containing feature-related information such as cloudReach, testProfile, etc.
cloudReach boolean true
false
Indicates whether connections to this profile can be created from remote metros.
testProfile boolean true
false
Indicates whether this profile can be used for test connections.

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

GET Layer 2 Validate Authorization Key (v3)

GET l2/connections/validateAuthorizationKey
Method GET
URL or Endpoint /ecx/v3/l2/connections/validateAuthorizationKey
Headers Authorization, Content-Type
Query Parameters authorizationKey,metroCode, profileId, region
Body Parameters Not applicable

The validateAuthorizationKey API validates the authorization key (AWS account ID/ Microsoft service key/ Google pairing key etc). to connect to cloud service providers. The authorization token and content-type are the only headers that are passed to this API and a response is received based on the values passed.

If you are unaware of how to obtain an authorization token, refer to Requesting Access and Refresh Tokens under the Getting Access Token section.

The following screenshots show a sample curl request to validate an L2 service key against a service profile in DC, and its respective JSON response.

Copy
curl -X
GET "https://api.equinix.com/ecx/v3/l2/connections/validateAuthorizationKey?authorizationKey=991040a8-2e08-48b9-b0f8-8c5f87dfbx6a&metroCode=DC&profileId=x1384t22-bbe0-4e43-ax37-95beeg9d254d&region=AMER
-H "content-type: application/json"
-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

The description of the query parameters are as follows:

Query Parameter Name Mandatory Type Example Applicable Values Description
authorizationKey Yes string 991040a8-2e08-48b9-b0f8-8c5f87cfbx6a Connection credentials such as account ID for AWS, service key for Azure, pairing key for Google, cloud ID for Oracle.
metroCode Yes string DC The two-character code denoting the metro.
profileId Yes string x1384t22-bbe0-4e43-ax37-95beeg9d254d The unique identifier of the service profile.
region Yes string AMER "AMER"
"EMEA"
"APAC"
The region where the port resides.
Copy
{
    "message": "Authorization key provided is valid",
    "status": "VALID",
    "primary": {
        "bandwidth": "50MB"
    },
    "secondary": {
        "bandwidth": "50MB"
    }
}

The description of the response payload is as follows:

Field Name Type Example Description
message string Authorization key provided is valid A message indicating whether the submitted key is valid or invalid.
status string VALID
INVALID
Indicates whether the submitted key is valid or invalid.
primary object An object containing primary connection information.
bandwidth string 50MB The bandwidth/speed of the primary connection.
secondary object An object containing secondary connection information.
bandwidth string 50MB The bandwidth/speed of the secondary connection.

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

GET Layer 2 Buyer Connections (v3)

GET l2/buyer/connections
Method GET
URL or Endpoint /ecx/v3/l2/buyer/connections
Headers Authorization, Content-Type
Query Parameters status, metroCode, authorizationKey, buyerPortName, buyerPortUUID, searchtType, subAccount, pageNumber, pageSize
Body Parameters Not applicable

The connections API returns all outgoing connections of the user. The authorization token and content-type are the only headers that are passed to this API and a response is received based on the values passed.

If you are unaware of how to obtain an authorization token, refer to Requesting Access and Refresh Tokens under the Getting Access Token section.

The following screenshots show a sample curl request and its JSON response to obtain all outgoing layer 2 connections for the user credentials submitted.

Copy
curl -X
                    GET "https://api.equinix.com/ecx/v3/l2/buyer/connections?metroCode=DC"
                    -H "content-type: application/json"
                    -H "authorization: Bearer qwErtY8zyW1abcdefGHI"

The description of the query parameters are as follows:

Query Parameter Name Mandatory Type Example Applicable Values Description
status No array[string] PROVISIONED "PROVISIONED"
"DEPROVISIONED"
"PENDING_APPROVAL"
Indicates the status of the connection at Equinix's end (A-Side).
metroCode No string DC The 2 character code denoting the metro to which connections have been created. It can be a single code (&metroCode=Dc) or an array of codes (&metroCode=Dc&metroCode=Sv).
authorizationKey No string Connection credentials required to create a layer 2 connection. For example, account ID for AWS, service key for Azure, pairing key for Google, cloud ID for Oracle.
buyerPortName No string JohnDoePort The name of the buyer port.
buyerPortUUID No string 006d08e2-788e-4c83-82d3-07b1787644a5 The unique identifier of the buyer port.
sellerPortName No string JohnDoe2Port The name of the seller port.
searchType No string AND "AND"
"OR"
Querying operations.
subAccount No string 456 This parameter is only applicable to resellers
pageNumber No integer 1 The page number of the page which is currently being displayed.
pageSize No integer 20 The number of items to be displayed per page. The server will return a set of pages with the requested number of items per page.
Copy
{
    "isFirstPage": true,
    "totalCount": 467,
    "isLastPage": false,
    "pageSize": 20,
    "content": [
        {
            "buyerOrganizationName": "JOHN-DOE-ORG",
            "uuid": "006d08e2-788e-4c83-82d3-07b1787644a5",
            "name": "SAL-AZURE-TR-SEC-20",
            "vlanSTag": 200,
            "portUUID": "66284add-86d1-6d10-b4e0-30ac094f8af1",
            "portName": "JOHN DOE TEST",
            "asideEncapsulation": "dot1q",
            "metroCode": "TR",
            "metroDescription": "Toronto",
            "providerStatus": "DEPROVISIONED",
            "status": "DEPROVISIONED",
            "billingTier": "Up to 50 MB",
            "authorizationKey": "99973578-36f9-47f8-b12f-afa3faf02d06",
            "speed": 50,
            "speedUnit": "MB",
            "redundancyType": "secondary",
            "redundancyGroup": "28c02121-f093-4340-90c9-081b17b239c8",
            "sellerMetroCode": "TR",
            "sellerMetroDescription": "Toronto",
            "sellerServiceName": "Azure Express Route",

            "sellerServiceUUID": "a1390b22-bbe0-4e93-ad37-85beef9d254d",
            "sellerOrganizationName": "John Doe Org",
            "notifications": [
                "JohnDoe@equinix.com"
            ],

            "namedTag": "Private",
            "createdDate": "2018-08-30T04:20:36.033Z",
            "createdBy": "JohnDoe@equinix.com",
            "createdByFullName": "JohnDoe",
            "createdByEmail": "JohnDoe@equinix.com",
            "lastUpdatedDate": "2018-09-14T02:21:06.425Z",
            "deletedBy": "JohnDoe@equinix.com",
            "deletedDate": "2018-09-02T16:03:36.349Z",
            "deletedByEmail": "JohnDoe@equinix.com",
            "zSidePortName": "John-Port",
            "zSidePortUUID": "6f5680ea-1513-5130-50e0-30ac094f83ec",
            "zSideVlanSTag": 8,
            "remote": false,
            "private": false,
            "self": false

        }
    ],
    "pageNumber": 0
}

The description of the response payload is as follows:

Field Type Example Values Description
pageSize integer 20 The number of items to be displayed per page.
content object An array containing the response data.
asideEncapsulation string "Dot1q"
"Qinq"
The encapsulation of the buyer port (Applicable values are Dot1q or QinQ).
authorizationKey string 99973578-36f9-47f8-b12f-afa3faf02d06 Authorization Key obtained from the provider to create connections to this profile.
billingTier string Up to 50 MB Billing tier for connection.
buyerOrganizationName string JOHN-DOE-ORG Buyer organization name.
createdBy string JohnDoe@equinix.com The username of the user who created the connection.
createdByEmail string JohnDoe@equinix.com The email ID of the user who created the connection.
createdByFullName string JohnDoe The full name of the user who created the connection.
createdDate string 2018-08-30T04:20:36.033Z The date on which the connection was created.
lastUpdatedBy string The username of the user who updated the connection.
lastUpdatedDate string The date on which the connection was last updated.
lastUpdatedByEmail string The email ID of the user who updated the connection.
lastUpdatedByFullName string The full name of the user who last updated the connection.
namedTag string Private The type of peering to set up with Azure Express Route.
notification array[string] The email address of the contact who would be notified when there are any updates on this connection.
metroCode string TR The metro code denoting the source metro where this connection was created from.
metroDescription string The name of the metro where this connection was created from.
name string Name of the connection.
namedTag string Private
Public
Microsoft
Manual
The type of peering for Azure Express Route.
portName string JOHN DOE TEST The name assigned to the port.
portUUID string 66284add-86d1-6d10-b4e0-30ac094f8af1 The unique identifier of the port.
private boolean true
false
Indicates whether this connection is connected to a private profile.
purchaseOrderNumber string An optional field to link the purchase order numbers to the connection on Equinix which would be reflected on the invoice.
redundancyGroup string 28c02121-f093-4340-90c9-081b17b239c8 A unique ID that groups the primary and secondary connection.
redundancyType string secondary The type of connection. It can either be primary or secondary.
remote boolean true
false
Indicates whether the connection is a remote connection. (If the seller and buyer metros of the connection are different then it is a remote connection.)
self boolean true
false
Indicates whether the connection is a self-connection. (i.e. the source (A-side) and destination (Z-side) belongs to the same organization.)
sellerMetroCode string TR The metro code that denotes the connection’s destination (Z side).
sellerMetroDescription string Toronto The destination (Z side) metro of the connection.
sellerOrganizationName string John Doe Org The name of the seller service organization associated with this connection.
sellerServiceName string Azure Express Route The name of the seller service profile associated with this connection.
sellerServiceUUID string a1390b22-bbe0-4e93-ad37-85beef9d254d The ID of the seller service profile associated with this connection.
speed integer 50 Speed/Bandwidth be allocated to the connection.
speedUnit string MB Unit of the speed/bandwidth allocated to the connection.
providerStatus string "DEPROVISIONED"
"PROVISIONED"
"PENDING_APPROVAL"
"NOT_AVAILABLE"
"DEPROVISIONING"
"PROVISIONING"
"FAILED"
"PENDING_BGP"
"AVAILABLE"
"OUTOFBANDWIDTH"
"ERROR"
The status of the connection at the service provider's end.
status string DEPROVISIONED
PROVISIONED
The status of the connection at Equinix's end.
uuid string 006d08e2-788e-4c83-82d3-07b1787644a5 The unique identifier of the connection.
vlanSTag string 4 Stag name of the connection.
zSidePortName string John-Port The name of the Z side port.
zSidePortUUID string 6f5680ea-1513-5130-50e0-30ac094f83ec The unique identifier of the Z side port.
zSideVlanCTag integer 5 The C Tag of the Z side port.
zSideVlanSTag integer 8 The S Tag of the Z side port.
isFirstPage boolean true
false
Indicates whether the page being displayed is the first page.
isLastPage boolean true
false
Indicates whether the page being displayed is the last page.
pageNumber integer 20 The page number of the page which is currently being displayed.
totalCount integer 467 The number of items returned as the response for this API request.

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

GET Layer 2 Connections {uuid} (v3)

GET l2/connections/{uuid}
Method GET
URL or Endpoint /ecx/v3/l2/connections/{uuid}
Headers Authorization, Content-Type
Query Parameters Not applicable
Body Parameters Not applicable

The connections API returns connection details for a given L2 connection connID. The authorization token and content-type are the only headers that are passed to this API and a response is received based on the values passed.

Uuid is an identifier unique for each connection.

If you are unaware of how to obtain an authorization token, refer to Requesting Access and Refresh Tokens under the Getting Access Token section.

The following screenshots show a sample curl request to obtain L2 connection details for the ID 97d1850f-4df0-468c-9281-fa7b0dfa2096 and a JSON response containing connection information.

Copy
curl -X
GET "https://api.equinix.com/ecx/v3/l2/connections/006d08e2-788e-4c83-82d3-07b1787644a5"
-H "content-type: application/json"
-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

The description of the URL parameter is as follows:

URL Parameter Name Mandatory Type Example Applicable Values Description
uuid Yes string 006d08e2-788e-4c83-82d3-07b1787644a5 Identifier of connection.
Copy
{
    "isFirstPage": true,
    "totalCount": 467,
    "isLastPage": false,
    "pageSize": 20,
    "content": [
        {
            "buyerOrganizationName": "JOHN-DOE-ORG",
            "uuid": "006d08e2-788e-4c83-82d3-07b1787644a5",
            "name": "John-Doe",
            "vlanSTag": 200,
            "portUUID": "66284add-86d1-6d10-b4e0-30ac094f8af1",
            "portName": "JOHN-DOE-PORT",
            "asideEncapsulation": "dot1q",
            "metroCode": "TR",
            "metroDescription": "Toronto",
            "providerStatus": "DEPROVISIONED",
            "status": "DEPROVISIONED",
            "billingTier": "Up to 50 MB",
            "authorizationKey": "12238-36f9-47f8-c12g-afr33af02d06",
            "speed": 50,
            "speedUnit": "MB",
            "redundancyType": "secondary",
            "redundancyGroup": "28c02121-f093-4340-90c9-081b17b239c8",
            "sellerMetroCode": "TR",
            "sellerMetroDescription": "Toronto",
            "sellerServiceName": "Azure Express Route",

            "sellerServiceUUID": "a1390b22-bbe0-4e93-ad37-85beef9d254d",
            "sellerOrganizationName": "JOHN ORG",
            "notifications": [
                "JohnDoe@equinix.com"
            ],

            "namedTag": "Private",
            "createdDate": "2018-08-30T04:20:36.033Z",
            "createdBy": "JohnDoe@equinix.com",
            "createdByFullName": "John Doe",
            "createdByEmail": "JohnDoe@equinix.com",
            "lastUpdatedDate": "2018-09-14T02:21:06.425Z",
            "deletedBy": "JohnDoe@equinix.com",
            "deletedDate": "2018-09-02T16:03:36.349Z",
            "deletedByEmail": "JohnDoe@equinix.com",
            "zSidePortName": "JOHN-DOE-PORT-B",
            "zSidePortUUID": "6f5680ea-1513-5130-50e0-30ac094f83ec",
            "zSideVlanSTag": 8,
            "remote": false,
            "private": false,
            "self": false

        }
    ],
    "pageNumber": 0
}

The description of the response payload is as follows:

Field Type Example Description
pageSize integer 20 The number of items to be displayed per page. The server will return a set of pages with the requested number of items per page.
content object An array containing the response data.
asideEncapsulation string Dot1q
Qinq
The encapsulation of the buyer port (Dot1Q or QinQ).
authorizationKey string 1233548-36g9-47f8-b12f-afa3faf02d06 The authorization key to be used by the user/customer when creating connections to this profile.
billingTier string Up to 50 MB Billing tier for connection.
buyerOrganizationName string JOHN-DOE-ORG Buyer organization name.
createdBy string JohnDoe@equinix.com The username who created the connection.
createdByEmail string JohnDoe@equinix.com The email ID of the user who created the connection.
createdByFullName string John Doe The full name of the user who created the connection.
createdDate string 2018-08-30T04:20:36.033Z The date on which the connection was created.
lastUpdatedBy string The username who updated the connection.
lastUpdatedDate string 2018-09-14T02:21:06.425Z The date on which the connection was last updated.
lastUpdatedByEmail string The email ID of the user who updated the connection.
lastUpdatedByFullName string The full name of the user who updated the connection.
namedTag string Private The type of peering you would like to set up with Azure Express Route.
notification array JohnDoe@equinix.com Email address of the contact to be notified for any updates on the connection.
metroCode string TR The metro code denoting the source metro from where the connection has been created.
metroDescription string Toronto The metro name where connections to this service profile can be created.
name string John-Doe Name of the connection.
namedTag string "Private"
"Public"
"Microsoft"
"Manual"
The type of peering for Azure Express Route.
portName string JOHN-DOE-PORT The name assigned to the port.
portUUID string 66284add-86d1-6d10-b4e0-30ac094f8af1 The unique identifier of the port.
private boolean true
false
Indicates whether or not this is a private profile. If private, it can only be available for creating connections if correct permissions are granted (i.e. not public like AWS/Azure/Oracle/Google, etc.)
purchaseOrderNumber string An optional field to link the purchase order numbers to the connection on Equinix which would get reflected on the invoice.
redundancyGroup string 28c02121-f093-4340-90c9-081b17b239c8 Grouping of a primary and secondary connection using a unique ID.
redundancyType string "primary"
"secondary"
The type of connection.
remote boolean true
false
Indicates whether the connection is a remote connection. (i.e. if the seller and buyer metros are different then it's a remote connection)
self boolean true
false
Indicates whether the connection belongs to your organization. (i.e. source and destination belongs to your organization)
sellerMetroCode string TR The metro code denoting the destination metro where the connection has been created to.
sellerMetroDescription string Toronto The metro name indicating the destination metro where the connection has been created to.
sellerOrganizationName string JOHN ORG Seller organization name associated with the connection.
sellerServiceName string Azure Express Route Seller service associated with the connection.
sellerServiceUUID string a1390b22-bbe0-4e93-ad37-85beef9d254d Seller service ID associated with the connection.
speed integer 50 Bandwidth speed
speedUnit string MB
GB
The unit of bandwidth speed.
providerStatus string DEPROVISIONED
PROVISIONED
PENDING_APPROVAL
NOT_AVAILABLE
DEPROVISIONING
PROVISIONING
FAILED
PENDING_BGP
AVAILABLE
OUTOFBANDWIDTH
ERROR
The status of the connection at the service provider's end.
status string DEPROVISIONED The status of the connection at Equinix's end.
uuid string 006d08e2-788e-4c83-82d3-07b1787644a5 The unique identifier of the connection.
vlanSTag string 5 Stag name of the connection.
zSidePortName string JOHN-DOE-PORT-B" The name of the Z side port.
zSidePortUUID string 66284add-86d1-6d10-b4e0-30ac094f8af1 The unique identifier of the Z side port.
zSideVlanCTag integer 5 The C Tag of the Z side port.
zSideVlanSTag integer 8 The S Tag of the Z side port.
isFirstPage boolean true
false
Indicates whether the page being displayed is the first page.
isLastPage boolean true
false
Indicates whether the page being displayed is the last page.
pageNumber integer 20 The page number of the page which is currently being displayed.
totalCount integer 450 The number of items returned as the response for the API request.

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

GET Port Stats (v3)

GET /stats/port
Method GET
URL or Endpoint /ecx/v3/stats/port
Headers Authorization, Content-Type
Query Parameters startDate, endDate
Body Parameters Not applicable

The port stats API retrieves the inbound and outbound traffic utilization statistics of a given port for a specified time. The authorization token and content-type are the only headers that are passed to this API and a response is received based on the values passed.

If you are unaware of how to obtain an authorization token, refer to Requesting Access and Refresh Tokens under the Getting Access Token section.

The following screenshots show a sample curl request and its JSON response to obtain the usage stats of a port between July 24th, 2019 and August 24th, 2019.

Copy
curl -X
GET "https://api.equinix.com/ecx/v3/stats/port/67344add-9351-3510-b4e0-30ac094f8af1?startDate=2019-07-24T05:12:44Z&endDate=2019-08-24T05:12:44Z"
-H "content-type: application/json"
-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

The description of the query parameters are as follows:

Query Parameter Name Mandatory Type Example Applicable Values Description
startDate Yes Date 2019-07-24T05:12:44Z Start date in UTC.
endDate Yes Date 2019-08-24T05:12:44Z End date in UTC.
Copy
{
    "capacity": 1000000000,
    "inboundMax": 0.002355751111111111,
    "inboundAvg": 0.0010500154503046038,
    "outboundMax": 0.0006338511111111111,
    "outboundAvg": 0.0003315938400648824,
    "inboundLastPolled": 0.0011289177777777776,
    "outboundLastPolled": 0.00030397999999999997,
    "inboundStats": [
        {
            "time": "2019-07-24T05:00:00Z",
            "max": 0.0009884177777777778,
            "mean": 0.0009884177777777778
        },
        {
            "time": "2019-07-24T09:00:00Z",
            "max": 0.0009884177777777778,
            "mean": 0.0009884177777777778
        }],

    "outboundStats": [
        {
            "time": "2019-10-16T14:00:00Z",
            "max": 0.00014062666666666665,
            "mean": 0.00014062666666666665
        },
        {
            "time": "2019-10-16T15:00:00Z",
            "max": 0.0003326533333333333,
            "mean": 0.0003326533333333333
        }

}

The description of the response payload is as follows:

Field Name Type Example Description
capacity integer 1000000000 Port Bandwidth in bits.
inboundMax integer 0.002355751111111111 Maximum inbound traffic for the given time frame.
inboundAvg integer 0.0010500154503046038 Average inbound traffic for the given time frame.
outboundMax integer 0.0006338511111111111 Maximum outbound traffic for the given time frame.
outboundAvg integer 0.0003315938400648824 Average outbound traffic for the given time frame.
inboundLastPolled integer 0.0011289177777777776 Last recorded inbound traffic.
outboundLastPolled integer 0.00030397999999999997 Last recorded outbound traffic.
inboundStats array An array containing inbound usage statistics. The data is displayed based on the start and end date query parameters.
If the start and end time period is between 1 and 7 days, the stats are displayed in 5-minute intervals.
If the time period is between 7 days and 90 days, the stats are displayed in 1-hour intervals.
time string 2019-07-24T05:00:00Z The time at which the data was recorded. The time format is UTC.
max integer 0.0009884177777777778 The maximum traffic for a given interval.
mean integer 0.0009884177777777778 The average traffic for a given interval.
outboundStats array An array containing inbound usage statistics.

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

DELETE Layer 2 Connections {uuid} (v3)

DELETE l2/connections/{uuid}
Method DELETE
URL or Endpoint /ecx/v3/l2/connections/{uuid}
Headers Authorization, Content-Type
Query Parameters Not applicable
Body Parameters Not applicable

This API deletes a given layer 2 connection. The authorization token and content-type are the only headers that are passed to this API and a response is received based on the values passed.

Uuid is an identifier unique for each connection.

If you are unaware of how to obtain an authorization token, refer to Requesting Access and Refresh Tokens under the Getting Access Token section.

The following screenshots show a sample curl request and its JSON response to delete a connection with UUID 702d31c4-c66d-49b0-a26c-a9a234e56fsb.

Copy
curl -X
DELETE "https://api.equinix.com/ecx/v3/l2/connections/702d31c4-c66d-49b0-a26c-a9a234e56fsb"
-H "content-type: application/json"
-H "authorization: Bearer qwErtY8zyW1abcdefGHI"
Copy
{
    "message": "Connection deleted Successfully",
    "primaryConnectionId": "702d31c4-c66d-49b0-a26c-a9a234e56fsb"
}

The description of the response payload is as follows:

Field Name Type Example values Description
message string Connection deleted Successfully Indicates the status of the API call.
primaryConnectionID string 702d31c4-c66d-49b0-a26c-a9a234e56fsb Indicates the primary connection ID.

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

Once the API is successfully called, you may verify the status of the connection using the API /ecx/v3/l2/connections/{connId}