Skip to main content

Effective 10 September 2024, API Documentation can be found on our Equinix Product Documentation site.
The content on this page will not be updated after 1 Oct 2024 and will be inaccessible after 31st Dec 2024.


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

GET User Port (v3)

 GET /port/userport
MethodGET
URL or Endpoint/ecx/v3/port/userport
HeadersAuthorization, Content-Type
Query ParametersNot applicable
Body ParametersNot 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.

curl -X
GET "https://api.equinix.com/ecx/v3/port/userport"
-H "content-type: application/json"
-H "authorization: Bearer qwErtY8zyW1abcdefGHI"
[
{
"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 NameTypeExampleDescription
uuidstring9a1b30c7-baaf-aaf0-96e0-30ac188c7099The unique identifier of the port.
namestringjohnDoePortThe name assigned to the port.
provisionStatusstringADDED
PROVISIONED
Indicates whether a port has been assigned or is ready for connection.
regionstringAMER
EMEA
APAC
Indicates the region in which the port resides.
devicestring1C00A955256C0027A0D544A68EE8C911The device number/name on which the port resides.
totalBandwidthinteger1000000000Port Bandwidth in bytes.
buyoutbooleantrue
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.
custOrgIdstring99966The organization ID of the customer who owns the port.
custOrgNamestringtestSeller-270010Port owner's organization name.
ibxstringSV1The Equinix IBX where the port resides.
metroCodestringSVThe metro code of the metro where the port resides.
metroDescriptionstringSilicon ValleyThe name of the metro where the port resides.
deviceGroupstring2The group ID/number of the device where the port resides.
devicePrioritystringPrimary
Secondary
The priority of the device (primary/secondary) where the port resides.
encapsulationstringDot1q
QinQ
The VLAN encapsulation of the port (Dot1q or QinQ).
viewPortPermissionbooleantrue
false
If "false", outgoing connections from the port cannot be viewed.
placeVcOrderPermissionbooleantrue
false
If  "true", the user can create, modify or delete connections from this port.
createdDatestring2018-11-07 21:56:59.0The date on which the port was created.
lastUpdatedDatestring2018-11-07 21:56:59.0The date on which the port was last updated.
sharedPortTypestring-Type of shared port. A shared port is a single physical port that handles multiple virtual connections.
sharedPortProductstring-Name of the Equinix product associated with the shared port.
hasConnectionbooleantrueIndicates that there's a connection associated with the given port.
userPortsarrayAn array containing multiple port information.
bandwidthinteger1000000000The port bandwidth in bytes.
crossConnectIdstring20883104The cross-connect ID associated with the member port.
cabinetNumberstringDemarcRack cabinet name.
patchPanelNamestringLL:upside:0001234Equinix-side patch panel name.
tagProtocolIdstring0x9100Tagging protocol identifier.
portProvisionStatusstringPROVISIONEDPort provisioning status.
patchPanelPortsstring1,2Equinix-side port numbers.
packageTypestring-Port package type.
customerPatchPanelNamestringPP:Demarc:00001042Name of the customer-side patch panel where the given port is located.
customerPatchPanelPortsstring9,10Customer-side port numbers.
customerIbxstringMX2IBX data center indentifier where the given port is located.
layer3Enabledbooleantrue
false
Indicates whether the port is enabled for Layer 3 connections.
lagbooleantrue
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
MethodGET
URL or Endpoint/ecx/v3/l2/common/metros
HeadersAuthorization, Content-Type
Query ParametersNot applicable
Body ParametersNot 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.

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 nameTypeExampleDescription
namestringAmsterdamThe name of the metro.
codestringAMThe two-character code used to denote the metro.
regionstringAMER
EMEA
APAC
The geographic region code where the metro resides. Three possible regions are “AMER”, “EMEA or “APAC”.
cloudReachstringLDOther 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
MethodGET
URL or Endpoint/ecx/v3/l2/connections/prices
HeadersAuthorization, Content-Type
Query ParametersdestinationMetro, portUUID
Body ParametersNot 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.

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 NameMandatoryTypeExampleApplicable ValuesDescription
customSpeedsNoarray[string]5050
200
500
1000
2000
5000
10000
Speed/Bandwidth you intend to allocate to the connection.
destinationMetroYesstringSVThe two-character code denoting the metro where you would like to connect.
portUUIDYesstring91469d07-dd6f-d6f2-1de0-37c8bc10af30Unique 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  NameTypeExampleDescription
currencystringCHFSpecifies the currency in which the prices are shown. The currency indicated depends on where your port resides.
originMetrostringGVThe two-character code denoting the metro where the port resides and where the connection is established from.
destinationMetrostringSVThe two-character code denoting the metro where you would like to connect.
productNamestringEquinix Fabric Service Provider ProductThe name of the product.
connectionTypestringlocalConnection
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.
pricesarray[object]An object containing the price details.
speedBillingTierstring50The speed of the connection in MB.
pricestring0The 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
MethodGET
URL or Endpoint/ecx/v3/l2/serviceprofiles/services
HeadersAuthorization, Content-Type
Query ParametersmetroCode, pageNumber, pageSize
Body ParametersNot 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.

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 NameMandatoryTypeExampleApplicable ValuesDescription
pageSizeNoInteger20The number of items to be displayed per page. The server will return a set of pages with the requested number of items per page.
pageNumberNoInteger1The page number of the page which is currently being displayed.
metroCodeNoarray[string]DCThe 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  NameTypeExampleDescription
isLastPagebooleantrue
false
Indicates whether the page being displayed is the last page.
totalCountinteger23The number of items returned as a response for this API request.
isFirstPagebooleantrue
false
Indicates whether the page being displayed is the first page.
pageSizeinteger20The number of items to be displayed per page.
contentarrayAn array containing the response data.
uuidstring97d1850f-4df0-468c-9281-fa7b0dfa2096The unique identifier of the service profile.
namestringJohn-Doe DemoThe name assigned to the service profile.
connectionNameLabelstringJohnDoeConnectionThe label which the user will see when creating connections.
requiredRedundancybooleantrue
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).
allowCustomSpeedbooleantrue
false
Indicates whether the profile allows custom speed/bandwidth when creating connections to this profile.
speedBandsarrayAn array containing the speed/bandwidth supported by this profile.
speeddouble50
200
500
1000
The speed/bandwidth supported by this profile.
unitstringMBUnit of the speed/bandwidth supported by this profile.
metrosarrayThe metros associated with this profile.
codestringSVThe metro code denoting the metro where this service profile is available for creating connections.
namestringSilicon ValleyThe name of the metro where this service profile is available for creating connections.
ibxsstringSV5Equinix IBXs associated with this metro.
displayNamestringSilicon ValleyThe name displayed when referring to this metro.
createdDatestring2018-12-07T13:31:58.525ZThe date on which the service profile was created.
createdBystringJohn-DoeThe username of the user who created the service profile.
lastUpdatedDatestring2018-12-07T13:58:28.258ZThe date on which the service profile was last updated.
lastUpdatedBystringJohn-DoeThe username of the user who last updated the service profile.
vlanSameAsPrimarybooleantrue
false
Indicates whether the same VLAN can be used for both primary and secondary connections.
tagTypestringCTAGED
BOTH
NAMED
The type of tagging to be used when connecting to this service profile. The default value is CTAGED.
apiAvailablebooleantrue
false
Indicates whether the service profile has been integrated via APIs with Equinix for automated provisioning of connections.
selfProfilebooleantrue
false
Indicates whether the profile is an internal profile used for creating connections within the seller organization.
speedfromAPIbooleantrue
false
Indicates whether the bandwidth of the connection can be obtained directly from the cloud service provider.
profileEncapsulationstringDot1q
Qinq
The type of port encapsulation supported by this profile. Applicable values are Dot1q and QinQ.
authorizationKeystring[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
organizationNamestringJohn-Doe-CorpThe name of the seller service organization associated with this service profile.
privatebooleantrue
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.
featuresobjectAn object containing feature-related information such as cloudReach, testProfile, etc.
cloudReachbooleantrue
false
Indicates whether connections to this profile can be created from remote metros.
testProfilebooleantrue
false
Indicates whether this profile can be used for test connections.
pageNumberinteger0The 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}
MethodGET
URL or Endpoint/ecx/v3/l2/serviceprofiles/services/{uuid}
HeadersAuthorization, Content-Type
Query ParametersNot applicable
Body ParametersNot 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.

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 NameMandatoryTypeExampleApplicable ValuesDescription
UUIDYesstring97d1850f-4df0-468c-9281-fa7b0dfa2096The 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 TypeExampleDescription
uuidstring97d1850f-4df0-468c-9281-fa7b0dfa2096The unique identifier of the service profile.
namestringJohn-Doe DemoThe name assigned to the service profile.
connectionNameLabelstringJohnDoeConnectionThe label which the user will see when creating connections.
requiredRedundancybooleantrue
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).
allowCustomSpeedbooleantrue
false
Indicates whether the profile allows custom speed/bandwidth when creating connections to this profile.
speedBandsstringAn array containing the speed/bandwidth supported by this profile.
speeddouble50
200
500
1000
The speed/bandwidth supported by this profile.
unitstringMBUnit of the speed/bandwidth supported by this profile.
metrosarrayThe metros associated with this profile.
codestringSVThe metro code denoting the metro where this service profile is available for creating connections.
namestringSilicon ValleyThe name of the metro where this service profile is available for creating connections
ibxsstringSV5Equinix IBXs associated with this metro.
displayNamestringSilicon ValleyThe name displayed when referring to this metro.
createdDatestring2018-12-07T13:31:58.525ZThe date on which the service profile was created.
createdBystringJohn-DoeThe username of the user who created the service profile.
lastUpdatedDatestring2018-12-07T13:58:28.258ZThe date on which the service profile was last updated.
lastUpdatedBystringJohn-DoeThe username of the user who last updated the service profile.
vlamSameAsPrimarybooleantrue
false
Indicates whether the same VLAN can be used for both primary and secondary connections.
tagTypestringCTAGED
BOTH
NAMED
The type of tagging to be used when connecting to this service profile. The default value is CTAGED.
apiAvailablebooleantrue
false
Indicates whether the service profile has been integrated via APIs with Equinix for automated provisioning of connections.
selfProfilebooleantrue
false
Indicates whether the profile is an internal profile used for creating connections within the seller organization.
speedfromAPIstringtrue
false
Indicates whether the bandwidth of the connection can be obtained directly from the cloud service provider.
profileEncapsulationstringDot1q  
Qinq
The type of port encapsulation supported by this profile. Applicable values are Dot1q and QinQ.
authorizationKeystring[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
organizationNamestringJohn-Doe-CorpThe name of the seller service organization associated with this service profile.
privatebooleantrue
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.
featuresobjectAn object containing feature-related information such as cloudReach, testProfile, etc.
cloudReachbooleantrue
false
Indicates whether connections to this profile can be created from remote metros.
testProfilebooleantrue
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
MethodGET
URL or Endpoint/ecx/v3/l2/connections/validateAuthorizationKey
HeadersAuthorization, Content-Type
Query ParametersauthorizationKey,metroCode, profileId, region
Body ParametersNot 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.

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 NameMandatoryTypeExampleApplicable ValuesDescription
authorizationKeyYesstring991040a8-2e08-48b9-b0f8-8c5f87cfbx6aConnection credentials such as account ID for AWS, service key for Azure, pairing key for Google, cloud ID for Oracle.
metroCodeYesstringDCThe two-character code denoting the metro.
profileIdYesstringx1384t22-bbe0-4e43-ax37-95beeg9d254dThe unique identifier of the service profile.
regionYesstringAMER"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 NameTypeExampleDescription
messagestringAuthorization key provided is validA message indicating whether the submitted key is valid or invalid.
statusstringVALID
INVALID
Indicates whether the submitted key is valid or invalid.
primaryobjectAn object containing primary connection information.
bandwidthstring50MBThe bandwidth/speed of the primary connection.
secondaryobjectAn object containing secondary connection information.
bandwidthstring50MBThe 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
MethodGET
URL or Endpoint/ecx/v3/l2/buyer/connections
HeadersAuthorization, Content-Type
Query Parametersstatus, metroCode, authorizationKey, buyerPortName, buyerPortUUID, searchtType, subAccount, pageNumber, pageSize
Body ParametersNot 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.

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 NameMandatoryTypeExampleApplicable ValuesDescription
statusNoarray[string]PROVISIONED"PROVISIONED"
"DEPROVISIONED"
"PENDING_APPROVAL"
Indicates the status of the connection at Equinix's end (A-Side).
metroCodeNostringDCThe 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).
authorizationKeyNostringConnection 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.
buyerPortNameNostringJohnDoePortThe name of the buyer port.
buyerPortUUIDNostring006d08e2-788e-4c83-82d3-07b1787644a5The unique identifier of the buyer port.
sellerPortNameNostringJohnDoe2PortThe name of the seller port.
searchTypeNostringAND"AND"
"OR"
Querying operations.
subAccountNostring456This parameter is only applicable to resellers
pageNumberNointeger1The page number of the page which is currently being displayed.
pageSizeNointeger20The 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:

