Connect to Myself
End users can create connections to other customer instances deployed at Equinix using either a Dot1Q port or a QinQ port.
The following video shows how to connect to other customer instances using Equinix Fabric APIs.
Click here to download the postman scripts shown in this demo.
Layer 2 Nonredundant Port-to-Port Self-Connection
Step 1: Authenticate
Submit your user credentials, Client ID, and Client Secret for OAuth2 authentication.
Refer to Generating Client ID and Client Secret under the Getting Access Token section for instructions on how to create client ID and client secret and refer to Requesting Access and Refresh tokens section for instructions on how to call Oauth API to validate and authenticate your credentials.
If you are unaware of your user credentials for Equinix Fabric, contact your local Equinix Service Desk.
Step 2: Retrieve Port Attributes
2a) Get Port
Retrieve the Equinix Fabric port information for your allocated ports.
Use this API to obtain the aSide (source) and zSide port (destination ) information.
Refer to GET Port under the API Reference section for instructions on how to retrieve available ports. You may skip this step if you already know the required port information.
Step 3: Create Connection
POST /ecx/v3/l2/connections | |
---|---|
Method | POST |
URL or Endpoint | /ecx/v3/l2/connections |
Headers | AUTH key |
Query Parameters | Not applicable |
Body Parameters | primaryName, primaryPortUUID, primaryVlanSTag, primaryVlanCTag, authorizationKey, speed, speedUnit, notifications [...], purchaseOrderNumber, sellerRegion, sellerMetroCode, primaryZSideVlanCTag, primaryZSidePortUUID, primaryZSideVlanSTag, |
The POST connections API creates a layer 2 connection between your port and the destination service profile. The authorization key is the only header that is 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 section under the Getting Access Token.
The following screenshots show sample curl requests to create layer 2 non-redundant enterprise connection using Dot1q and QinQ ports and a sample JSON response for this API.
Should you want to estimate the price of this connection, use the API GET Prices
Non-Redundant Connection from a Dot1q port to a Dot1q port
curl -X
POST "http://api.equinix.com/ecx/v3/l2/connections"
-H "content-type: application/json"
-H "authorization: Bearer qwErtY8zyW1abcdefGHI"
-d '{
"primaryName": "JohnDoe_SelfPrivate_DQ_To_DQ",
"speed": 50,
"speedUnit": "MB",
"notifications": [
"JohnDoe@equinix.com"
],
"purchaseOrderNumber": "1234567890",
"primaryPortUUID": "4f891d3b-973e-73e0-bae0-80ac1885197a",
"primaryVlanSTag": "883",
"primaryZSidePortUUID": "7f891d3b-9732-7320-bae0-30ac1885197a",
"primaryZSideVlanSTag": "662"
}
Non-Redundant Connection from a Dot1q port to a QinQ port
curl -X
POST "http://api.equinix.com/ecx/v3/l2/connections"
-H "content-type: application/json"
-H "authorization: Bearer qwErtY8zyW1abcdefGHI"
-d '{
"primaryName": "JohnDoe_SelfPrivate_DQ_To_QQ",
"speed": 50,
"speedUnit": "MB",
"notifications": [
"JohnDoe@equinix.com"
],
"purchaseOrderNumber": "1234567890",
"primaryPortUUID": "7f891d3b-7e6a-73e0-859e-30ac1885197a",
"primaryVlanSTag": "991",
"primaryZSidePortUUID": "7f891d3b-973e-7390-bae0-30ac1885197a",
"primaryZSideVlanSTag": "601",
"primaryZSideVlanCTag": "483"
}
Non-Redundant Connection from a QinQ port to a Dot1q port
curl -X
POST "http://api.equinix.com/ecx/v3/l2/connections"
-H "content-type: application/json"
-H "authorization: Bearer qwErtY8zyW1abcdefGHI"
-d '{
"primaryName": "JohnDoe_SelfPrivate_Q_To_DQ",
"speed": 50,
"speedUnit": "MB",
"notifications": [
"JohnDoe@equinix.com"
],
"purchaseOrderNumber": "1234567890",
"primaryPortUUID": "7f345d3b-973d-73d0-bae0-30ac1435697a",
"primaryVlanSTag": "756",
"primaryVlanCTag": "984",
"primaryZSidePortUUID": "7f891d3b-9732-7320-bae0-30ac1456197a",
"primaryZSideVlanSTag": "550"
}
Non-Redundant Connection from a QinQ port to a QinQ port
curl -X
POST "http://api.equinix.com/ecx/v3/l2/connections"
-H "content-type: application/json"
-H "authorization: Bearer qwErtY8zyW1abcdefGHI"
-d '{
"primaryName": "JohnDoe_SelfPrivate_Q_To_Q",
"speed": 50,
"speedUnit": "MB",
"notifications": [
"JohnDoe@equinix.com"
],
"purchaseOrderNumber": "1234567890",
"primaryPortUUID": "7f579d3b-973d-73d0-bae0-30ac1885197a",
"primaryVlanSTag": "771",
"primaryZSidePortUUID": "7f891d3b-9739-7390-bae0-30ac1976197a",
"primaryZSideVlanSTag": "471"
}
The description of the body parameters is as follows:
Body Parameter Name | Mandatory | Type | Example values | Applicable values | Description |
---|---|---|---|---|---|
primaryName | Yes | string | JohnDoe_AWS_QinQ | Name of the primary connection - An alpha-numeric 24 characters string which can include only hyphens and underscores ('-' & '_'). | |
primaryPortUUID | Yes | string | 99991d3b-9750-7500-bae0-30ac1885197a | Unique identifier of the buyer's primary port from which the connection would originate. | |
primaryVlanSTag | Yes | integer | 774 | S-Tag/Outer-Tag of the primary connection - A numeric character ranging from 2 - 4094. | |
primaryVlanCTag | Yes | string | 775 | C-Tag/Inner-Tag of the primary connection - A numeric character ranging from 2 - 4094. | |
speed | Yes | integer | 50 | Speed/Bandwidth to be allocated to the connection. | |
speedUnit | Yes | string | MB | Unit of the speed/bandwidth to be allocated to the connection. | |
notifications | Yes | array string | JohnDoe@equinix.com | A list of email addresses that would be notified when there are any updates on this connection. Example Object: ["user@organization.com", "user@eu.company.com"] | |
purchaseOrderNumber | No | string | 0987654321 | An optional field to link the purchase order numbers to the connection on Equinix which would be reflected on the invoice. | |
authorizationKey | No | string | An optional field based on the service profile you want to connect to. |
The following table indicates the tagging criteria to be followed when a buyer/customer (A-side) wants to connect to a seller/service profile (Z-side). Ensure to add the correct S tag or C tag based on your port type.
Port Type (A-side) | Vlan S-tag required | Valan C-tag required | ZSide Vlan C-tag required | Port Type ( Z-side) |
---|---|---|---|---|
Dot1Q port | Yes | No | Yes | QinQ port |
Dot1Q port | Yes | No | No | Dot1Q port |
QinQ port | Yes | Yes | No | Dot1Q port |
QinQ port | Yes | No | No | QinQ port |
If you get “Access Denied” error, contact your local Equinix Service Desk for Equinix Fabric Portal access.
{
"message": "Connection Saved Successfully",
"primaryConnectionId": "9999a8-0e07-44d0-944c-88a25d8d28f7"
}
The description of the response payload is as follows:
Field Name | Type | Example values | Description |
---|---|---|---|
message | string | Connection Saved Successfully | Indicates the status of the API call. |
primaryConnectionID | string | 9999a8-0e07-44d0-944c-88a25d8d28f7 | Indicates the primary connection ID. |
Once the POST Connections API is successfully called, you may check the status of the connection using the API GET Connections{uuid}
When a connection is created, the connection transitions through various states within the Equinix infrastructure. These states can be monitored using the response attributes of the API GET Connections{uuid}. The "status" attribute indicates the connection status at Equinix A-side and the "providerStatus" indicates the status at Equinix Z-side.
Equinix States under /ecx/v3/l2/connections/{connId} | ||
"status" attribute values | "providerStatus" attribute values | Description |
PENDING_AUTO_APPROVAL | NOT_AVAILABLE | Connection request has been sent for auto approval. As the connection is within the same organization (i.e. A side and Z side) the connection would fall under auto approval. |
PROVISIONING | NOT_AVAILABLE | Connection establishment in progress. |
PROVISIONED | AVAILABLE | Connection established. |
When an end user deletes a connection using the API DELETE Connections{uuid} the connection transitions through the following states within the Equinix infrastructure.
Equinix States under /ecx/v3/l2/connections/{connId} | ||
"status" attribute values | "providerStatus" attribute values | Description |
DEPROVISIONING | AVAILABLE | Connection disbandment in progress. |
DEPROVISIONED | NOT_AVAILABLE | Connection deleted. |
Layer 2 Redundant Self-Connection
Step 1: Authenticate
Submit your user credentials, Client ID, and Client Secret for OAuth2 authentication.
Refer to Generating Client ID and Client Secret under the Getting Access Token section for instructions on how to create client ID and client secret and refer to Requesting Access and Refresh tokens section for instructions on how to call Oauth API to validate and authenticate your credentials.
If you are unaware of your user credentials for Equinix Fabric, contact your local Equinix Service Desk.
Step 2: Get Attribute Information
2a) Get Port
Retrieve your allocated Equinix Fabric port information.
Use this API to get both the A-side (source) and Zside port (destination ) information.
Refer to GET Port under the API Reference section for instructions on how to retrieve port details. You may skip this step if you already know your port information
2b) Get Metros
Find all metros where Equinix Fabric is available to check if a connection can be established between the port selected earlier and your desired destination metro.
Use this API to identify the metro codes of your source (A-side) and destination (Z-side) for your connection.
Refer to GET Metros under the API Reference section for instructions on how to get the metro code. You may skip this step if you already know this information.
2c) Get Service Profile
Identify all service profiles available for a given metro or metros, and select the profile to which you wish to connect.
Refer to GET Services under the API Reference section for instructions on how to retrieve service profiles in Equinix Fabric. You may skip this step if you already know the service profile details.
Step 3: Create Connection
POST /ecx/v3/l2/connections | |
---|---|
Method | POST |
URL or Endpoint | /ecx/v3/l2/connections |
Headers | Authorization, Content-Type |
Query Parameters | Not applicable |
Body Parameters | primaryName, primaryPortUUID, primaryVlanSTag, primaryVlanCTag, profileUUID, authorizationKey, speed, speedUnit, notifications [...], purchaseOrderNumber, sellerRegion, sellerMetroCode, secondaryName, secondaryPortUUID, secondaryVlanSTag, secondaryVlanCTag, primaryZSideVlanCTag, secondaryZSideVlanCTag, primaryZSidePortUUID, primaryZSideVlanSTag, secondaryZSidePortUUID, secondaryZSideVlanSTag |
The POST connections API creates a layer 2 connection between your port and the destination service profile. The authorization key is the only header that is 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 section under the Getting Access Token.
The following screenshots show sample curl requests to create layer 2 redundant enterprise connection using Dot1q and QinQ ports and a sample JSON response for this API.
Should you want to estimate the price of this connection, use the API GET Prices
Redundant Connection from a Dot1Q port to a Dot1Q port
curl -X
POST "https://api.equinix.com/ecx/v3/l2/connections"
-H "content-type: application/json"
-H "authorization: Bearer qwErtY8zyW1abcdefGHI"
-d '{
"primaryName": "JohnDoe_Self_R_Pvt_D2D",
"profileUUID": "31b7263f-7e6a-42d0-859e-80a7fd3b9609",
"speed": 50,
"speedUnit": "MB",
"notifications": [
"JohnDoe@example.com"
],
"purchaseOrderNumber": "1234567890",
"primaryPortUUID": "7f891d3b-973c-73c0-bae0-30ac1885197a",
"primaryVlanSTag": "739",
"secondaryName": "JohnDoe2_Self_R_Pvt_D2D",
"secondaryVlanSTag": "559",
"secondaryPortUUID": "7f891d3b-9744-7440-bae0-30ac1885197a",
"sellerMetroCode": "SV",
"primaryZSidePortUUID": "7f891d3b-99c8-9c80-bae0-30ac1885197a",
"primaryZSideVlanSTag": "739",
"secondaryZSideVlanSTag": "639",
"secondaryZSidePortUUID": "7f891d3b-9740-7400-bae0-30ac1885197a"
}
Redundant Connection from a Dot1Q port to a QinQ port
curl -X
POST "https://api.equinix.com/ecx/v3/l2/connections"
-H "content-type: application/json"
-H "authorization: Bearer qwErtY8zyW1abcdefGHI"
-d '{
"primaryName": "JohnDoe_Self_R_Pvt_D2Q",
"profileUUID": "19bd99fa-9b5a-4d06-9db0-b0f308a43e3e",
"speed": 500,
"speedUnit": "MB",
"notifications": [
"JohnDoe@example.com"
],
"purchaseOrderNumber": "1234567890",
"primaryPortUUID": "7f891d3b-973e-73e0-bae0-30ac1885197a",
"primaryVlanSTag": "874",
"secondaryName": "JohnDoe2_Self_R_Pvt_D2Q",
"secondaryVlanSTag": "738",
"secondaryPortUUID": "7f891d3b-9740-7400-bae0-30ac1885197a",
"sellerMetroCode": "DC",
"primaryZSidePortUUID": "7f891d3b-9739-7390-bae0-30ac1885197a",
"primaryZSideVlanSTag": "762",
"secondaryZSideVlanSTag": "421",
"secondaryZSidePortUUID": "7f891d3b-973a-73a0-bae0-30ac1885197a",
"primaryZSideVlanCTag": "972",
"secondaryZSideVlanCTag": "864"
}
Redundant Connection from a QinQ port to a Dot1Q port
curl -X
POST "https://api.equinix.com/ecx/v3/l2/connections"
-H "content-type: application/json"
-H "authorization: Bearer qwErtY8zyW1abcdefGHI"
-d '{
"primaryName": "JohnDoe_Self_R_Pvt_Q2D",
"profileUUID": "31b7263f-7e6a-42d0-859e-80a7fd3b9609",
"speed": 50,
"speedUnit": "MB",
"notifications": [
"JohnDoe@example.com"
],
"purchaseOrderNumber": "1234567890",
"primaryPortUUID": "7f891d3b-973d-73d0-bae0-30ac1885197a",
"primaryVlanSTag": "3994",
"secondaryName": "JohnDoe2_Self_R_Pvt_Q2D",
"secondaryVlanSTag": "3773",
"secondaryPortUUID": "7f891d3b-973f-73f0-bae0-30ac1885197a",
"primaryVlanCTag": "3449",
"secondaryVlanCTag": "3254",
"sellerMetroCode": "SV",
"primaryZSidePortUUID": "7f891d3b-9747-7470-bae0-30ac1885197a",
"primaryZSideVlanSTag": "2467",
"secondaryZSideVlanSTag": "2553",
"secondaryZSidePortUUID": "7f891d3b-9740-7400-bae0-30ac1885197a"
}
Redundant Connection from a QinQ port to a QinQ port
curl -X
POST "https://api.equinix.com/ecx/v3/l2/connections"
-H "content-type: application/json"
-H "authorization: Bearer qwErtY8zyW1abcdefGHI"
-d '{
"primaryName": "JohnDoe_Self_R_Pvt_Q2Q",
"profileUUID": "19bd99fa-9b5a-4d06-9db0-b0f308a43e3e",
"speed": 500,
"speedUnit": "MB",
"notifications": [
"JohnDoe@example.com"
],
"purchaseOrderNumber": "1234567890",
"primaryPortUUID": "7f891d3b-973d-73d0-bae0-30ac1885197a",
"primaryVlanSTag": "660",
"secondaryName": "JohnDoe2_Self_R_Pvt_Q2Q",
"secondaryVlanSTag": "620",
"secondaryPortUUID": "7f891d3b-973f-73f0-bae0-30ac1885197a",
"sellerMetroCode": "DC",
"primaryZSidePortUUID": "7f891d3b-9739-7390-bae0-30ac1885197a",
"primaryZSideVlanSTag": "719",
"secondaryZSideVlanSTag": "638",
"secondaryZSidePortUUID": "7f891d3b-9738-7380-bae0-30ac1885197a"
}
The description of the body parameters is as follows:
Body Parameter Name | Mandatory | Type | Example values | Applicable values | Description |
---|---|---|---|---|---|
primaryName | Yes | string | JohnDoe_Dot1Q_To_Dot1Q | User-defined name of the primary connection. Supply an alpha-numeric string, which can include hyphens and underscores ('-' & '_') as special characters (no other special characters are allowed). Max Length: 24 characters | |
primaryPortUUID | Yes | string | 7f891d3b-973d-73d0-bae0-30ac1885197a | Unique Equinix-assigned ID of the buyer's primary port from where the connection originates. | |
primaryVlanSTag | Yes | integer | 640 | S-Tag/Outer-Tag of the primary connection. Range: 2 - 4094 | |
primaryVlanCTag | Yes | string | 641 | C-Tag/Inner-Tag of the primary connection. Range: 2 - 4094 | |
profileUUID | Yes | string | 84c6616c-573a-447d-a478-9fab8fff284d | Unique Equinix-assigned ID of the provider's service profile. | |
speed | Yes | integer | 50 | Speed/bandwidth to be allocated to the connection. If you do not know the speed, you can call the validateAuthorizationkey API and query using the authorization key to obtain the speed. | |
speedUnit | Yes | string | MB | Unit of the speed/bandwidth to be allocated to the connection. Values: Either MB or GB. | |
notifications | Yes | array | johnDoe@example.com | A list of email addresses that are notified when there are any updates on this connection. Example: ["user@example.com", "user2@example.com"] | |
purchaseOrderNumber | No | string | 123456789 | This optional field links the purchase order to the connection on Equinix. This link is reflected on the invoice. | |
authorizationKey | No | string | An optional field based on the service profile to which you want to connect. | ||
sellerMetroCode | Yes | string | DC | The metro code that denotes the connection’s destination (Z side). If sellerMetroCode is empty, the value defaults to the metro code of the port. | |
sellerRegion | No | string | us-sv | An optional field that needs to be passed if requested by the service profile to which you intend to connect. | |
secondaryName | Yes | string | JohnDoe_QinQ_To_QinQ2 | User-defined name of the secondary connection. Supply an alpha-numeric string, which can include hyphens and underscores ('-' & '_') as special characters (no other special characters are allowed). Max Length: 24 characters | |
secondaryPortUUID | Yes | string | 7f891d3b-973d-73d0-bae0-30ac1885197a | Unique Equinix-assigned ID of the buyer's secondary port from where the connection originates. | |
secondaryVlanSTag | Yes | string | 442 | S-Tag/Outer-Tag of the secondary connection. Range: 2 - 4094 | |
secondaryVlanCTag | Yes | string | 542 | C-Tag/Inner-Tag of the secondary connection. Range: 2 - 4094 | |
primaryZSideVlanCTag | Yes | string | 558 | C-Tag/Inner-Tag of the primary connection on the Z side. This is only applicable for "Manual" peering. (i.e. namedTag = "Manual"). Range: 2 - 4094 | |
secondaryZSideVlanCTag | Yes | string | 542 | C-Tag/Inner-Tag of the secondary connection on the Z side. This is only applicable for "Manual" peering. (i.e. namedTag = "Manual"). Range: 2 - 4094 |
The following table indicates the tagging criteria to be followed when a buyer/customer (A-side) wants to connect to a seller/service profile (Z-side). Ensure to add the correct S tag or C tag based on your port type.
Port Type (A-side) | Vlan S-tag required | Vlan C-tag required | ZSide Vlan C-tag required | Port Type ( Z-side) |
---|---|---|---|---|
Dot1Q port | Yes | No | Yes | QinQ port |
Dot1Q port | Yes | No | No | Dot1Q port |
QinQ port | Yes | Yes | No | Dot1Q port |
QinQ port | Yes | No | No | QinQ port |
If you get “Access Denied” error, contact your local Equinix Service Desk for Equinix Fabric Portal access.
{
"message": "Connection Saved Successfully",
"primaryConnectionId": "9999a8-0e07-44d0-944c-88a25d8d28f7"
"secondaryConnectionId": "888d4c1-5444-4511-b2e4-51f06f062974"
}
The description of the response payload is as follows:
Field Name | Type | Example values | Description |
---|---|---|---|
message | string | Connection Saved Successfully | Indicates the status of the API call. |
primaryConnectionID | string | 9999a8-0e07-44d0-944c-88a25d8d28f7 | Indicates the primary connection ID. |
secondaryConnectionId | string | 888d4c1-5444-4511-b2e4-51f06f062974 | Indicates the secondary connection ID. |
Once the POST Connections API is successfully called, you may check the status of the connection using the API GET Connections{uuid}
When a connection is created, the connection transitions through various states within the Equinix infrastructure. These states can be monitored using the response attributes of the API GET Connections{uuid}. The "status" attribute indicates the connection status at Equinix A-side and the "providerStatus" indicates the status at Equinix Z-side.
Equinix States under /ecx/v3/l2/connections/{connId} | ||
"status" attribute values | "providerStatus" attribute values | Description |
PENDING_AUTO_APPROVAL | NOT_AVAILABLE | Connection request has been sent for auto approval. As the connection is within the same organization (i.e. A side and Z side) the connection would fall under auto approval. |
PROVISIONING | NOT_AVAILABLE | Connection establishment in progress. |
PROVISIONED | AVAILABLE | Connection established. |
When an end user deletes a connection using the API DELETE Connections{uuid} the connection transitions through the following states within the Equinix infrastructure.
Equinix States under /ecx/v3/l2/connections/{connId} | ||
"status" attribute values | "providerStatus" attribute values | Description |
DEPROVISIONING | AVAILABLE | Connection disbandment in progress. |
DEPROVISIONED | NOT_AVAILABLE | Connection deleted. |
Layer 2 Nonredundant Private Connection
Step 1: Authenticate
Submit your user credentials, Client ID, and Client Secret for OAuth2 authentication.
Refer to Generating Client ID and Client Secret under the Getting Access Token section for instructions on how to create client ID and client secret and refer to Requesting Access and Refresh tokens section for instructions on how to call Oauth API to validate and authenticate your credentials.
If you are unaware of your user credentials for Equinix Fabric, contact your local Equinix Service Desk.
Step 2: Get Attribute Information
2a) Get Port
Retrieve your allocated Equinix Fabric port information.
Use this API to get both the A-side (source) and Zside port (destination ) information.
Refer to GET Port under the API Reference section for instructions on how to retrieve port details. You may skip this step if you already know your port information
2b) Get Metros
Find all metros where you have a configured Equinix Fabric port and check to see if a connection can be established between the port you selected earlier and the desired destination metro.
Use this API to identify the metro codes of your source (A-side) and destination (Z-side) for your connection.
Refer to GET Metros under the API Reference section for instructions on how to get the metro code. You may skip this step if you already know this information.
2c) Get Service Profile
Identify all service profiles available for a given metro or metros, and select the profile to which you wish to connect.
Refer to GET Services nder the API Reference section for instructions on how to retrieve service profiles configured on Equinix Fabric. You may skip this step if you already know the service profile details.
Step 3: Create Connection
POST /ecx/v3/l2/connections | |
---|---|
Method | POST |
URL or Endpoint | /ecx/v3/l2/connections |
Headers | Authorization, Content-Type |
Query Parameters | Not applicable |
Body Parameters | primaryName, primaryPortUUID, primaryVlanSTag, primaryVlanCTag, profileUUID, authorizationKey, speed, speedUnit, notifications [...], purchaseOrderNumber, sellerRegion, sellerMetroCode, primaryZSideVlanCTag, primaryZSidePortUUID, primaryZSideVlanSTag, |
The POST connections API creates a Layer 2 Connection between your port and the destination service profile. The authorization key is the only header that is 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 section under the Getting Access Token.
The following screenshots show sample curl requests to create layer 2 non-redundant enterprise connection using Dot1q and QinQ ports and a sample JSON response for this API.
Should you want to estimate the price of this connection, use the API /ecx/v3/l2/connections/prices
Non-Redundant Connection from a Dot1q port to a Dot1q port
curl -X
POST "https://api.equinix.com/ecx/v3/l2/connections"
-H "content-type: application/json"
-H "authorization: Bearer qwErtY8zyW1abcdefGHI"
-d '{
"primaryName": "JohnDoe_SelfPrivate_DQ_To_DQ",
"profileUUID": "5e79b5e4-7c5b-4201-9334-fd89b37bec47",
"speed": 50,
"speedUnit": "MB",
"notifications": [
"JohnDoe@example.com"
],
"purchaseOrderNumber": "1234567890",
"primaryPortUUID": "4f891d3b-973e-73e0-bae0-80ac1885197a",
"primaryVlanSTag": "883",
"sellerMetroCode": "DC",
"primaryZSidePortUUID": "7f891d3b-9732-7320-bae0-30ac1885197a",
"primaryZSideVlanSTag": "662"
}
Non-Redundant Connection from a Dot1q port to a QinQ port
curl -X
POST "https://api.equinix.com/ecx/v3/l2/connections"
-H "content-type: application/json"
-H "authorization: Bearer qwErtY8zyW1abcdefGHI"
-d '{
"primaryName": "JohnDoe_SelfPrivate_DQ_To_QQ",
"profileUUID": "31b7263f-3baa-4ec0-bd7b-4147ee2d04f9",
"speed": 50,
"speedUnit": "MB",
"notifications": [
"JohnDoe@example.com"
],
"purchaseOrderNumber": "1234567890",
"primaryPortUUID": "7f891d3b-7e6a-73e0-859e-30ac1885197a",
"primaryVlanSTag": "991",
"sellerMetroCode": "DC",
"primaryZSidePortUUID": "7f891d3b-973e-7390-bae0-30ac1885197a",
"primaryZSideVlanSTag": "601",
"primaryZSideVlanCTag": "483"
}
Non-Redundant Connection from a QinQ port to a Dot1q port
curl -X
POST "https://api.equinix.com/ecx/v3/l2/connections"
-H "content-type: application/json"
-H "authorization: Bearer qwErtY8zyW1abcdefGHI"
-d '{
"primaryName": "JohnDoe_SelfPrivate_Q_To_DQ",
"profileUUID": "7e8e41ac-8d4e-4d6d-9w5-eb532ad5fe73",
"speed": 50,
"speedUnit": "MB",
"notifications": [
"JohnDoe@example.com"
],
"purchaseOrderNumber": "1234567890",
"primaryPortUUID": "7f345d3b-973d-73d0-bae0-30ac1435697a",
"primaryVlanSTag": "756",
"sellerMetroCode": "DC",
"primaryVlanCTag": "984",
"primaryZSidePortUUID": "7f891d3b-9732-7320-bae0-30ac1456197a",
"primaryZSideVlanSTag": "550"
}
Non-Redundant Connection from a QinQ port to a QinQ port
curl -X
POST "https://api.equinix.com/ecx/v3/l2/connections"
-H "content-type: application/json"
-H "authorization: Bearer qwErtY8zyW1abcdefGHI"
-d '{
"primaryName": "JohnDoe_SelfPrivate_Q_To_Q",
"profileUUID": "fa2e4cdd-3baa-4ec0-bd7b-434572d04f9",
"speed": 50,
"speedUnit": "MB",
"notifications": [
"JohnDoe@example.com"
],
"purchaseOrderNumber": "1234567890",
"primaryPortUUID": "7f579d3b-973d-73d0-bae0-30ac1885197a",
"primaryVlanSTag": "771",
"sellerMetroCode": "DC",
"primaryZSidePortUUID": "7f891d3b-9739-7390-bae0-30ac1976197a",
"primaryZSideVlanSTag": "471"
}
The description of the body parameters is as follows:
Body Parameter Name | Mandatory | Type | Example values | Applicable values | Description |
---|---|---|---|---|---|
primaryName | Yes | string | JohnDoe_AWS_QinQ | User-defined name of the primary connection. Supply an alpha-numeric string, which can include hyphens and underscores ('-' & '_') as special characters (no other special characters are allowed). Max Length: 24 characters | |
primaryPortUUID | Yes | string | 99991d3b-9750-7500-bae0-30ac1885197a | Unique Equinix-assigned ID of the buyer's primary port from where the connection originates. | |
primaryVlanSTag | Yes | integer | 774 | S-Tag/Outer-Tag of the primary connection. Range: 2 - 4094 | |
primaryVlanCTag | Yes | string | 775 | C-Tag/Inner-Tag of the primary connection. Range: 2 - 4094 | |
profileUUID | Yes | string | 999552b-39b0-49ea-a232-005088dc9c86 | Unique Equinix-assigned ID of the provider's service profile. | |
speed | Yes | integer | 50 | Speed/bandwidth to be allocated to the connection. | |
speedUnit | Yes | string | MB | Unit of the speed/bandwidth to be allocated to the connection. Values: Either MB or GB. | |
notifications | Yes | array string | JohnDoe@example.com | A list of email addresses that are notified when there are any updates on this connection. Example: ["user@example.com", "user2@example.com"] | |
purchaseOrderNumber | No | string | 0987654321 | This optional field links the purchase order to the connection on Equinix. This link is reflected on the invoice. | |
authorizationKey | No | string | An optional field based on the service profile to which you want to connect. | ||
sellerMetroCode | Yes | string | SV | The metro code that denotes the connection’s destination (Z side). If sellerMetroCode is empty, the value defaults to the metro code of the port. |
The following table indicates the tagging criteria to be followed when a buyer/customer (A-side) wants to connect to a seller/service profile (Z-side). Ensure to add the correct S tag or C tag based on your port type.
Port Type (A-side) | Vlan S-tag required | Valan C-tag required | ZSide Vlan C-tag required | Port Type ( Z-side) |
---|---|---|---|---|
Dot1Q port | Yes | No | Yes | QinQ port |
Dot1Q port | Yes | No | No | Dot1Q port |
QinQ port | Yes | Yes | No | Dot1Q port |
QinQ port | Yes | No | No | QinQ port |
If you get “Access Denied” error, contact your local Equinix Service Desk for Equinix Fabric Portal access.
{
"message": "Connection Saved Successfully",
"primaryConnectionId": "9999a8-0e07-44d0-944c-88a25d8d28f7"
}
The description of the response payload is as follows:
Field Name | Type | Example values | Description |
---|---|---|---|
message | string | Connection Saved Successfully | Indicates the status of the API call. |
primaryConnectionID | string | 9999a8-0e07-44d0-944c-88a25d8d28f7 | Indicates the primary connection ID. |
Once the POST Connections API is successfully called, you may check the status of the connection using the API /ecx/v3/l2/connections/{connId}
When a connection is created, the connection transitions through various states within the Equinix infrastructure. These states can be monitored using the response attributes of the API /ecx/v3/l2/connections/{connId}. The "status" attribute indicates the connection status at Equinix A-side and the "providerStatus" indicates the status at Equinix Z-side.
Equinix States under /ecx/v3/l2/connections/{connId} | ||
"status" attribute values | "providerStatus" attribute values | Description |
PENDING_AUTO_APPROVAL | NOT_AVAILABLE | Connection request has been sent for auto approval. As the connection is within the same organization (i.e. A side and Z side) the connection would fall under auto approval. |
PROVISIONING | NOT_AVAILABLE | Connection establishment in progress. |
PROVISIONED | AVAILABLE | Connection established. |
When an end user deletes a connection using the API /ecx/v3/l2/connections/{connId} the connection transitions through the following states within the Equinix infrastructure.
Equinix States under /ecx/v3/l2/connections/{connId} | ||
"status" attribute values | "providerStatus" attribute values | Description |
DEPROVISIONING | AVAILABLE | Connection disbandment in progress. |
DEPROVISIONED | NOT_AVAILABLE | Connection deleted. |