Layer 2 Buyer APIs (v3 APIs will be deprecated June 2024)
GET User Port (v3)
GET /port/userport | |
---|---|
Method | GET |
URL or Endpoint | /ecx/v3/port/userport |
Headers | Authorization, Content-Type |
Query Parameters | Not applicable |
Body Parameters | Not applicable |
The userport API returns the details of all assigned and available ports for the user credentials submitted. The authorization token and content-type are the only headers that are passed to this API and a response is received based on the values passed.
If you are unaware of how to obtain an authorization token, refer to Requesting Access and Refresh Tokens under the Getting Access Token section.
The following screenshots show a sample curl request to obtain all designated ports, and its respective JSON response containing the port information.
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 Name | Type | Example | Description |
---|---|---|---|
uuid | string | 9a1b30c7-baaf-aaf0-96e0-30ac188c7099 | The unique identifier of the port. |
name | string | johnDoePort | The name assigned to the port. |
provisionStatus | string | ADDED PROVISIONED | Indicates whether a port has been assigned or is ready for connection. |
region | string | AMER EMEA APAC | Indicates the region in which the port resides. |
device | string | 1C00A955256C0027A0D544A68EE8C911 | The device number/name on which the port resides. |
totalBandwidth | integer | 1000000000 | Port Bandwidth in bytes. |
buyout | boolean | true false | Indicates whether the port supports unlimited connections. If "false", the port is a standard port with limited connections. If "true", the port is an "unlimited connections" port that allows multiple connections at no additional charge. |
custOrgId | string | 99966 | The organization ID of the customer who owns the port. |
custOrgName | string | testSeller-270010 | Port owner's organization name. |
ibx | string | SV1 | The Equinix IBX where the port resides. |
metroCode | string | SV | The metro code of the metro where the port resides. |
metroDescription | string | Silicon Valley | The name of the metro where the port resides. |
deviceGroup | string | 2 | The group ID/number of the device where the port resides. |
devicePriority | string | Primary Secondary | The priority of the device (primary/secondary) where the port resides. |
encapsulation | string | Dot1q QinQ | The VLAN encapsulation of the port (Dot1q or QinQ). |
viewPortPermission | boolean | true false | If "false", outgoing connections from the port cannot be viewed. |
placeVcOrderPermission | boolean | true false | If "true", the user can create, modify or delete connections from this port. |
createdDate | string | 2018-11-07 21:56:59.0 | The date on which the port was created. |
lastUpdatedDate | string | 2018-11-07 21:56:59.0 | The date on which the port was last updated. |
sharedPortType | string | - | Type of shared port. A shared port is a single physical port that handles multiple virtual connections. |
sharedPortProduct | string | - | Name of the Equinix product associated with the shared port. |
hasConnection | boolean | true | Indicates that there's a connection associated with the given port. |
userPorts | array | An array containing multiple port information. | |
bandwidth | integer | 1000000000 | The port bandwidth in bytes. |
crossConnectId | string | 20883104 | The cross-connect ID associated with the member port. |
cabinetNumber | string | Demarc | Rack cabinet name. |
patchPanelName | string | LL:upside:0001234 | Equinix-side patch panel name. |
tagProtocolId | string | 0x9100 | Tagging protocol identifier. |
portProvisionStatus | string | PROVISIONED | Port provisioning status. |
patchPanelPorts | string | 1,2 | Equinix-side port numbers. |
packageType | string | - | Port package type. |
customerPatchPanelName | string | PP:Demarc:00001042 | Name of the customer-side patch panel where the given port is located. |
customerPatchPanelPorts | string | 9,10 | Customer-side port numbers. |
customerIbx | string | MX2 | IBX data center indentifier where the given port is located. |
layer3Enabled | boolean | true false | Indicates whether the port is enabled for Layer 3 connections. |
lag | boolean | true false | Indicates whether the port is part of a Link Aggregation Group (LAG). |
If you get “Access Denied” error, contact your local Equinix Service Desk for Equinix Cloud Exchange Fabric Portal access.
GET Metros (v3)
GET /common/metros | |
---|---|
Method | GET |
URL or Endpoint | /ecx/v3/l2/common/metros |
Headers | Authorization, Content-Type |
Query Parameters | Not applicable |
Body Parameters | Not applicable |
The metros API returns all available metros with ECX fabric ports where the user can connect to. The authorization token and content-type are the only headers that are passed to this API and a response is received based on the values passed.
If you are unaware of how to obtain an authorization token, refer to Requesting Access and Refresh Tokens under the Getting Access Token section.
The following screenshots show a sample curl request and JSON response for this API. The response indicates that a user can connect to Amsterdam (AM) from LD, FR, PA, DB, SK, ZH, HE, ML, WA and MD and vice versa.
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 Fabric Portal access.
GET Layer 2 Connection Price (v3)
GET l2/connections/prices | |
---|---|
Method | GET |
URL or Endpoint | /ecx/v3/l2/connections/prices |
Headers | Authorization, Content-Type |
Query Parameters | destinationMetro, portUUID |
Body Parameters | Not applicable |
The GET prices API returns the estimated price of connection between a given port ID and metro. You can use the GET userport and GET metros API to retrieve your port and metro details. The authorization token and content-type are the only headers that are passed to this API and a response is received based on the values passed.
This API only provides an estimated price. Additional taxes and/or fees may apply depending on the metro you have selected.
If you are unaware of how to obtain an authorization token, refer to Requesting Access and Refresh Tokens under the Getting Access Token section.
The following screenshots show a sample curl request and its respective JSON response to get the price of a layer 2 connection from a given port to SV.
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 Fabric Portal access.
GET Layer 2 Service Profiles Services (v3)
GET l2/serviceprofiles/services | |
---|---|
Method | GET |
URL or Endpoint | /ecx/v3/l2/serviceprofiles/services |
Headers | Authorization, Content-Type |
Query Parameters | metroCode, pageNumber, pageSize |
Body Parameters | Not applicable |
The services API returns all layer 2 seller service profiles available for the user to connect to. The authorization token and content-type are the only headers that are passed to this API and a response is received based on the values passed.
If you are unaware of how to obtain an authorization token, refer to Requesting Access and Refresh Tokens under the Getting Access Token section.
The following screenshots show a sample curl request to obtain details of layer 2 seller profiles within DC, USA and a JSON response containing details of a sample seller profile named John-Doe Demo.
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 Fabric Portal access.
GET Layer 2 Service Profiles Services {uuid} (v3)
GET l2/serviceprofiles/services/{uuid} | |
---|---|
Method | GET |
URL or Endpoint | /ecx/v3/l2/serviceprofiles/services/{uuid} |
Headers | Authorization, Content-Type |
Query Parameters | Not applicable |
Body Parameters | Not applicable |
The services API returns the details of a given layer 2 service profile uuid. The authorization token and content-type are the only headers that are passed to this API and a response is received based on the values passed.
Uuid is an identifier unique for each service profile.
If you are unaware of how to obtain an authorization token, refer to Requesting Access and Refresh Tokens under the Getting Access Token section.
The following screenshots show a sample curl request to obtain L2 seller details for the ID 97d1850f-4df0-468c-9281-fa7b0dfa2096 and a JSON response containing details of a sample seller named John-Doe Demo.
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 Fabric Portal access.
GET Layer 2 Validate Authorization Key (v3)
GET l2/connections/validateAuthorizationKey | |
---|---|
Method | GET |
URL or Endpoint | /ecx/v3/l2/connections/validateAuthorizationKey |
Headers | Authorization, Content-Type |
Query Parameters | authorizationKey,metroCode, profileId, region |
Body Parameters | Not applicable |
The validateAuthorizationKey API validates the authorization key (AWS account ID/ Microsoft service key/ Google pairing key etc). to connect to cloud service providers. The authorization token and content-type are the only headers that are passed to this API and a response is received based on the values passed.
If you are unaware of how to obtain an authorization token, refer to Requesting Access and Refresh Tokens under the Getting Access Token section.
The following screenshots show a sample curl request to validate an L2 service key against a service profile in DC, and its respective JSON response.
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®ion=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 Fabric Portal access.
GET Layer 2 Buyer Connections (v3)
GET l2/buyer/connections | |
---|---|
Method | GET |
URL or Endpoint | /ecx/v3/l2/buyer/connections |
Headers | Authorization, Content-Type |
Query Parameters | status, metroCode, authorizationKey, buyerPortName, buyerPortUUID, searchtType, subAccount, pageNumber, pageSize |
Body Parameters | Not applicable |
The connections API returns all outgoing connections of the user. The authorization token and content-type are the only headers that are passed to this API and a response is received based on the values passed.
If you are unaware of how to obtain an authorization token, refer to Requesting Access and Refresh Tokens under the Getting Access Token section.
The following screenshots show a sample curl request and its JSON response to obtain all outgoing layer 2 connections for the user credentials submitted.
curl -X
GET "https://api.equinix.com/ecx/v3/l2/buyer/connections?metroCode=DC"
-H "content-type: application/json"
-H "authorization: Bearer qwErtY8zyW1abcdefGHI"
The description of the query parameters are as follows:
Query Parameter Name | Mandatory | Type | Example | Applicable Values | Description |
---|---|---|---|---|---|
status | No | array[string] | PROVISIONED | "PROVISIONED" "DEPROVISIONED" "PENDING_APPROVAL" | Indicates the status of the connection at Equinix's end (A-Side). |
metroCode | No | string | DC | The 2 character code denoting the metro to which connections have been created. It can be a single code (&metroCode=Dc) or an array of codes (&metroCode=Dc&metroCode=Sv). | |
authorizationKey | No | string | Connection credentials required to create a layer 2 connection. For example, account ID for AWS, service key for Azure, pairing key for Google, cloud ID for Oracle. | ||
buyerPortName | No | string | JohnDoePort | The name of the buyer port. | |
buyerPortUUID | No | string | 006d08e2-788e-4c83-82d3-07b1787644a5 | The unique identifier of the buyer port. | |
sellerPortName | No | string | JohnDoe2Port | The name of the seller port. | |
searchType | No | string | AND | "AND" "OR" | Querying operations. |
subAccount | No | string | 456 | This parameter is only applicable to resellers | |
pageNumber | No | integer | 1 | The page number of the page which is currently being displayed. | |
pageSize | No | integer | 20 | The number of items to be displayed per page. The server will return a set of pages with the requested number of items per page. |
{
"isFirstPage": true,
"totalCount": 467,
"isLastPage": false,
"pageSize": 20,
"content": [
{
"buyerOrganizationName": "JOHN-DOE-ORG",
"uuid": "006d08e2-788e-4c83-82d3-07b1787644a5",
"name": "SAL-AZURE-TR-SEC-20",
"vlanSTag": 200,
"portUUID": "66284add-86d1-6d10-b4e0-30ac094f8af1",
"portName": "JOHN DOE TEST",
"asideEncapsulation": "dot1q",
"metroCode": "TR",
"metroDescription": "Toronto",
"providerStatus": "DEPROVISIONED",
"status": "DEPROVISIONED",
"billingTier": "Up to 50 MB",
"authorizationKey": "99973578-36f9-47f8-b12f-afa3faf02d06",
"speed": 50,
"speedUnit": "MB",
"redundancyType": "secondary",
"redundancyGroup": "28c02121-f093-4340-90c9-081b17b239c8",
"sellerMetroCode": "TR",
"sellerMetroDescription": "Toronto",
"sellerServiceName": "Azure Express Route",
"sellerServiceUUID": "a1390b22-bbe0-4e93-ad37-85beef9d254d",
"sellerOrganizationName": "John Doe Org",
"notifications": [
"JohnDoe@equinix.com"
],
"namedTag": "Private",
"createdDate": "2018-08-30T04:20:36.033Z",
"createdBy": "JohnDoe@equinix.com",
"createdByFullName": "JohnDoe",
"createdByEmail": "JohnDoe@equinix.com",
"lastUpdatedDate": "2018-09-14T02:21:06.425Z",
"deletedBy": "JohnDoe@equinix.com",
"deletedDate": "2018-09-02T16:03:36.349Z",
"deletedByEmail": "JohnDoe@equinix.com",
"zSidePortName": "John-Port",
"zSidePortUUID": "6f5680ea-1513-5130-50e0-30ac094f83ec",
"zSideVlanSTag": 8,
"remote": false,
"private": false,
"self": false
}
],
"pageNumber": 0
}
The description of the response payload is as follows:
Field | Type | Example Values | Description |
---|---|---|---|
pageSize | integer | 20 | The number of items to be displayed per page. |
content | object | An array containing the response data. | |
asideEncapsulation | string | "Dot1q" "Qinq" | The encapsulation of the buyer port (Applicable values are Dot1q or QinQ). |
authorizationKey | string | 99973578-36f9-47f8-b12f-afa3faf02d06 | Authorization Key obtained from the provider to create connections to this profile. |
billingTier | string | Up to 50 MB | Billing tier for connection. |
buyerOrganizationName | string | JOHN-DOE-ORG | Buyer organization name. |
createdBy | string | JohnDoe@equinix.com | The username of the user who created the connection. |
createdByEmail | string | JohnDoe@equinix.com | The email ID of the user who created the connection. |
createdByFullName | string | JohnDoe | The full name of the user who created the connection. |
createdDate | string | 2018-08-30T04:20:36.033Z | The date on which the connection was created. |
lastUpdatedBy | string | The username of the user who updated the connection. | |
lastUpdatedDate | string | The date on which the connection was last updated. | |
lastUpdatedByEmail | string | The email ID of the user who updated the connection. | |
lastUpdatedByFullName | string | The full name of the user who last updated the connection. | |
namedTag | string | Private | The type of peering to set up with Azure Express Route. |
notification | array[string] | The email address of the contact who would be notified when there are any updates on this connection. | |
metroCode | string | TR | The metro code denoting the source metro where this connection was created from. |
metroDescription | string | The name of the metro where this connection was created from. | |
name | string | Name of the connection. | |
namedTag | string | Private Public Microsoft Manual | The type of peering for Azure Express Route. |
portName | string | JOHN DOE TEST | The name assigned to the port. |
portUUID | string | 66284add-86d1-6d10-b4e0-30ac094f8af1 | The unique identifier of the port. |
private | boolean | true false | Indicates whether this connection is connected to a private profile. |
purchaseOrderNumber | string | An optional field to link the purchase order numbers to the connection on Equinix which would be reflected on the invoice. | |
redundancyGroup | string | 28c02121-f093-4340-90c9-081b17b239c8 | A unique ID that groups the primary and secondary connection. |
redundancyType | string | secondary | The type of connection. It can either be primary or secondary. |
remote | boolean | true false | Indicates whether the connection is a remote connection. (If the seller and buyer metros of the connection are different then it is a remote connection.) |
self | boolean | true false | Indicates whether the connection is a self-connection. (i.e. the source (A-side) and destination (Z-side) belongs to the same organization.) |
sellerMetroCode | string | TR | The metro code that denotes the connection’s destination (Z side). |
sellerMetroDescription | string | Toronto | The destination (Z side) metro of the connection. |
sellerOrganizationName | string | John Doe Org | The name of the seller service organization associated with this connection. |
sellerServiceName | string | Azure Express Route | The name of the seller service profile associated with this connection. |
sellerServiceUUID | string | a1390b22-bbe0-4e93-ad37-85beef9d254d | The ID of the seller service profile associated with this connection. |
speed | integer | 50 | Speed/Bandwidth be allocated to the connection. |
speedUnit | string | MB | Unit of the speed/bandwidth allocated to the connection. |
providerStatus | string | "DEPROVISIONED" "PROVISIONED" "PENDING_APPROVAL" "NOT_AVAILABLE" "DEPROVISIONING" "PROVISIONING" "FAILED" "PENDING_BGP" "AVAILABLE" "OUTOFBANDWIDTH" "ERROR" | The status of the connection at the service provider's end. |
status | string | DEPROVISIONED PROVISIONED | The status of the connection at Equinix's end. |
uuid | string | 006d08e2-788e-4c83-82d3-07b1787644a5 | The unique identifier of the connection. |
vlanSTag | string | 4 | Stag name of the connection. |
zSidePortName | string | John-Port | The name of the Z side port. |
zSidePortUUID | string | 6f5680ea-1513-5130-50e0-30ac094f83ec | The unique identifier of the Z side port. |
zSideVlanCTag | integer | 5 | The C Tag of the Z side port. |
zSideVlanSTag | integer | 8 | The S Tag of the Z side port. |
isFirstPage | boolean | true false | Indicates whether the page being displayed is the first page. |
isLastPage | boolean | true false | Indicates whether the page being displayed is the last page. |
pageNumber | integer | 20 | The page number of the page which is currently being displayed. |
totalCount | integer | 467 | The number of items returned as the response for this API request. |
If you get “Access Denied” error, contact your local Equinix Service Desk for Equinix Fabric Portal access.
GET Layer 2 Connections {uuid} (v3)
GET l2/connections/{uuid} | |
---|---|
Method | GET |
URL or Endpoint | /ecx/v3/l2/connections/{uuid} |
Headers | Authorization, Content-Type |
Query Parameters | Not applicable |
Body Parameters | Not applicable |
The connections API returns connection details for a given L2 connection connID. The authorization token and content-type are the only headers that are passed to this API and a response is received based on the values passed.
Uuid is an identifier unique for each connection.
If you are unaware of how to obtain an authorization token, refer to Requesting Access and Refresh Tokens under the Getting Access Token section.
The following screenshots show a sample curl request to obtain L2 connection details for the ID 97d1850f-4df0-468c-9281-fa7b0dfa2096 and a JSON response containing connection information.
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 Fabric Portal access.
GET Port Stats (v3)
GET /stats/port | |
---|---|
Method | GET |
URL or Endpoint | /ecx/v3/stats/port |
Headers | Authorization, Content-Type |
Query Parameters | startDate, endDate |
Body Parameters | Not applicable |
The port stats API retrieves the inbound and outbound traffic utilization statistics of a given port for a specified time. The authorization token and content-type are the only headers that are passed to this API and a response is received based on the values passed.
If you are unaware of how to obtain an authorization token, refer to Requesting Access and Refresh Tokens under the Getting Access Token section.
The following screenshots show a sample curl request and its JSON response to obtain the usage stats of a port between July 24th, 2019 and August 24th, 2019.
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 Fabric Portal access.
DELETE Layer 2 Connections {uuid} (v3)
DELETE l2/connections/{uuid} | |
---|---|
Method | DELETE |
URL or Endpoint | /ecx/v3/l2/connections/{uuid} |
Headers | Authorization, Content-Type |
Query Parameters | Not applicable |
Body Parameters | Not applicable |
This API deletes a given layer 2 connection. The authorization token and content-type are the only headers that are passed to this API and a response is received based on the values passed.
Uuid is an identifier unique for each connection.
If you are unaware of how to obtain an authorization token, refer to Requesting Access and Refresh Tokens under the Getting Access Token section.
The following screenshots show a sample curl request and its JSON response to delete a connection with UUID 702d31c4-c66d-49b0-a26c-a9a234e56fsb.
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 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}