FieldTypeExample ValuesDescription
pageSizeinteger20The number of items to be displayed per page.
contentobjectAn array containing the response data.
asideEncapsulationstring"Dot1q"
"Qinq"
The encapsulation of the buyer port (Applicable values are Dot1q or QinQ).
authorizationKeystring99973578-36f9-47f8-b12f-afa3faf02d06Authorization Key obtained from the provider to create connections to this profile.
billingTierstringUp to 50 MBBilling tier for connection.
buyerOrganizationNamestringJOHN-DOE-ORGBuyer organization name.
createdBystringJohnDoe@equinix.comThe username of the user who created the connection.
createdByEmailstringJohnDoe@equinix.comThe email ID of the user who created the connection.
createdByFullNamestringJohnDoeThe full name of the user who created the connection.
createdDatestring2018-08-30T04:20:36.033ZThe date on which the connection was created.
lastUpdatedBystringThe username of the user who updated the connection.
lastUpdatedDatestringThe date on which the connection was last updated.
lastUpdatedByEmailstringThe email ID of the user who updated the connection.
lastUpdatedByFullNamestringThe full name of the user who last updated the connection.
namedTagstringPrivateThe type of peering to set up with Azure Express Route.
notificationarray[string]The email address of the contact who would be notified when there are any updates on this connection.
metroCodestringTRThe metro code denoting the source metro where this connection was created from.
metroDescriptionstringThe name of the metro where this connection was created from.
namestringName of the connection.
namedTagstringPrivate
Public
Microsoft 
Manual
The type of peering for Azure Express Route.
portNamestringJOHN DOE TESTThe name assigned to the port.
portUUIDstring66284add-86d1-6d10-b4e0-30ac094f8af1The unique identifier of the port.
privatebooleantrue
false
Indicates whether this connection is connected to a private profile.
purchaseOrderNumberstringAn optional field to link the purchase order numbers to the connection on Equinix which would be reflected on the invoice.
redundancyGroupstring28c02121-f093-4340-90c9-081b17b239c8A unique ID that groups the primary and secondary connection.
redundancyTypestringsecondaryThe type of connection. It can either be primary or secondary.
remotebooleantrue
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.)
selfbooleantrue
false
Indicates whether the connection is a self-connection. (i.e. the source (A-side) and destination (Z-side) belongs to the same organization.)
sellerMetroCodestringTRThe metro code that denotes the connection’s destination (Z side).
sellerMetroDescriptionstringTorontoThe destination (Z side) metro of the connection.
sellerOrganizationNamestringJohn Doe OrgThe name of the seller service organization associated with this connection.
sellerServiceNamestringAzure Express RouteThe name of the seller service profile associated with this connection.
sellerServiceUUIDstringa1390b22-bbe0-4e93-ad37-85beef9d254dThe ID of the seller service profile associated with this connection.
speedinteger50Speed/Bandwidth be allocated to the connection.
speedUnitstringMBUnit of the speed/bandwidth allocated to the connection.
providerStatusstring"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.
statusstringDEPROVISIONED
PROVISIONED
The status of the connection at Equinix's end.
uuidstring006d08e2-788e-4c83-82d3-07b1787644a5The unique identifier of the connection.
vlanSTagstring4Stag name of the connection.
zSidePortNamestringJohn-PortThe name of the Z side port.
zSidePortUUIDstring6f5680ea-1513-5130-50e0-30ac094f83ecThe unique identifier of the Z side port.
zSideVlanCTaginteger5The C Tag of the Z side port.
zSideVlanSTaginteger8The S Tag of the Z side port.
isFirstPagebooleantrue
false
Indicates whether the page being displayed is the first page.
isLastPagebooleantrue
false
Indicates whether the page being displayed is the last page.
pageNumberinteger20The page number of the page which is currently being displayed.
totalCountinteger467The 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}
MethodGET
URL or Endpoint/ecx/v3/l2/connections/{uuid}
HeadersAuthorization, Content-Type
Query ParametersNot applicable
Body ParametersNot 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.

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 NameMandatoryTypeExampleApplicable ValuesDescription
uuidYesstring006d08e2-788e-4c83-82d3-07b1787644a5Identifier 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:

