Skip to main content
Index

Layer 2 Buyer APIs (V3)

GET User Port

GET /port/userport

 Method  GET
 URL or End Point  /ecx/v3/port/userport
 Headers  Authorization, Content-Type
 Query Parameters  Not applicable
 Body  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 Started section.

 

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

 

curl -X

GET "https://api.equinix.com/ecx/v3/port/userport"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

 

[
    {
        "uuid": "9a1b30c7-baaf-aaf0-96e0-30ac188c7099",
        "name": "johnDoePort",
        "provisionStatus": "ADDED",
        "region": "AMER",
        "device": "1C00A955256C0027A0D544A68EE8C911",
        "totalBandwidth": 1000000000,
        "buyout": true,
        "custOrgId": "99966",
        "ibx": "SV1",
        "metroCode": "SV",
        "metroDescription": "Silicon Valley",
        "deviceGroup": "2",
        "devicePriority": "Primary",
        "encapsulation": "Dot1q",
        "viewPortPermission": true,
        "placeVcOrderPermission": true,
        "createdDate": "2018-11-07 21:56:59.0",
        "lastUpdatedDate": "2018-11-07 21:56:59.0",
        "userPorts": [
            {
                "bandwidth": 1000000000,
                "crossConnectId": "20883104"
            }
        ],
        "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.
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.
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.
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 Fabric Portal access.

GET Metros

GET /common/metros

GET /common/metros

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

 

This GET Metros call returns all available metros that have configured Equinix Fabric ports to which the user can connect. The authorization token and content-type are required headers, and there is no request body for this GET call. A response is returned 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 Started 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.

 

curl -X

GET "https://api.equinix.com/ecx/v3/l2/common/metros"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

 

[
    {
        "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 Cloud Exchange Fabric Portal access.

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

 

The GET Metros call returns all available metros with Equinix Fabric ports to which the user can connect. 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 Started 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.

 

curl -X

GET "https://api.equinix.com/ecx/v3/l2/common/metros"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

 

[
    {
        "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 Cloud Exchange Fabric Portal access.

GET Layer 2 Connection Price

GET l2/connections/prices

 Method  GET
 URL or End Point  /ecx/v3/l2/connections/prices
 Headers  Authorization, Content-Type
 Query Parameters  destinationMetro, portUUID
 Body  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 Started 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. 

 

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.

 

{
    "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 Cloud Exchange Fabric Portal access.

GET Layer 2 Service Profiles Services

GET l2/serviceprofiles/services

 Method  GET
 URL or End Point  /ecx/v3/l2/serviceprofiles/services
 Headers  Authorization, Content-Type
 Query Parameters  metroCode, pageNumber, pageSize
 Body  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 Started 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. 

 

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). 

 

{
    "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 Cloud Exchange Fabric Portal access.

GET Layer 2 Service Profiles Services {uuid}

GET l2/serviceprofiles/services/{uuid}

 Method  GET
 URL or End Point  /ecx/v3/l2/serviceprofiles/services/{uuid}
 Headers  Authorization, Content-Type
 Query Parameters  Not applicable
 Body  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 Started 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. 

 

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.
 

 

{
    "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 Cloud Exchange Fabric Portal access.

GET Layer 2 Validate Authorization Key

GET l2/connections/validateAuthorizationKey

 Method  GET
 URL or End Point  /ecx/v3/l2/connections/validateAuthorizationKey
 Headers  Authorization, Content-Type
 Query Parameters  authorizationKey,metroCode, profileId, region 
 Body  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 Started 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. 

 

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.

 

{
    "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 Cloud Exchange Fabric Portal access.

GET Layer 2 Buyer Connections

GET l2/buyer/connections

 Method  GET
 URL or End Point  /ecx/v3/l2/buyer/connections
 Headers  Authorization, Content-Type
 Query Parameters  status, metroCode, authorizationKey, buyerPortName, buyerPortUUID, searchtType, subAccount, pageNumber, pageSize
 Body  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 Started 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. 

 

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 is 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. 

 

{
    "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 Cloud Exchange Fabric Portal access.

GET Layer 2 Connections {uuid}

GET l2/connections/{uuid}

 Method  GET
 URL or End Point  /ecx/v3/l2/connections/{uuid}
 Headers  Authorization, Content-Type
 Query Parameters  Not applicable
 Body  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 Started 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. 

 

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.
 

 

{
    "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 Cloud Exchange Fabric Portal access.

GET Port Stats

GET /stats/port

 Method  GET
 URL or End Point  /ecx/v3/stats/port
 Headers  Authorization, Content-Type
 Query Parameters  startDate, endDate
 Body  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 Started 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. 

 

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.

 

{
    "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 Cloud Exchange Fabric Portal access.

DELETE Layer 2 Connections {uuid}

DELETE l2/connections/{uuid}

 Method  DELETE
 URL or End Point

 /ecx/v3/l2/connections/{uuid}

 Headers  Authorization, Content-Type
 Query Parameters  Not applicable
 Body  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 key, refer to Requesting Access and Refresh tokens under the Getting Started section.

 

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

 

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"

 

{
    "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 Cloud Exchange 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}