FieldTypeExampleDescription
pageSizeinteger20The number of items to be displayed per page. The server will return a set of pages with the requested number of items per page.
contentobjectAn array containing the response data.
asideEncapsulationstringDot1q
Qinq
The encapsulation of the buyer port (Dot1Q or QinQ).
authorizationKeystring1233548-36g9-47f8-b12f-afa3faf02d06The authorization key to be used by the user/customer when creating connections to this profile.
billingTierstringUp to 50 MBBilling tier for connection.
buyerOrganizationNamestringJOHN-DOE-ORGBuyer organization name.
createdBystringJohnDoe@equinix.comThe username who created the connection.
createdByEmailstringJohnDoe@equinix.comThe email ID of the user who created the connection.
createdByFullNamestringJohn DoeThe full name of the user who created the connection.
createdDatestring2018-08-30T04:20:36.033ZThe date on which the connection was created.
lastUpdatedBystringThe username who updated the connection.
lastUpdatedDatestring2018-09-14T02:21:06.425ZThe date on which the connection was last updated.
lastUpdatedByEmailstringThe email ID of the user who updated the connection.
lastUpdatedByFullNamestringThe full name of the user who updated the connection.
namedTagstringPrivateThe type of peering you would like to set up with Azure Express Route.
notificationarrayJohnDoe@equinix.comEmail address of the contact to be notified for any updates on the connection.
metroCodestringTRThe metro code denoting the source metro from where the connection has been created.
metroDescriptionstringTorontoThe metro name where connections to this service profile can be created.
namestringJohn-DoeName of the connection.
namedTagstring"Private" 
"Public" 
"Microsoft" 
"Manual"
The type of peering for Azure Express Route.
portNamestringJOHN-DOE-PORTThe name assigned to the port.
portUUIDstring66284add-86d1-6d10-b4e0-30ac094f8af1The unique identifier of the port.
privatebooleantrue
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.)
purchaseOrderNumberstringAn optional field to link the purchase order numbers to the connection on Equinix which would get reflected on the invoice.
redundancyGroupstring28c02121-f093-4340-90c9-081b17b239c8Grouping of a primary and secondary connection using a unique ID.
redundancyTypestring"primary"
"secondary"
The type of connection.
remotebooleantrue
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)
selfbooleantrue
false
Indicates whether the connection belongs to your organization. (i.e. source and destination belongs to your organization)
sellerMetroCodestringTRThe metro code denoting the destination metro where the connection has been created to.
sellerMetroDescriptionstringTorontoThe metro name indicating the destination metro where the connection has been created to.
sellerOrganizationNamestringJOHN ORGSeller organization name associated with the connection.
sellerServiceNamestringAzure Express RouteSeller service associated with the connection.
sellerServiceUUIDstringa1390b22-bbe0-4e93-ad37-85beef9d254dSeller service ID associated with the connection.
speedinteger50Bandwidth speed
speedUnitstringMB
GB
The unit of bandwidth speed.
providerStatusstringDEPROVISIONED
PROVISIONED
PENDING_APPROVAL
NOT_AVAILABLE
DEPROVISIONING
PROVISIONING
FAILED
PENDING_BGP
AVAILABLE
OUTOFBANDWIDTH
ERROR
The status of the connection at the service provider's end.
statusstringDEPROVISIONEDThe status of the connection at Equinix's end.
uuidstring006d08e2-788e-4c83-82d3-07b1787644a5The unique identifier of the connection.
vlanSTagstring5Stag name of the connection.
zSidePortNamestringJOHN-DOE-PORT-B"The name of the Z side port.
zSidePortUUIDstring66284add-86d1-6d10-b4e0-30ac094f8af1The unique identifier of the Z side port.
zSideVlanCTaginteger5The C Tag of the Z side port.
zSideVlanSTaginteger8The S Tag of the Z side port.
isFirstPagebooleantrue
false
Indicates whether the page being displayed is the first page.
isLastPagebooleantrue
false
Indicates whether the page being displayed is the last page.
pageNumberinteger20The page number of the page which is currently being displayed.
totalCountinteger450The 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
MethodGET
URL or Endpoint/ecx/v3/stats/port
HeadersAuthorization, Content-Type
Query ParametersstartDate, endDate
Body ParametersNot 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.

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 NameMandatoryTypeExampleApplicable ValuesDescription
startDateYesDate2019-07-24T05:12:44ZStart date in UTC.
endDateYesDate2019-08-24T05:12:44ZEnd 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 NameTypeExampleDescription
capacityinteger1000000000Port Bandwidth in bits.
inboundMaxinteger0.002355751111111111Maximum inbound traffic for the given time frame.
inboundAvginteger0.0010500154503046038Average inbound traffic for the given time frame.
outboundMaxinteger0.0006338511111111111Maximum outbound traffic for the given time frame.
outboundAvginteger0.0003315938400648824Average outbound traffic for the given time frame.
inboundLastPolledinteger0.0011289177777777776Last recorded inbound traffic.
outboundLastPolledinteger0.00030397999999999997Last recorded outbound traffic.
inboundStatsarrayAn 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.
timestring2019-07-24T05:00:00ZThe time at which the data was recorded. The time format is UTC.
maxinteger0.0009884177777777778The maximum traffic for a given interval.
meaninteger0.0009884177777777778The average traffic for a given interval.
outboundStatsarrayAn 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}
MethodDELETE
URL or Endpoint/ecx/v3/l2/connections/{uuid}
HeadersAuthorization, Content-Type
Query ParametersNot applicable
Body ParametersNot 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.

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 NameTypeExample valuesDescription
messagestringConnection deleted SuccessfullyIndicates the status of the API call.
primaryConnectionIDstring702d31c4-c66d-49b0-a26c-a9a234e56fsbIndicates 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}