https://developer.equinix.com
For Public Viewing
body: 

Legend        Don't like reading - How about a 1-minute video?       Ask us

 

What is Network Edge?

Network Edge (NE) is a platform that allows customers to deploy and run virtual network services and appliances such as routers, load balancers, and firewalls on a generic device instead of additional dedicated hardware, CapEx and colo space.

 

Network Edge offers the following capabilities:

  • Edge device lifecycle management - High availability (HA) and non-HA device management for routers, firewall, SD-WAN and many more.
  • Cloud to cloud routing - Connectivity to multiple cloud service providers.
  • SSH user management for virtual devices
  • BGP peering - A single stop for A-side and Z-side peering.
  • VPN configuration

 

Network Edge is offered to customers through Network Edge portal and REST APIs.

 

 

body: 

What are Network Edge APIs?

Network Edge APIs are a collection of REST APIs that allows you to interact with Equinix programmatically to create a virtual device and add services. The following Network Edge APIs are currently available to customers (Refer API reference section for more details.)

 


body: 

How do the Network Edge APIs work?

Background

When a customer is onboarded, they are provided with user credentials. 

 

 

The customer must use these credentials to connect to the Equinix Developer Platform to generate a Consumer key and Consumer secret. 

 

 

The Consumer key and Consumer secret are essential for obtaining access and refresh tokens to authenticate API calls as described in the subsequent section.

 

Refer to Generating a Client ID and Client Secret key under the Getting Started section for instructions on how to generate Consumer key and Consumer secret.

 

Network Edge Workflow

 

 

Step 1  - Obtain a perpetual license from the device manufacturer. Alternatively, you can request a subscription license from Equinix for devices that have a subscription offering, e.g. Cisco 1000V, Juniper VSRX, and Palo Alto Firewall.

 

Authorization flow:

Step 2  - Request access and refresh token information by calling the Equinix OAuth API (/oauth2/v1/token) with the Consumer key, Consumer secret, and user credentials. 

 

 

Refer to Requesting Access and Refresh tokens under the Getting Started for instructions on how to obtain an Authorization Token.

 

Step 3  - The API gateway makes an OAuth2 call to the identity provider using the submitted credentials.

 

Step 4  - The identity provider returns an OAuth2Access token to the API gateway.

 

Step 5  - The API gateway sends back the authorization token details to the client.

 

API Request flow:

Step 6  - The customer submits an API request with the obtained authorization token and respective API request payload.

 

 

Refer to the How-to Guide section for instructions on how to call Network Edge APIs to create devices, establish connections, setup VPN and many more

 

Step 7  - API gateway validates the request and calls the relevant APIs to create devices and cloud connections.

 

Step 8  - The response is received by the API gateway.

 

Step 9  - The response is sent back to the customer.

 


body: 

How-to Guide for Network Edge use cases

Learn how to build solutions using Network Edge APIs!

 

  • Virtual device lifecycle management

Launch virtual devices          

 

Connect to AWS          

Connect to Azure          

Connect to Google          

Connect to Oracle

 

 

  • User to cloud via SD-WAN

Create and launch SD-WAN          

 

  • Branch to cloud via VPN 

Establish VPN connectivity         

 

  • Firewall

 


body: 

Pre-requisites

•   You have valid user credentials.
•   You have been authorized to access the developer portal.
•   You have been authorized to create, modify and delete connections by your master Admin.

 


body: 

Getting Started

Learn the fundamentals of Equinix APIs.

 


body: 

Generating Client ID and Client Secret key

To obtain your client ID (consumer key) and client secret key (consumer secret), you must register your app in the developer platform according to your preferred environment. 

1. Login to Equinix Developer Platform using your login credentials.

 

If you are unaware of your login credentials for Equinix Developer Platform, contact your local Equinix Service Desk.

 

2. After logging in, click on the My Apps section as shown below.

 

 

3. Click on the Create New App button.

 

 

4. You will need to name your app and then select the app type to be used, you can either create an app for the Sandbox or Production environment. Once you’re ready click on the Create App button.

 

The sandbox environment is only a test environment that mimics the production environment and creates simulated API responses. 

If you are not an existing API customer, send an email to api-support@equinix.com to gain access to Equinix sandbox.

 

 

5. You should now have your app listed in the My Apps section as shown below:

 

 

6. When you select the application, your Client ID ( Consumer Key) and Client Secret (Consumer Secret) will be revealed.

 

 


body: 

Requesting Access and Refresh tokens

Access Token Flow

The access token is used to exchange data with the Equinix APIs and the refresh token is used to request a new access token should the access token expire. You can obtain your access token by either using the password or client credentials grant type as shown in the sample curl commands below:

 

The client_credentials grant type is used by users who do not want to use their Equinix login credentials (user name and user password) in exchange for an access token, whereas the password grant type is for users who are less hesitant. 

 

Refer to https://oauth.net/2/grant-types/ for more information about the different grant types and their usage. 

 

Access token using password grant type

 

curl -X

POST 'https://api.equinix.com/oauth2/v1/token'

-H "content-type: application/json" 

-d '{

"grant_type": "password",

"user_name": "john.doe@example.com",

"user_password": "jd1@#$",

"client_id": "ABCDE12345",

"client_secret": "FGHIJ67890"

}'

 

Access token using client credentials grant type  (Recommended)

 

curl -X

POST 'https://api.equinix.com/oauth2/v1/token'

-H "content-type: application/json"

-d '{

"grant_type": "client_credentials",

"client_id": "ABCDE12345",

"client_secret": "FGHIJ67890"

}'

 

The description of the body parameters is as follows:

 

Body Parameter Name Mandatory Type Example Applicable Values Description
grant_type Yes string password

"password"

"client_credentials"

Different ways to authorize access to resources. It indicates the type of grant to be presented in exchange for an access token.
user_name Yes string john.doe@example.com   The Equinix login username. This field is optional for client credentials grant type.
user_password Yes string jd1@#$   The Equinix login password. This field is optional for client credentials grant type.
client_id Yes string ABCDE12345   A special ID generated by the Equinix Developer Platform.
client_secret Yes string FGHIJ67890   A special key generated by the Equinix Developer Platform.
password_encoding No string md5-b64 "md5-b64"

An optional field for users who wish to encrypt their password when requesting an access token. Currently, only “md5-b64” hashing is supported. This field is only applicable to users who use password grant. 

 

 

Click here to learn how to encrypt your password using md5-b64 hashing.

 

 

Refer to Generating a Client ID and Client Secret key under the Getting Started section for instructions on how to create a client ID and client secret.

 

If you are unaware of your user credentials for the Equinix Developer Platform, contact your local Equinix Service Desk. 

 

Once authenticated, the respective token and timeout details will be sent to you as shown in the sample JSON responses below.

 

Sample response when using password grant type

 

{

    "access_token": "qwErtY8zyW1abcdefGHI",

    "token_timeout": "3600",

    "user_name": "john.doe@example.com",

    "token_type": "Bearer",

    "refresh_token": "zxcvbn1JKLMNOPQRSTU",

    "refresh_token_timeout": "5184000"

}

 

Refresh token details will only be sent to customers that use password grant.

 

Sample response when using client credentials grant type

 

{

    "access_token": "qwErtY8zyW1abcdefGHI",

    "token_timeout": "3600",

    "user_name": "john.doe@example.com",

    "token_type": "Bearer",

}

 

The description of the response payload is as follows:

 

Field Name Type Example Applicable Values Description
access_token string qwErtY8zyW1abcdefGHI   The authorization token to be used in subsequent API calls. 
token_timeout string 3600   The lifetime of an access token in seconds. For example, the value "3600" denotes that the access token will expire in one hour from the time the response was generated.
user_name string john.doe@example.com   The Equinix login username.
token_type string Bearer

"Bearer"

The type of token. 
refresh_token string zxcvbn1JKLMNOPQRSTU   Access tokens have limited lifetimes. If your application needs access to an API beyond the lifetime of a single access token, you can obtain a refresh token. A refresh token allows your application to obtain new access tokens. This information is only applicable to "password" grant users. 
refresh_token_timeout string 5184000   The lifetime of a refresh token in seconds. For example, the value "5184000" denotes that the refresh token will expire in 60 days from the time the response was generated. This information is only applicable to "password" grant users.

 

To make a request to Equinix APIs, add the Authorization header to the HTTP request with the word "Bearer" prepended to the access token. For example with curl use,  -H "Authorization: Bearer qwErtY8zyW1abcdefGHI"

 

Refresh Token Flow

You can use a valid refresh token to obtain new access tokens to be used in API calls. A refresh token is valid for 60 days. You must submit your Client ID, Client Secret and Refresh Token to obtain refresh access tokens as shown in the sample curl command below.

 

curl -X

POST 'https://api.equinix.com/oauth2/v1/refreshaccesstoken'

-H "content-type: application/json" 

-d '{

"client_id": "ABCDE12345",

"client_secret": "FGHIJ67890",

"refresh_token": "zxcvbn1JKLMNOPQRSTU"

}'

 

The description of the body parameters are as follows:

 

Body Parameter Name Mandatory Type Example Applicable Values Description
client_id Yes string ABCDE12345   A special ID generated by the Equinix Developer Platform.
client_secret Yes string FGHIJ67890   A special key generated by the Equinix Developer Platform.
refresh_token Yes string zxcvbn1JKLMNOPQRSTU   A refresh token allows your application to obtain a new access token and is provided in the response payload of an access token call.

 

Once requested, a new set of access token, refresh token, and timeout details will be sent to you.

 

{

    "access_token": "1abcdefGHIqwErtY8zyW",

    "token_timeout": "3600",

    "user_name": "john.doe@example.com",

    "token_type": "Bearer",

    "refresh_token": "1JKLMNOPQRSTUzxcvbn",

    "refresh_token_timeout": "5184000"

}

 

Refer to Generating a Client ID and Client Secret key under the Getting Started section for instructions on how to create a client ID and client secret.

 


body: 

Launch virtual devices

 

 

To create a virtual device you must know the following:

 

1) Which virtual device type (deviceTypeCode) you want, what software type (packageCode) you need, and the location where you want your virtual device (metroCode).

2) Equinix account number. Your account must be in the Active or Pending status. 

3) License option (licenseMode). If you want a subscription license (Equinix manages license and charges monthly), then you do not need to worry about licensing options. We offer subscription licenses for Cisco, Juniper, and Palo Alto devices. However, if you wish to order a Fortinet device, you must bring your own license as the subscription option is not available at this time.

 

If you have all the necessary information, then skip ahead to Step 4 and create a virtual device. Otherwise, follow the steps to get information and create a device:

 

If you do not have all the necessary information, you can still save as a draft. You must provide deviceTypeCode, accountNumber/accountReferenceId, and metroCode to save a draft.

 

Refer to the Network Edge deployment guide to know pre-requisites/conditions to bring your own license option (BYOL) and for other additional services like BGP peering, and VPN configuration.

 


body: 
Step 1: Authenticate

Submit your user credentials, Client ID, and Client Secret for OAuth2 authentication.

 

Refer to Generating a Client ID and Client Secret key under Getting Started section for instructions on how to create client ID and client secret and refer to Requesting Access and Refresh tokens for instructions on how to call Oauth API to validate and authenticate your credentials.

 

If you are unaware of your user credentials for Network Edge, contact your local Equinix Service Desk. 

 


body: 
Step 2: Get metro, device types, and account

 

2a) Get metro

 

Call Get metro API to find out all the available metros (metroCode) where you can launch a virtual device.  

 

You may skip this step if you already know the available metros.

 

 

2b) Get device types

 

Call Get device types API to find out which virtual device (e.g., router or firewall) you want to launch on the NE platform (deviceTypeCode). You will learn about the metro regions where virtual devices are available (metroCode), vendors of devices, available software packages (packageCode), and all possible licensing and throughput options.  

 

You may skip this step if you already know which device you want.

 

2c) Get account

 

Call Get account API to check your account number (or acountReferenceId) and status in the metro where you want a virtual device. For billing reasons, you must have an account in the metro where you want a virtual device, either in the Active or Pending state. To learn how to create an account, go here.

 

If you are a reseller trying to create a device for your customer, you must ensure that the customer's and your (reseller's) accounts are both in the Active or Pending status. Your account will get billed, however, you must send the customer's account number to the POST API to create a device for your customer.

 

You may skip this step if you already know your account number (or accountReferenceId) and status.  

 


body: 
Step 3: Licensing options 

If you want to BYOL (bring your own license) then you may want to upload a license file or a license code/token/ID depending on what your vendor offers. Keep in mind that Equinix does not offer Fortinet subscription licenses at this time.

 

   For Cisco and Palo Alto devices, you must provide a license token at the time you create a device if you wish to BYOL.

   For Juniper and Fortinet devices, you need to upload a license file to create a device if you wish to BYOL.

 

There are three APIs to address each of the licensing scenarios in case you want to bring your own license (BYOL). Check the Network Edge deployment guide for licensing options for all the available virtual devices. 

 

3a) Posting a license when creating a device (BYOL)

To bring your own license (BYOL) for a Juniper or a Fortinet device, use Post a license file before creating a device API to upload a license file. You will get a file ID that you can use to create a virtual device. In case you have an HA Juniper device that has a secondary device for high availability, you can use the same fileId for both the primary and secondary devices. 

For a Cisco or Palo Alto device, enter a license token in the create device payload to bring your own license. 

 

3b) Posting a license after creating a device (BYOL)

If your license did not register (REGISTRATION_FAILED) although your device is provisioned, use Post a license file after creating a device  API to re-post a license file. You must upload two files in case you have an HA device that has a secondary device for high availability. 

 

3c) Post a license code/token/ID

If you have a Cisco or a Palo Alto device, you can use Post a license code/token/ID  API to update a license token/code/ID in case the license fails to register (REGISTRATION_FAILED). You may use the same or two different tokens in case you have an HA device that has a secondary device for high availability. 

 

 


body: 
Step 4: Create virtual devices

POST /ne/v1/device

 Method  POST
 URL or End Point  /ne/v1/device
 Headers  Authorization token, Content-Type
 Query Parameters  draft, draftUUID
 Body Parameters

 additionalBandwidth, deviceTypeCode, hostNamePrefix, licenseFileId, licenseMode, licenseToken, metroCode, 

 notifications[...], packageCode, termLength,

 throughput, throughputUnit, virtualDeviceName, orderingContact, acl[...], accountNumber, accountReferenceId, 

 purchaseOrderNumber, secondary   {accountNumber, accountReferenceId, additionalBandwidth, licenseFileId, 

 licenseToken, metroCode, notifications[...], acl[...],

 sshUsers[{sshUserUuid, action, sshUsername, sshPassword}], virtualDeviceName"}

 

To create an HA device that has a secondary device for high availability, please do the following:

 

1) Set parameters of the optional secondary object

 

2) Both devices use the same license type, either SUB (subscription) or BYOL (bring your own license). In case you want to BYOL for an HA device, you may or may not need two different license files or tokens depending on your choice of vendor.

 

   a) For a Cisco HA device, you may use the same license token for the primary and secondary devices if you want to BYOL (bring your own license). 

   b) For a Juniper HA device, you may or may not use the same license file if you want to BYOL (bring your own license). 

   c) For a Palo Alto HA device, you may or may not use the same license token in case you want to BYOL (bring your own license).

 

3) If you are a reseller trying to create an HA device for your customer, please make sure that both the primary and secondary metros are in the same country. Also, the primary and secondary account numbers must be the same. The reseller's account will get billed, however, this API accepts the customer's account number to create devices for the customer. The above restrictions are necessary as each customer is associated with a reseller's billing account.

 

To obtain an authorization key, refer to Requesting Access and Refresh tokens under the Getting Started section.

 

The following screenshot shows a sample curl request to create a virtual device with NO secondary device (non-HA).

 

curl -X

POST "https://api.equinix.com/ne/v1/device?draft=false"
-H "content-type: application/json"
-H "Authorization: Bearer jnSoUKaJHpzMnU0toROpUHmqnwEP"
-d '{

  "throughput":500,

  "throughputUnit":"Mbps",

  "metroCode":"DC",

  "deviceTypeCode":"CSR1000V",

  "termLength":"12",

  "licenseMode":"Sub",

  "packageCode":"SEC",

  "virtualDeviceName":"Test-device-006-SROY",

  "notifications":["mest@equinix.com","test@equinix.com"],

  "hostNamePrefix":"SROY123",

  "sshUsers":[{"action":"CREATE","sshUsername":"tatiyana1","sshPassword":"Tatiyana"},{"action":"REUSE","sshUserUuid":"72902689-dff7-437d-8832-4bc8f3495252"}],

  "acl":["10.10.10.1/32"],

  "purchaseOrderNumber":"234567",

  "accountNumber":"2252619",

  "additionalBandwidth":"100"

}'

 

The following screenshot shows a sample curl request to create an HA virtual device that has a secondary device for high availability (HA). 

 

curl -X

POST "https://api.equinix.com/ne/v1/device?draft=false"
-H "content-type: application/json"
-H "Authorization: Bearer jnSoUKaJHpzMnU0toROpUHmqnwEP"
-d '{

  "throughput":500,

  "throughputUnit":"Mbps",

  "metroCode":"DC",

  "deviceTypeCode":"CSR1000V",

  "termLength":"12",

  "licenseMode":"Sub",

  "packageCode":"SEC",

  "virtualDeviceName":"Test-device-006-SROY",

  "notifications":["mest@equinix.com","test@equinix.com"],

  "hostNamePrefix":"SROY123",

  "sshUsers":[{"action":"CREATE","sshUsername":"tatiyana1","sshPassword":"Tatiyana"},{"action":"REUSE","sshUserUuid":"72902689-dff7-437d-8832-4bc8f3495252"}],

  "acl":["10.10.10.1/32"],

  "purchaseOrderNumber":"234567",

  "accountNumber":"2252619",

  "secondary":

  {"metroCode":"DC",

  "notifications":["test@gmail.com"],

  "virtualDeviceName":"Test-device-006-SROY - secondary",

  "additionalBandwidth":"200",

  "sshUsers":[{"action":"CREATE","sshUsername":"mekana12","sshPassword":"Mekana123"},{"action":"REUSE","sshUserUuid":"72902689-dff7-437d-8832-4bc8f3495252"},

  {"action":"REUSE","sshUserUuid":"a394dee9-d71d-4446-9210-c948cdd18a4b"}],

  "acl":["10.10.10.2/32","10.10.10.1/32"],

  "accountNumber":"2252619"},

  "additionalBandwidth":"100"

}'

 

The description of the query parameters is as follows:

 

Query Parameter Name Mandatory Type Example Possible Values Description
draft No boolean False True, False Default=false. To save a draft, set draft=true. You must provide deviceTypeCode, accountNumber/accountReferenceId, and metroCode to save a draft. sshUsers and licenseFileId information will not be saved for drafts. Also, this API will not do access control list validation when you save a draft. 
draftUUID No string ec68e425-f973-452e-a866-76be5844d0ba   To create a device from a draft that you saved earlier, provide the unique Id of the draft (draftUUID). 

 

The description of the body parameters is as follows:

 

Body Parameter Name Mandatory Type Example Possible Values Description
deviceTypeCode Yes string CSR1000V

 

Virtual device type (device type code).
accountNumber No string 10478397

 

Account number. Either an account number or an account referenceId is required to create a virtual device. Note to resellers creating a device for a customer: Your (reseller's) account will get billed, however, you must send the customer's account number to this API to create a device for your customer.
accountReferenceId No string 791281   Account reference Id. This is a temporary ID that can be used to create a device when your account is still pending, not active. Either an account number or an account referenceId is required to create a virtual device. 
hostNamePrefix Yes string mySR   Host name prefix. This gets included as part of an FQDN that ensures that the device is reachable from approved sources, if desired. Only a-z, A-Z, 0-9 and hyphen(-) are allowed. It should start with a letter and end with a letter or a digit. Also, it should be minimum 2 and maximum 10 characters long. 
virtualDeviceName Yes string CiscoSTROY   Virtual device name for identification. This should be minimum 3 and maximum 50 characters long. 
orderingContact No string subuser01   Username of a reseller's customer. This field is mandatory in case a reseller is ordering a device for one of its customers. This contact will receive order and cancellation notifications. 
licenseFileId No string 6651aef5-e738-411f-8675-5f6b7b9cd429   License file Id is mandatory for some vendors-devices. If you select subscription license model (SUB), then you do not need to provide a licenseFileId. For Juniper HA devices, you may use the same license file for both the devices. 
licenseMode Yes string BYOL BYOL, SUB License type. One of SUB (subscription) or BYOL (bring your own license) from your vendor. 
licenseToken No string V74191621   License token is mandatory for some vendor-devices that provide/accept a license token. You do not need to provide a license token if you want a subscription model or if your vendor provides license files. For Cisco devices, you may use the same token for both the primary and secondary devices. For Palo Alto HA devices, you may provide just one or two different tokens. 
metroCode Yes string SV   Metro code. You may provide two different metros for your HA device. However, both metros must be in the same country if you are a reseller trying to create a device for your customer. This restriction is necessary as a customer is associated with a reseller's billing account.
notifications Yes array test1@example.com   Email addresses for device life-cycle notification. We need a minimum of 1 and no more than 5 email addresses. You may have a different notification list for your HA device that has a secondary device for high availability. 
packageCode Yes string VM100   Software package code. 
sshUsers No array[object] {
        "sshUserUuid": "",
        "action": "CREATE",
        "sshUsername": "cust00011_DCT",
        "sshPassword": "projPass!"
      }
  SSH users. You may have two distinct sets of ssh users in case you have an HA device with a secondary device for high availability. 
termLength No integer 24   Billing term length in months.
throughput No integer 500   Throughput. Mandatory for most devices, e.g. CSR1000V
ThroughputUnit No string Mbps   Throughput unit. Mandatory for most devices, e.g. CSR1000V.
acl No array[string] ["192.168.10.0/24"]   IP addresses, no more than 50, in CIDR format. You may have two distinct sets of ACLs in case you have an HA device with a secondary device for high availability.  
purchaseOrderNumber No string 3456789   Purchase order number. Optional field that customers can use to track this device creation to their own purchase order number. 
additionalBandwidth No integer 100   Additional bandwidth. You may have a different additional bandwidth for your secondary device in case you have an HA device. 
secondary No object secondary{}   Object containing the optional HA device details to create a secondary device for high availability. 
sshUserUuid No string ef673cd4-9fc2-4ab4-810e-7274aaf7bc2d   Required for DELETE, REUSE operations. In case you want to REUSE an existing user, please provide the unique Id of the user. 
action No string CREATE CREATE, DELETE, REUSE Action to be performed. 
sshUsername No string cust00011_DCT   SSH Username
sshPassword No string projPass!   SSH Password

 

Sample response for a non-HA device.

 

{
    "uuid": "74d8c6b6-3153-4271-9f0e-45bdc7094dec"
}

 

Sample response for a virtual device with an additional secondary device for high availability.

 

{
    "uuid": "74d8c6b6-3153-4271-9f0e-45bdc7094dec",
    "secondaryUUID": "de5cf79b-3d16-4ccd-841b-3b68ecda2142"
}

 

The description of the response payload is as follows:

 

Field Type Example Values Description
uuid string b43ba509-a7d9-4334-8dee-dc4f29bf2e77 Unique identifier of the virtual device.
secondaryUUID string 92c2e49d-2c35-432d-a9af-016920bef70c Unique identifier of the secondary virtual device (HA).

 

 

When a device is created, the device transitions through various states within the Equinix infrastructure. These states can be monitored using the "status" response attribute of the Get virtual device {UUID} API. Your device must be provisioned and your license must be registered before you can use this virtual device to connect to cloud service providers and take advantage of other services like BGP peering and VPN termination. 

 

Virtual device "status"  Description
INITIALIZING Equinix is in the process of reserving resources and creating the device.
PENDING_ACCOUNT Customer's account is not approved. The device creation will continue once the account gets approved.
PROVISIONING Device is booting.
WAITING_FOR_PRIMARY The secondary device is ready but the primary is not. This state might appear only if you have requested a secondary device for high availability (HA). 
WAITING_FOR_SECONDARY The primary device is ready but the secondary is not. This state might appear only if you have requested a secondary device for high availability (HA). 
FAILED Device creation failed. 
PROVISIONED Device is ready. 

 

 

When an end-user deletes a device using the DELETE virtual device API,  the device transitions through the following states within the Equinix infrastructure. 

 

Virtual device "status" under /ne/v1/device/{uuid} Description
DEPROVISIONING Equinix accepted customer's request to delete virtual device. 
DEPROVISIONED Device is deprovisioned/deleted. 

 


body: 
Sample payloads for specific devices/licensing options

 

Parameter Name CSR1000V subscription CSR1000V BYOL Juniper Juniper Palo Alto Palo Alto Fortinet
deviceTypeCode CSR1000V CSR1000V VSRX VSRX PA-VM PA-VM FG-VM
hostNamePrefix myHost123 myHost123 myHost123 myHost123 myHost123 myHost123 myHost123
licenseMode Sub BYOL BYOL Sub BYOL Sub BYOL
licenseToken  
ZTRjZTdlYmYtZjQ3
    6789992    
licenseFileId     cf92ee6f-286f-496e-b4a1-7b4d1802109e       cf92ee6f-286f-496e-b4a1-7b4d1802109e
notifications test@equinix.com test@equinix.com test@equinix.com test@equinix.com test@equinix.com test@equinix.com test@equinix.com
metroCode DC DC DC DC DC DC DC
acl 192.168.1.1/32 192.168.1.1/32 192.168.1.1/32 192.168.1.1/32 192.168.1.1/32 192.168.1.1/32 192.168.1.1/32
packageCode SEC SEC STD STD VM100 VM100 VM02
throughput 500 500 1 1 500 500  
throughputUnit Mbps Mbps Gbps Gbps Mbps Mbps  
virtualDeviceName myCiscoSubSR myCiscoByolSR myJuniperSR myJuniperSR myPaloAltoSR myPaloAltoSR myFortinetSR
orderingContact subuser01 subuser01 subuser01 subuser01 subuser01 subuser01 subuser01
accountNumber 1234567 1234567 1234567 123456 1234567 123456 1234567
action CREATE CREATE CREATE CREATE CREATE CREATE CREATE
sshUsername myTest myTest myTest myTest myTest myTest myTest
sshPassword myProjPass! myProjPass! myProjPass! myProjPass! myProjPass! myProjPass! myProjPass!
addtionalBandwidth 100 100 100 100 100 100 100
purchaseOrderNumber 888888 888888 888888 888888 888888 888888 888888

 


body: 
SSH user and ACL (Access IP address) management 

You can add ssh users and a list of ACL (Access IP addresses) at the time you create your virtual device. To manage the list of ssh users and ACLs for an existing virtual device, you have the following APIs:

 

   1)  GET SSH users

   2)  GET SSH user {uuid}

   3)  POST SSH user

   4)  DEL SSH user

   5)  PUT ACL

 

Refer to API Reference section for detailed instructions about these APIs or just click on the above links. 

 

 


body: 
Handling device failures

 

1) Device provisioning failures

            Device provisioning takes time, depending on the vendor selected. If your virtual device fails to provision within an hour and is still stuck in PROVISIONING, WAITING_FOR_PRIMARY, WAITING_FOR_SECONDARY or FAILED status, you should open a support ticket to address the issue.

 

2)Device recovery failure

            If your device shuts down for any reason, an automatic recovery will be initiated, and your device will move to RECOVERY_INIT status. If the recovery goes through successfully, the device will move back to PROVISIONED status. If the device fails to recover, you may want to create a support ticket to help resolve the issue. 

Virtual device "status"  Description
RECOVERY_INIT The device is recovering after a failure. 
FAILED Device recovery failed. 
PROVISIONED The device is ready to use. 

 

 

 

 


body: 
Handling licensing failures

1) License registration failures

If your device fails to register successfully for a subscription license, you should open a support ticket with Equinix. However, if your device fails to register successfully for a BYOL (bring your own license), please make sure your license file or token is valid. Also, you may want to retry uploading the license using Equinix APIs.

 

              a) If you have already created a virtual device, use Post a license file after creating a device  API to retry posting a license file. You can also use this API to renew a license that is about to expire. You must upload two files in case you have an HA device that has a secondary device for high availability. 

 

              b) If you have a Cisco or a Palo Alto device, you can use Post a license code/token/ID  API to update a license token/code/ID. You may use the same or two different tokens in case you have an HA device that has a secondary device for high availability. 

 

 

2) License de-provisioning failures

 

When you de-provision a device, your license will move to "N/A" status under most circumstances. However, if a third-party is involved in license de-registration, your license may go through UNREGISTERING, UNREGISTERED or UNREGISTRATION_FAILED states. If the license fails to de-register, the Equinix team will look into it. 

 

 


body: 

Connect to Cloud Service Providers

   Connect to AWS          

   Connect to Azure          

   Connect to Google          

   Connect to Oracle

   Connect to other service providers

 


body: 

Connect to AWS

You can create a connection between your Equinix virtual device and AWS Direct Connect. 

 

Click here to watch a video on how to create a virtual device and connect to AWS using Network Edge Portal. 

 


body: 
How to establish an L2 connection to AWS?
 

 

What do you need to create a connection? 

 

     1) A provisioned Equinix virtual device (virtualDeviceUUID) with a registered license. In case you have an optional secondary virtual device, you also need the Id of the secondary device.

     2) Authorization key from your provider (account ID from AWS). In case you have an optional secondary virtual device, you also need an authorization key for your secondary device. The two authorization keys will be the same if they belong to the same account. 

     3) Unique Id of the provider's service profile (profileUUID), metro (sellerMetroCode), and region (sellerRegion) of the provider

 

If you already have all the information and authentication credentials, you can skip ahead to Step 2f and create a connection. Otherwise, go through the steps to retrieve information.

 

body: 
Step 1: Retrieve AWS Account Info

Locate your AWS account ID using the AWS Management console.

 

The AWS Account ID is a 12 - digit number and is essential for creating an AWS Direct Connect connection.

 

 


body: 
Step 2: Create Connection

2a) Authenticate

Submit your user credentials, Client ID, and Client Secret for OAuth2 authentication.

 

Refer to Generating a Client ID and Client Secret key under Getting Started section for instructions on how to create client ID and client secret and refer to Requesting Access and Refresh tokens for instructions on how to call Oauth API to validate and authenticate your credentials.

 

If you are unaware of your user credentials for Network Edge platform, contact your local Equinix Service Desk. 

 

2b) Get virtual devices

Find out your available virtual devices on the NE platform and their unique Ids (UUIDs). Refer to Get virtual devices under the API Reference section for detailed instructions. You can only create connections for a provisioned virtual device with a registered license. 

 

You may skip this step if you already know your available virtual devices.

 

2c) Get metros

Find out metro regions (metroCodes) where the NE platform is available. Refer to Get metros under the API Reference section for detailed instructions. 

 

You may skip this step if you already know the metro code.  

 

 

2d) Get Service Profile

Identify all seller/service profiles available for a given metro or metros. Refer to Get L2 service profiles under the API Reference section to find profileUUID, sellerMetroCode, and sellerRegion.

 

You may skip this step if you already know the service profile details.

 

2e) Get ValidateAuthorizationKey

Verify whether a connection can be established between your AWS Account Info and the seller profile selected earlier by calling Get validateAuthorizationKey API

 

You may skip this step if you are certain that your key is authorized for creating connections with the selected service profile.

 

2f) Post Connections

POST /ne/v1/l2/connections

Method POST
URL or End Point /ne/v1/l2/connections
Headers Authorization token, Content-Type
Query Parameters Not applicable
Body Parameters virtualDeviceUUID, primaryName, profileUUID, speed, speedUnit, notifications [...], purchaseOrderNumber, sellerRegion, sellerMetroCode, authorizationKey, secondaryVirtualDeviceUUID, secondaryName, secondarySpeed, secondarySpeedUnit, secondaryAuthorizationKey, secondarySellerMetroCode, secondarySellerRegion

 

The POST connections API creates a Layer 2 Connection between your virtual device and the destination service profile. 

 

To obtain an authorization key, refer to Requesting Access and Refresh tokens section under Getting Started.

 

The following screenshots show sample curl requests to create a layer 2 AWS connection for HA and non-HA virtual devices.

 

AWS Connection for a non-high availability virtual device

 

curl -X

POST "https://api.equinix.com/ne/v1/l2/connections"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

-d '{

  "virtualDeviceUUID": "8c2845e5-be83-4561-ba2b-a53a7e4cf5ec",
  "primaryName": "JohnDoe_AWS_1",
  "profileUUID": "3214888b-39b0-49ea-a232-005088dc9c84",
  "speed": 50,
  "speedUnit": "MB",
  "notifications": [
    "JohnDoe@equinix.com"
  ],
  "purchaseOrderNumber": "1234567890",

  "sellerRegion": "us-west-1",
  "sellerMetroCode": "SV",
  "authorizationKey": "123456789012"

}'

 

AWS Connection for a high availability virtual device 

 

curl -X

POST "https://api.equinix.com/ne/v1/l2/connections"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

-d '{

  "virtualDeviceUUID": "8c2845e5-be83-4561-ba2b-a53a7e4cf5ec",
  "primaryName": "JohnDoe_AWS_1",
  "profileUUID": "3214888b-39b0-49ea-a232-005088dc9c84",
  "speed": 50,
  "speedUnit": "MB",
  "notifications": [
    "JohnDoe@equinix.com"
  ],
  "purchaseOrderNumber": "1234567890",

  "sellerRegion": "us-west-1",
  "sellerMetroCode": "SV",
  "authorizationKey": "123456789012",

  "secondaryVirtualDeviceUUID": "7c2845e5-be83-4561-ba2b-a53a7e4cf5ez",

  "secondaryName": "JohnDoe_AWS_2",

  "secondarySpeed": 50,

  "secondarySpeedUnit": "MB",

  "secondaryAuthorizationKey": "123456789012"
}'

 

The description of the body parameters is as follows:

 

Body Parameter Name Mandatory Type Example Applicable Values Description
virtualDeviceUUID Yes string 8c2845e5-be83-4561-ba2b-a53a7e4cf5ec   Unique ID of the virtual device.
primaryName Yes string JohnDoe_AWS_1   Name of the primary connection - An alpha-numeric 24 character string that can only include hyphens and underscores ('-' & '_').
profileUUID Yes string 999552b-39b0-49ea-a232-005088dc9c86   Unique identifier of the provider's service profile.
speed Yes integer 50   Speed/Bandwidth you would like to allocate to the connection.
speedUnit Yes string MB

'MB'

''GB'

Unit of the speed or bandwidth.
notifications Yes array  JohnDoe@equinix.com   An array of email ids for notification. Example Object: ["user@organization.com", "user@eu.company.com"]
purchaseOrderNumber No string 0987654321   An optional field to link the customer's purchase order number to Equinix, so the number gets reflected on the invoice.
sellerRegion Yes string us-west-1   Indicates the region in which the seller port resides.
sellerMetroCode Yes string SV   Provider location where you would like to connect. If the sellerMetroCode is empty, the metro code of the virtual device is set as the default seller metro code. 
authorizationKey Yes string 123456789012   Authorization Key obtained from the provider. Example: Account ID from AWS.
secondaryVirtualDeviceUUID No string 9c2845e5-be83-4561-ba2b-a53a7e4cf5em   Mandatory in case you have a secondary (high availability) device. This field represents the unique ID of the secondary device.
secondaryName No string JohnDoe_AWS_2   Mandatory in case you have a secondary (high availability) device. This field represents the name of the secondary connection. An alpha-numeric 24 character string that can only include hyphens and underscores ('-' & '_').
secondarySpeed No integer 50   Speed/Bandwidth you would like to allocate to the optional secondary connection.
secondarySpeedUnit No string MB

'MB'

'GB'

Unit of the speed or bandwidth of the optional secondary connection.
secondaryAuthorizationKey No string 123456789013  

Authorization key obtained from the provider for the optional secondary connection. Example: Account ID from AWS.

secondarySellerRegion No string us-east-1   The region in which the secondary seller port resides.
secondarySellerMetroCode No string DC   Provider location where you would like to connect your secondary connection.

 

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

 

Sample response for a virtual device (non HA).

 

{
    "message": "Connection Saved Successfully",
    "primaryConnectionId": "9999a8-0e07-44d0-944c-88a25d8d28f7",

    "status": "SUCCESS"
}

 

Sample response for a virtual device with an additional secondary device for high availability (HA).

 

{
    "message": "Connection Saved Successfully",
    "primaryConnectionId": "9999a8-0e07-44d0-944c-88a25d8d28f7",

    "secondaryConnectionId": "8eadc6b3-a44c-4ce9-bdba-ead9d7789202",

    "status": "SUCCESS"
}

 

The description of the response payload is as follows:

 

Field Name Type Example Description
message string Connection created successfully Indicates the status of the API call.
primaryConnectionId string 9999a8-0e07-44d0-944c-88a25d8d28f7 Indicates the primary connection ID  of the connection established.
secondaryConnectionId string 8eadc6b3-a44c-4ce9-bdba-ead9d7789202

Optional secondary connection Id in case you have a secondary device for high availability (HA).

status string SUCCESS Successful transaction.

 

 

Connections transition through various states within the Equinix and AWS infrastructure. These states can be monitored using the response attributes of the  Get L2 connections {connId}. The "status" attribute indicates the connection status in Equinix and the "providerStatus" indicates the status in AWS.

 

Equinix States AWS States
status providerStatus AWS Direct Connect State Description
PROVISIONING NOT_AVAILABLE   Connection request has not been yet sent to AWS.
PROVISIONED PENDING_APPROVAL 

Ordering -> Requested 

The connection awaits for acceptance.

 

 

You will see a card stating “Accept Hosted Connection”  on your ECXF - Portal dashboard.

 

PROVISIONED PROVISIONING Pending Connection establishment in progress.
PROVISIONED PROVISIONED Pending -> Available

The connection has been accepted by the client.

 

 

These status values will only be reflected after the below "Accept Connection" step is performed. 

 

 

Refer https://docs.aws.amazon.com/directconnect/latest/APIReference/API_Connection.html for the different AWS connection states.  

 

 

When an end-user deletes a connection using the DELETE Connections {uuid}  the connection transitions through the following states within the Equinix infrastructure. 

 

Equinix States
status providerStatus Description

DEPROVISIONING

DEPROVISIONING

Connection disbandment in progress.

DEPROVISIONED DEPROVISIONED

Connection deleted.

 


body: 
Step 3: Accept Connection

Accept the virtual connection using AWS Management Console, Equinix Network Edge Portal, or the below API.

 

Patch Connections

PATCH /ne/v1/l2/connections/{connid}

 Method  PATCH
 URL or End Point  /ne/v1/l2/connections/{connId}
 Headers  Authorization, Content-Type
 Query Parameters  action
 Body Parameters  AWS Access Keys (Access Key ID and Secret Access Key)

 

ConnId is an identifier unique for each connection.

 

The PATCH connections API accepts or rejects an L2 connection for a given connection connID.

 

To obtain an authorization key, refer to Requesting Access and Refresh tokens under the Getting Started section.

 

The following screenshots show a sample curl request to accept an L2 connection and its respective JSON response. 

 

curl -X

PATCH "https://api.equinix.com/ne/v1/l2/connections/9999a8-0e07-44d0-944c-88a25d8d28f7?action=Approve"

-H "content-type: application/json"

-H "Authorization: Bearer qwErtY8zyW1abcdefGHI"

-d '{

  "accesskey":"AKIAGGJKJU7BC3QJKYQ",

  "secretkey":"CXGJW1lWbqENEqSkBAK"

}'

 

The description of the query parameters and the request payload is as follows:

 

Query Parameter Name Mandatory Type Example Applicable Values Description
action Yes string Approve

"Approve"

"Reject"

The action to perform on the connection.
connId Yes string 9999a8-0e07-44d0-944c-88a25d8d28f7   The unique identifier of the connection.

 

Body Parameter Name Mandatory Type Example Description
accesskey Yes string AKIAGGJKJU7BC3QJKYQ Special keys provided by AWS to authenticate API requests.
secretkey Yes string CXGJW1lWbqENEqSkBAK Special keys provided by AWS to authenticate API requests.

 

{
    "message": "updated connection successfully",
    "primaryConnectionId": "9999a8-0e07-44d0-944c-88a25d8d28f7"
}

 

The description of the response payload is as follows:

 

Field Name Type Example Description
message string updated connection successfully Indicates the status of the PATCH API call.
primaryConnectionID string primaryConnectionId: "9999a8-0e07-44d0-944c-88a25d8d28f7" Indicates the primary connection ID of the connection that was accepted.

 

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

 

Refer

https://docs.aws.amazon.com/directconnect/latest/UserGuide/getting_started.html for instructions on how to accept the connection using the AWS console.

 


body: 

Connect to Azure

You can create a connection between your Equinix virtual device and Azure Express Route. 

 

Click here to watch a video on how to to create a virtual device and connect to Azure using Network Edge Portal. 

 


body: 
How to establish an L2 connection to Azure?

 

 

What do you need to create a connection? 

 

     1) A provisioned Equinix virtual device (virtualDeviceUUID) with a registered license. In case you have an optional secondary virtual device, you also need the Id of the secondary device.

     2) Authorization key from your provider (account ID from AWS). In case you have an optional secondary virtual device, you also need the authorization key of the secondary device. The two authorization keys will be the same if they belong to the same account. 

     3) Unique Id of the provider's service profile (profileUUID), metro (sellerMetroCode), and region (sellerRegion) of the provider

 

If you already have all the information and authentication credentials, you can skip ahead to Step 2f and create a connection. Otherwise, go through the steps to retrieve information.

 


body: 
Step 1: Retrieve Microsoft Service Key

Obtain a location-specific service key via the Azure portal.

 

 


body: 
Step 2: Create Connection

2a) Authenticate

Submit your user credentials, Client ID, and Client Secret for OAuth2 authentication.

 

Refer to Generating a Client ID and Client Secret key section under the Getting Started 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 Customer Portal, contact your local Equinix Service Desk. 

 

2b) Get virtual devices

Find out your available virtual devices (UUIDs) on the NE platform by calling Get virtual devices API.

 

You may skip this step if you already know your available virtual devices.

 

2c) Get metros

Gather available metro options (metroCode) where the NE platform is available by calling Get metro  API.

 

You may skip this step if you already know the metro code where you want your device.  

 

2d) Get Service Profile

Identify all seller/service profiles available for a given metro or metros by calling Get L2 Service Profiles. You need profileUUID, sellerMetroCode and sellerRegion to create a connection.

 

You may skip this step if you already know the service profile details.

 

2e) Get ValidateAuthorizationKey

Verify whether a connection can be established with your Azure service key and the seller profile selected in the previous step by calling Get validateAuthorizationKey API.

 

You may skip this step if you are certain that your key is authorized for creating connections with the desired service profile.

 

2f) Post Connections

POST /ne/v1/l2/connections

Method POST
URL or End Point /ne/v1/l2/connections
Headers Authorization, Content-Type
Query Parameters Not applicable
Body Parameters virtualDeviceUUID, primaryName, profileUUID, speed, speedUnit, notifications [...], purchaseOrderNumber,  secondaryVirtualDeviceUUID, secondaryName, secondarySpeed, secondarySpeedUnit,  namedTag, sellerMetroCode, authorizationKey

 

The POST connections API creates a Layer 2 Connection between your virtual device 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.

 

To obtain an authorization key, refer to Requesting Access and Refresh tokens under the Getting Started section.

 

The following screenshots show sample curl requests to create a layer 2 Azure connection for HA and non-HA virtual devices.

 

Azure Connection for a non-high availability virtual device

 

curl -X

POST "https://api.equinix.com/ne/v1/l2/connections"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

-d '{

  "virtualDeviceUUID": "ecb215dc-0d1d-4a48-a150-aacad8d3a371",

  "primaryName": "JohnDoePrimary",

  "profileUUID": "274afb42-6d3a-4114-8f7e-717efee792ae",

  "speed": 50,

  "speedUnit": "MB",

  "notifications": [

    "JohnDoe@equinix.com"

  ],

  "purchaseOrderNumber": "4562",

  "secondaryName": "JohnDoeSecondary",

  "namedTag": "Private",

  "sellerMetroCode": "DC",

  "authorizationKey": "fbc3c0e1-59e7-4bfe-b5f3-209dee6b692a"

}'

 

Azure Connection for a high availability virtual device

 

curl -X

POST "https://api.equinix.com/ne/v1/l2/connections"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

-d '{

  "virtualDeviceUUID": "ecb215dc-0d1d-4a48-a150-aacad8d3a371",

  "primaryName": "JohnDoePrimary",

  "profileUUID": "274afb42-6d3a-4114-8f7e-717efee792ae",

  "speed": 50,

  "speedUnit": "MB",

  "notifications": [

    "JohnDoe@equinix.com"

  ],

  "purchaseOrderNumber": "4562",

  "secondaryVirtualDeviceUUID": "03c2cfef-0ec2-4599-81c9-09efa0d7b0e7",

  "secondaryName": "JohnDoeSecondary",

  "secondarySpeed": 50,

  "secondarySpeedUnit": "MB",

  "namedTag": "Private",

  "sellerMetroCode": "DC",

  "authorizationKey": "fbc3c0e1-59e7-4bfe-b5f3-209dee6b692a"

}'

 

 

The description of the body parameters is as follows:

 

Body Parameter Name Mandatory Type Example Applicable Values Description
virtualDeviceUUID Yes string ecb215dc-0d1d-4a48-a150-aacad8d3a371   Unique ID of the virtual device.
primaryName Yes string JohnDoe_Dot1q_Manual   Name of the primary connection - An alpha-numeric 24 characters string which can include only hyphens and underscores ('-' & '_').
profileUUID Yes string 84c6616c-573a-447d-a478-9fab8fff284d   Unique identifier of the provider's service profile.
speed Yes integer 50  

Speed/Bandwidth you would like to allocate to the connection. If you do not know the speed, you can call the validateAuthorizationkey API and query using the ExpressRoute service key to obtain the speed.

speedUnit Yes string MB   Unit of the speed or bandwidth you would like to allocation to the connection.
notifications Yes array  JohnDoe@equinix.com

 

An array of email ids you would like to notify when there are any updates on your connection. Example Object: ["user@organization.com", "user@eu.company.com"]
purchaseOrderNumber No string 4562   An optional field to link the purchase order numbers to the connection on Equinix which would get reflected on the invoice.
secondaryVirtualDeviceUUID Yes string 03c2cfef-0ec2-4599-81c9-09efa0d7b0e7   The unique ID of the secondary virtual device. It is mandatory in case you have a secondary (high availability) device.
secondaryName Yes string JohnDoe2_Azure_QinQ   Name of the secondary connection - An alpha-numeric 24 characters string which can include only hyphens and underscores ('-' & '_').
secondarySpeed Yes string 50   Mandatory in case you have a secondary (high availability) device. Speed/Bandwidth you would like to allocate to the optional secondary connection.
secondarySpeedUnit Yes string MB

"MB"

"GB"

Mandatory in case you have a secondary (high availability) device. Unit of the speed or bandwidth of the optional secondary connection.
namedTag Yes string Private

"Private" 

"Public" 

"Microsoft" 

"Manual"

The type of peering you would like to set up with Azure Express Route.
sellerMetroCode Yes string DC   Provider location where you would like to connect. If the sellerMetroCode is empty, the metro code of the port is set as the default seller metro code.  
authorizationKey Yes string fbc3c0e1-59e7-4bfe-b5f3-209dee6b692a   Authorization Key obtained from the provider. Example: Service Key from Azure Express Route, Account ID from AWS, Pairing Key from Google Cloud Platform, OCID from Oracle Cloud Infrastructure - they all map to the authorization key property.

 

NE Participants can create up to three connections to Azure using the same Azure service key. However, all 3 connections must have different namedTags such as "private", "public", "Microsoft" or "Manual"  peering. Note that "Microsoft" peering requires special permission from Microsoft.

 

Maximum Number Of Connections

Peering Type (indicated by namedTag field)

3  pairs (3 primary and 3 redundant) Public
Private
Microsoft
Manual

 

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

 

Sample response for a virtual device (non HA).

 

{

    "message": "Connection Saved Successfully",
    "primaryConnectionId": "9349a8-0e07-44d0-944c-88a25d8d28f7",

    "status": "SUCCESS"

}

 

 

Sample response for a virtual device with an additional secondary device for high availability (HA).

 

{
    "message": "Connection Saved Successfully",
    "primaryConnectionId": "9994b8d-dcdb-45bc-b760-55368e16f3c4",
    "secondaryConnectionId": "888d4c1-5444-4511-b2e4-51f06f062974"
}

 

The description of the response payload is as follows:

 

Field Name Type Example Description
message string Connection Saved Successfully Indicates the status of the API call.
primaryConnectionId string 9994b8d-dcdb-45bc-b760-55368e16f3c4 Indicates the primary connection ID of the connection that was just created.
secondaryConnectionId string 888d4c1-5444-4511-b2e4-51f06f062974 Indicates the secondary connection ID of the connection that was just created.

 

When a connection is created, the connection transitions through various states within the Equinix and Azure infrastructure. These states can be monitored using the response attributes of the API Get L2 connections {connId}. The "status" attribute indicates the connection status in Equinix and the "providerStatus" indicates the status in Azure.

 

Equinix States  Azure States  
status providerStatus Provider Status Peerings Status Description
1. PROVISIONING NOT_AVAILABLE Not provisioned Not provisioned   Connection request has not been yet sent to Microsoft Azure.
2. PENDING_BGP_PEERING PENDING_BGP Provisioned Not provisioned

The connection has been approved and awaits for the customer to configure Microsoft peering on the Azure portal.

 

 

Note that the status will be “PENDING_BGP_PEERING” until peering is completed in the Azure portal and the status will only change to "PROVISIONED" once ECX Fabric syncs with Microsoft. If you want to synchronize the BGP peering instantly, you may use the Equinix Fabric Exchange portal.

3. PROVISIONING  PROVISIONED Provisioned Provisioned Provisioning completed at Microsoft's end and the connection is provisioning at Equinix's end.
4. PROVISIONED PROVISIONED Provisioned Provisioned The connection is provisioned.

 

 

 

 

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 /ne/v1/l2/connections/{connId}
status providerStatus Description

DEPROVISIONING

PROVISIONED

Connection disbandment in progress.

DEPROVISIONED DEPROVISIONED

Connection deleted.

 


body: 
Step 3: Setup Microsoft Peering

Configure BGP peering on the Azure portal and call the below API to synchronize the peering changes with Equinix. Once it is completed, the connection status retrieved via the Connections API should change from “Pending-BGP-Peering” to “Provisioned”

Alternatively, you can also synchronize the peering using the Equinix portal.

 

Refer to https://docs.microsoft.com/en-us/azure/expressroute/expressroute-howto-routing-portal-resource-manager for instructions on how to configure peering for an Express Route connection. 

 

Patch L2 Connections

PATCH l2/connection/bgpSync

 Method  PATCH
 URL or End Point  /ne/v1/l2/connection/bgpSync
 Headers  Authorization, Content-Type
 Query Parameters  Not applicable
 Body Parameters  authorizationKey

 

The PATCH connections API synchronizes the peering changes done in the Azure portal with Equinix.

 

If you are unaware of how to obtain an authorization key, refer to Requesting Access and Refresh tokens under the Getting Started section.

 

The following screenshots show a sample curl request to accept an L2 connection and its respective JSON response. 

 

curl -X

PATCH "http://api.equinix.com/ne/v1/l2/connection/bgpSync"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

-d '{

  "authorizationkey": "ASDFGH9JK0LMNBVCXZ"

}'

 

The description of the request payload is as follows:

 

Body Parameter Name Mandatory Type Example values Description
authorizationkey Y string ASDFGH9JK0LMNBVCXZ Connection credentials such as Account ID for AWS, Service key for Azure, etc.

 

{
    "message": "Bgp Peering was Initiated, connection will be updated shortly "
}

 

The description of the response payload is as follows:

 

Field Name Type Example values Description
message string Bgp Peering was Initiated, connection will be updated shortly  Status of the Patch API call.

 

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

 

Refer

https://docs.aws.amazon.com/directconnect/latest/UserGuide/getting_started.html for instructions on how to accept the connection using the AWS console.

https://ecxfabric-documentation.equinix.com/hc/en-us for instructions on how to accept the connection using the Equinix Cloud Exchange Fabric Portal.

Patch L2 Connections {connId}

 


body: 

Connect to Google

You can create a connection between your Equinix virtual device and Google cloud platform. 

 

Click here to watch a video on how to create a virtual device and connect to GCP using Equinix Cloud Exchange Fabric Portal. 

 


body: 
How to establish an L2 connection to Google?

 

 

What do you need to create a connection? 

 

     1) A provisioned Equinix virtual device (virtualDeviceUUID) with a registered license. In case you have an optional secondary virtual device, you also need the Id of the secondary device.

     2) Authorization key from your provider (account ID from AWS). In case you have an optional secondary virtual device, you also need the authorization key of the secondary device. The two authorization keys will be the same if they belong to the same account. 

     3) Unique Id of the provider's service profile (profileUUID), metro (sellerMetroCode), and region (sellerRegion) of the provider

 

If you already have all the information and authentication credentials, you can skip ahead to Step 2f and create a connection. Otherwise, go through the steps to retrieve information.

 


body: 
Step 1: Retrieve Google Pairing Key

Obtain your Google pairing key using the Google GCP portal.

 

The Google pairing key is a unique key essential for creating a Google GCP connection. For example, 2dfcdee7-b6f9-41d0-b98f-639151097693/us-west1/1. It comprises of three parts:

1. An alphanumeric key (2cfcdcc7-b6f9-41d0-b98f-639151099393)

2. Region (us-west1

3. Zone (1)

 

Ensure to connect to the region and zone indicated in your pairing key when creating a connection. For example, the above pairing key will only work for zone 1 connections.

 

Refer https://cloud.google.com/free/docs/gcp for instructions on how to signup for GCP. 

 


body: 
Step 2: Create Connection

2a) Authenticate

Submit your user credentials, Client ID, and Client Secret for OAuth2 authentication.

 

Refer to Generating a Client ID and Client Secret key under Getting Started section for instructions on how to create client ID and client secret and refer to Requesting Access and Refresh tokens for instructions on how to call Oauth API to validate and authenticate your credentials.

 

If you are unaware of your user credentials for Equinix Cloud Exchange Fabric, contact your local Equinix Service Desk. 

 

2b) Get virtual devices

Find out your available virtual devices on the NE platform by calling Get virtual devices .

 

You may skip this step if you already know your available virtual devices.

 

2c) Get Service Profile

Identify all seller/service profiles available for a given metro or metros by calling GET L2 Service Profiles.

 

You may skip this step if you already know the service profile details.

 

2d) Get ValidateAuthorizationKey

Verify whether a connection can be established between your Google pairing key and the seller profile zone selected earlier by calling Get L2 validate authorization key.

 

You may skip this step if you are certain that your key is authorized for creating connections with the selected service profile.

 

2e) Post Connections

POST /ne/v1/l2/connections

Method POST
URL or End Point /ne/v1/l2/connections
Headers

Authorization, Content-Type

Query Parameters Not applicable
Body Parameters virtualDeviceUUID, primaryName, profileUUID, speed, speedUnit, notifications [...], purchaseOrderNumber, sellerRegion, sellerMetroCode, authorizationKey, secondaryVirtualDeviceUUID, secondaryName, secondaryprofileUUID, secondarySpeed, secondarySpeedUnit, secondaryNotifications, secondarySellerRegion, secondarySellerMetroCode, secondaryAuthorizationKey

 

The POST connections API creates a Layer 2 Connection between your virtual device and the destination service profile. 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 key, refer to Requesting Access and Refresh tokens section under Getting Started.

 

The following screenshots show sample curl requests to create a layer 2 GCP connection for HA and non-HA virtual devices.

 

GCP Connection for a non-high availability virtual device

 

curl -X

POST "https://api.equinix.com/ne/v1/l2/connections"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

-d '{

  "virtualDeviceUUID": "ecb215dc-0d1d-4a48-a150-aacad8d3a371",  

  "primaryName": "JohnDoeGoogle1",

  "profileUUID": "e0780ad2-adbb-49f8-b750-391dcf59236c",

  "speed": 50,

  "speedUnit": "MB",

  "notifications": [

    "johnDoe@equinix.com"

  ],

  "purchaseOrderNumber": "78921",

  "sellerRegion": "us-west1",

  "sellerMetroCode": "DC",

  "authorizationKey": "ec76e25d-89c3-47b3-814f-39916b4aa85e/us-west1/1"

}'

 

GCP Connection for a high availability virtual device connecting to the same or different zones

 

curl -X

POST "https://api.equinix.com/ne/v1/l2/connections"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

-d '{

  "virtualDeviceUUID": "ecb215dc-0d1d-4a48-a150-aacad8d3a371",  

  "primaryName": "JohnDoeGoogle1",

  "profileUUID": "e0780ad2-adbb-49f8-b750-391dcf59236c",

  "speed": 50,

  "speedUnit": "MB",

  "notifications": [

    "johnDoe@equinix.com"

  ],

  "sellerRegion": "us-west1",

  "sellerMetroCode": "DC",

  "purchaseOrderNumber": "78921",

  "authorizationKey": "ec76e25d-89c3-47b3-814f-39916b4aa85e/us-west1/1",

  "secondaryVirtualDeviceUUID": "03c2cfef-0ec2-4599-81c9-09efa0d7b0e7",

  "secondaryName": "JohnDoeGoogle2",

  "secondaryProfileUUID": "c60ebeab-8cc2-4d83-8b2a-a45bacd0d805",

  "secondarySpeed": 200,

  "secondarySpeedUnit": "MB",

  "secondaryNotifications": [

    "johnDoe@equinix.com"

  ],

  "secondarySellerRegion": "us-east1",

  "secondarySellerMetroCode": "DC",

  "secondaryAuthorizationKey": "5007a216-0014-43b3-b11c-8396f504aa62/us-west1/2"

}'

 

When creating a secondary connection from an (HA) device to GCP, you can either connect to the same profile zone or different profile zone.

 

The description of the body parameters is as follows:

 

Body Parameter Name Mandatory Type Example values Applicable values Description
virtualDeviceUUID Yes string ecb215dc-0d1d-4a48-a150-aacad8d3a371   Unique ID of the virtual device.
primaryName Yes string JohnDoe_GCP_QinQ   Name of the primary connection - An alpha-numeric 24 characters string which can include only hyphens and underscores ('-' & '_').
profileUUID Yes string 999552b-39b0-49ea-a232-005088dc9c86   Unique identifier of the provider's service profile.
speed Yes integer 50   Speed/Bandwidth you would like to allocate to the connection.
speedUnit Yes string MB   Unit of the speed or bandwidth you would like to allocation to the connection.
notifications Yes array string JohnDoe@equinix.com

 

An array of email ids you would like to notify when there are any updates on your connection. Example Object: ["user@organization.com", "user@eu.company.com"]
purchaseOrderNumber Yes string 0987654321   An optional field to link the purchase order numbers to the connection on Equinix which would get reflected on the invoice.
sellerRegion Yes string us-west-1   Indicates the region in which the seller port resides.
sellerMetroCode Yes string SV   Provider location where you would like to connect. If the sellerMetroCode is empty, the metro code of the port is set as the default seller metro code. 
authorizationKey Yes string c13d9edf-ee52-42b0-gf3y-889a7a65fe9e/us-west1/1   Authorization Key obtained from Google. It also indicates the destination zone and region of the connection.
secondaryVirtualDeviceUUID No string 03c2cfef-0ec2-4599-81c9-09efa0d7b0e7   The unique ID of the secondary virtual device. It is mandatory in case you have a secondary (high availability) device.
secondaryName No string JohnDoeGoogle2   Mandatory in case you have a secondary (high availability) device. This field represents the name of the secondary connection. An alpha-numeric 24 character string that can only include hyphens and underscores ('-' & '_').
secondaryProfileUUID No string c60ebeab-8cc2-4d83-8b2a-a45bacd0d805   Mandatory in case you have a secondary (high availability) device. Unique identifier of the secondary service profile to which the secondary connection is connected to.
secondarySpeed No integer 50   Mandatory in case you have a secondary (high availability) device. Speed/Bandwidth you would like to allocate to the optional secondary connection.
secondarySpeedUnit No string MB

"MB"

"GB"

Mandatory in case you have a secondary (high availability) device. Unit of the speed or bandwidth of the optional secondary connection.
secondaryNotifications No string JohnDoe@equinix.com   An array of email ids you would like to notify when there are any updates on your secondary connection. 
secondarySellerRegion No string us-east1   Mandatory in case you have a secondary (high availability) device. Indicates the region in which the seller resides.
secondarySellerMetroCode No string DC   Mandatory in case you have a secondary (high availability) device. Provider location where you would like your secondary connection to connect. 
secondaryAuthorizationKey No string 5007a216-0014-43b3-b11c-8396f504aa62/us-west1/2   Mandatory in case you have a secondary (high availability) device. Authorization key obtained from the provider for the optional secondary connection. Example: OCID from Oracle Cloud Infrastructure.

 

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

 

Sample response for a virtual device (non HA).

 

{
    "message": "Connection Saved Successfully",

    "primaryConnectionId": "934629-dfbf-4a0a-94fe-a426f0b0606e",

}

 

Sample response for a virtual device with an additional secondary device for high availability (HA).

 

{
    "message": "Connection Saved Successfully",

    "primaryConnectionId": "0f5ddc89-dfbf-4a0a-94fe-a426f0b0606e",

    "secondaryConnectionId": "ef8af73c-8e72-4515-ac6c-2aeb60fda548"

}

 

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 0f5ddc89-dfbf-4a0a-94fe-a426f0b0606e Indicates the primary connection ID.
secondaryConnectionID string ef8af73c-8e72-4515-ac6c-2aeb60fda548 Indicates the secondary connection ID.

 

When a connection is created, the connection transitions through various states within the Equinix and Google infrastructure. These states can be monitored using the response attributes of the API Get L2 connections {connId}. The "status" attribute indicates the connection status in Equinix and the "providerStatus" indicates the status in Google.

 

Equinix States Google States
status providerStatus Google GCP State Description
PROVISIONING NOT_AVAILABLE   Connection request has not been yet sent to Google.
PROVISIONED PENDING_APPROVAL

Waiting for service provider

The connection awaits for acceptance.

PROVISIONED PROVISIONING Activation needed -> BGP Configuration needed Connection establishment in progress.
PROVISIONED PROVISIONED Pending -> Available The connection has been accepted by the client.

 

Refer https://cloud.google.com/interconnect/docs/concepts/dedicated-overview for the different GCP connection states.  

 

 

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
status providerStatus Description

DEPROVISIONING

DEPROVISIONING

Connection disbandment in progress.

 

DEPROVISIONED DEPROVISIONED

Connection deleted.

 


body: 
Step 3: Activate Connection

Activate the virtual connection using Google Cloud Portal.

 

Refer to https://cloud.google.com/free/docs/gcp for instructions on how to activate the connection using Google Cloud Platform Console.

 


body: 

Connect to Oracle

You can create a connection between your Equinix virtual device and Oracle FastConnect. 

 

Click here to watch a video on how to create a virtual device and connect to Oracle FastConnect using Network Edge Portal. 

 


body: 
How to establish an L2 connection to Oracle?

 

 

What do you need to create a connection? 

 

     1) A provisioned Equinix virtual device (virtualDeviceUUID) with a registered license. In case you have an optional secondary virtual device, you also need the Id of the secondary device.

     2) Authorization key from your provider (account ID from AWS). In case you have an optional secondary virtual device, you also need the authorization key of the secondary device. The two authorization keys will be the same if they belong to the same account. 

     3) Unique Id of the provider's service profile (profileUUID), metro (sellerMetroCode), and region (sellerRegion) of the provider

 

If you already have all the information and authentication credentials, you can skip ahead to Step 2f and create a connection. Otherwise, go through the steps to retrieve information.

 


body: 
Step 1: Retrieve Oracle OCID

Obtain your Oracle OCID using the Oracle portal.

 

The OCID is a unique key essential for creating an Oracle FastConnect connection. 

 

Refer to https://docs.cloud.oracle.com/iaas/Content/Network/Concepts/fastconnectprovider.htm for instructions on how to signup for Oracle FastConnect. 

 


body: 
Step 2: Create Connection

2a) Authenticate

Submit your user credentials, Client ID, and Client Secret for OAuth2 authentication.

 

Refer to Generating a Client ID and Client Secret key under Getting Started section for instructions on how to create client ID and client secret and refer to Requesting Access and Refresh tokens for instructions on how to call Oauth API to validate and authenticate your credentials.

 

If you are unaware of your user credentials for Equinix Cloud Exchange Fabric, contact your local Equinix Service Desk. 

 

2b) Get virtual devices

Find out your available virtual devices on the NE platform by calling Get virtual devices. Unique Id (UUID) of your device is required to create a connection.

 

You may skip this step if you already know your available virtual devices.

 

2c) Get metros

Call Get metro API to find out your available metro options (metroCodes) where the NE platform is available.

 

You may skip this step if you already know where you want your device.  

 

2d) Get Service Profile

Identify all seller/service profiles available for a given metro or metros. Refer to Get L2 service profiles under the API Reference section to find profileUUIDsellerMetroCode, and sellerRegion.

 

You may skip this step if you already know the service profile details.

 

2e) Get ValidateAuthorizationKey

Verify whether a connection can be established between your Oracle OCID service key and the seller profile selected earlier by calling Get validateAuthorizationKey API.

 

You may skip this step if you are certain that your key is authorized for creating connections with the selected service profile.

 

2f) Post Connections

POST /ne/v1/l2/connections

Method POST
URL or End Point /ne/v1/l2/connections
Headers

Authorization, Content-Type

Query Parameters Not applicable
Body Parameters virtualDeviceUUID, primaryName, profileUUID, speed, speedUnit, notifications [...], purchaseOrderNumber, sellerRegion, sellerMetroCode, authorizationKey, secondaryvirtualDeviceUUID, secondaryName, secondarySpeed, secondarySpeedUnit, secondaryAuthorizationKey

 

The POST connections API creates a Layer 2 Connection between your virtual device and the destination service profile. 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 key, refer to Requesting Access and Refresh tokens section under Getting Started.

 

The following screenshots show sample curl requests to create a layer 2 Oracle connection for HA and non-HA virtual devices.

 

Oracle Connection for a non-high availability virtual device

 

curl -X

POST "https://api.equinix.com/ne/v1/l2/connections"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

-d '{

  "virtualDeviceUUID": "6c2845e5-be63-4261-ba1c-a53a7e4cf5ec",
  "primaryName": "JohnDoeOracle1",
  "profileUUID": "d7f5769b-9618-4d8e-b7dc-9e68ffd0a8b8",
  "speed": 1,
  "speedUnit": "GB",
  "notifications": [
    "JohnDoe@equinix.com"
  ],
  "purchaseOrderNumber": "456299",
  "sellerRegion": "us-ashburn-1",
  "sellerMetroCode": "DC",

  "authorizationKey": "ocid1.virtualcircuit.oc1.iad.aaaaaaaafzx4jybgymnyfjfwyxl7f4b6emvp3uast2opcf6z7xzp2lqcnpjq"
}'

 

Oracle Connection for a high availability virtual device

 

curl -X

POST "https://api.equinix.com/ne/v1/l2/connections"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

-d '{

  "virtualDeviceUUID": "4c2345e5-be63-4261-ba1c-a53a7e4cf5ec",
  "primaryName": "JohnDoeOracle1",
  "profileUUID": "c7f5469b-9618-4d8e-b7dc-9e643rd0a8b8",
  "speed": 50,
  "speedUnit": "MB",
  "notifications": [
    "JohnDoe@equinix.com"
  ],
  "purchaseOrderNumber": "1111",
  "sellerRegion": "us-ashburn-1",
  "sellerMetroCode": "DC",

  "authorizationKey": "ocid1.virtualcircuit.oc1.iad.aaaaabcdp2mwua7njveex3vmhchwqwyzzka5zrrhbo4wc7uz46pzlqghkzgq",

  "secondaryVirtualDeviceUUID": "7c2845e5-be83-4561-ba2b-a53a7e4cf5ez",

  "secondaryName": "JohnDoeOracle2",

  "secondarySpeed": 50,

  "secondarySpeedUnit": "MB",

  "secondaryAuthorizationKey": "ocid1.virtualcircuit.oc1.iad.sadffgp2mwua7njveex3vmhchwqwyzzka5zrrhbo4wc7uz46pzlqghkzgq"

}'

 

The description of the body parameters is as follows:

 

Body Parameter Name Mandatory Type Example values Applicable values Description
virtualDeviceUUID Yes string 4c2345e5-be63-4261-ba1c-a53a7e4cf5ec   Unique ID of the virtual device.
primaryName Yes string JohnDoeOracle1   Name of the primary connection - An alpha-numeric 24 characters string which can include only hyphens and underscores ('-' & '_').
profileUUID Yes string c7f5469b-9618-4d8e-b7dc-9e643rd0a8b8   Unique identifier of the provider's service profile.
speed Yes integer 50   Speed/Bandwidth you would like to allocate to the connection. If you do not know the speed, you can call the validateAuthorizationkey API and query using the ExpressRoute service key to obtain the speed.
speedUnit Yes string MB

"MB"

"GB"

Unit of the speed or bandwidth you would like to allocation to the connection.
notifications Yes array string JohnDoe@equinix.com

 

An array of email ids you would like to notify when there are any updates on your connection. Example Object: ["user@organization.com", "user@eu.company.com"]
purchaseOrderNumber Yes string 0987654321   An optional field to link the purchase order numbers to the connection on Equinix which would get reflected on the invoice.
sellerRegion Yes string us-ashburn-1   Indicates the region in which the seller port resides.
sellerMetroCode Yes string SV   Provider location where you would like to connect. If the sellerMetroCode is empty, the metro code of the port is set as the default seller metro code. 
authorizationKey Yes string ocid1.virtualcircuit.oc1.iad.aaafsderteyrt   Authorization Key obtained from the provider. Example: Service Key from Azure Express Route, Account ID from AWS, Pairing Key from Google Cloud Platform, OCID from Oracle Cloud Infrastructure.
secondaryVirtualDeviceUUID No string 7c2845e5-be83-4561-ba2b-a53a7e4cf5ez  

The unique ID of the secondary virtual device. It is mandatory in case you have a secondary (high availability) device.

secondaryName No string JohnDoeOracle2   Mandatory in case you have a secondary (high availability) device. This field represents the name of the secondary connection. An alpha-numeric 24 character string that can only include hyphens and underscores ('-' & '_').
secondarySpeed No integer 50   Mandatory in case you have a secondary (high availability) device. Speed/Bandwidth you would like to allocate to the optional secondary connection.
secondarySpeedUnit No string MB

"MB"

"GB"

Mandatory in case you have a secondary (high availability) device. Unit of the speed or bandwidth of the optional secondary connection.
secondaryAuthorizationKey No string ocid1.virtualcircuit.oc1.iad.sadffgp2mw   Mandatory in case you have a secondary (high availability) device. Authorization key obtained from the provider for the optional secondary connection. Example: OCID from Oracle Cloud Infrastructure.

 

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

 

Sample response for a virtual device (non HA).

 

{

    "message": "Connection Saved Successfully",
    "primaryConnectionId": "9349a8-0e07-44d0-944c-88a25d8d28f7",

    "status": "SUCCESS"

}

 

Sample response for a virtual device with an additional secondary device for high availability (HA).

 

{
    "message": "Connection Saved Successfully",
    "primaryConnectionId": "939a8-0e07-44d0-944c-86a25d8d38f7",

    "secondaryConnectionId": "7eadc4b3-a44c-4ce9-bdba-ead6d7789342",

    "status": "SUCCESS"
}

 

The description of the response payload is as follows:

 

Field Name Type Example Description
message string Connection created successfully Indicates the status of the API call.
primaryConnectionId string 939a8-0e07-44d0-944c-86a25d8d38f7 Indicates the primary connection ID  of the connection established.
secondaryConnectionId string 7eadc4b3-a44c-4ce9-bdba-ead6d7789342

Optional secondary connection Id in case you have a secondary device for high availability (HA).

status string SUCCESS A message indicating the status of the transaction. 

 

When a connection is created, the connection transitions through various states within the Equinix and Oracle infrastructure. These states can be monitored using the response attributes of the API Get connections {connId}. The "status" attribute indicates the connection status in Equinix and the "providerStatus" indicates the status in Oracle.

 

Equinix States
status providerStatus Description
PROVISIONING NOT_AVAILABLE Connection request has not been yet sent to Oracle.
PROVISIONED PROVISIONING

Connection awaits for acceptance. Connection establishment in progress.

PROVISIONED PROVISIONED Connection established

 

 

When an end-user deletes a connection using the Delete connections {uuid} API,  the connection transitions through the following states within the Equinix infrastructure. 

 

Equinix States under /ne/v1/l2/connections/{connId}
status providerStatus Description

DEPROVISIONING

DEPROVISIONING

Connection disbandment in progress.

DEPROVISIONED DEPROVISIONED

Connection deleted.

 

 

 

 


body: 

Connect to other service providers

End users can create connections to other Equinix customers (customers, vendors, and partners) using either a Dot1Q port or a QinQ port. 

 

Click here to watch a video on how to connect to other Equinix customers using Equinix Cloud Exchange Fabric Portal. 

 


body: 
How to establish an L2 connection to other service providers?

 

 


body: 
Step 1: Authenticate

Submit your user credentials, Client ID, and Client Secret for OAuth2 authentication.

 

Refer to Generating a Client ID and Client Secret key under Getting Started section for instructions on how to create client ID and client secret and refer to Requesting Access and Refresh tokens for instructions on how to call Oauth API to validate and authenticate your credentials.

 

If you are unaware of your user credentials for Equinix Cloud Exchange Fabric, contact your local Equinix Service Desk. 

 


body: 
Step 2: Get Attribute Information

2a) Get virtual devices

Find out your available virtual devices on the NE platform by calling Get virtual devices API. You need the unique Id (UUID) of your device to create a connection.

 

You may skip this step if you already know your available virtual devices.

 

2b) Get metros

Find out the locations where the NE platform is available by calling Get metro API. You need the metroCode to create a connection.

 

You may skip this step if you already know the metro code.  

 

2c) Get Service Profile

Identify all seller/service profiles available for a given metro or metros by calling Get service profiles API. You need the profileUUIDsellerMetroCode, and sellerRegion to create a connection.

 

If you intend to create a connection to a private seller service profile, ensure that you have been authorized by the respective seller profile to access and retrieve the service profile details.

In order to do this, the seller must whitelist your email ID  by adding the email address to the private profile in the ECX portal.

For more information please refer to the ECX Fabric documentation at https://ecxfabric-documentation.equinix.com/hc/en-us/articles/360013214112-Setting-your-company-s-visibility

 

You may skip this step if you already know the service profile details.

 


body: 
Step 3: Create Connection

Post Connections

POST /ne/v1/l2/connections

Method POST
URL or End Point /ne/v1/l2/connections
Headers Authorization, Content-Type
Query Parameters Not applicable
Body Parameters

virtualDeviceUUID, primaryName, profileUUID, speed, speedUnit, notifications [...], purchaseOrderNumber, sellerRegion, sellerMetroCode, authorizationKey, secondaryvirtualDeviceUUID, secondaryName, secondarySpeed, secondarySpeedUnit, secondaryAuthorizationKey

 

The POST connections API creates a Layer 2 Connection between your port and the destination service profile. 

 

To obtain an authorization token, refer to Requesting Access and Refresh tokens section under Getting Started.

 

The following screenshots show sample curl requests to create a layer 2 enterprise connection for HA and non-HA virtual devices.

 

Enterprise Connection for a non-high availability virtual device

 
 

curl -X

POST "https://api.equinix.com/ne/v1/l2/connections"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

-d '{

  "virtualDeviceUUID": "6c2845e5-be63-4261-ba1c-a53a7e4cf5ec",
  "primaryName": "JohnDoeEnterprise1",
  "profileUUID": "d7f5769b-9618-4d8e-b7dc-9e68ffd0a8b8",
  "speed": 50,
  "speedUnit": "MB",
  "notifications": [
    "JohnDoe@equinix.com"
  ],
  "purchaseOrderNumber": "456299",
  "authorizationKey": "xxxxxxxxx",
  "sellerMetroCode": "DC"

}'

 

Enterprise Connection for a high availability virtual device

 

curl -X

POST "https://api.equinix.com/ne/v1/l2/connections"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

-d '{

  "virtualDeviceUUID": "4c2345e5-be63-4261-ba1c-a53a7e4cf5ec",
  "primaryName": "JohnDoeEnterprise1",
  "profileUUID": "c7f5469b-9618-4d8e-b7dc-9e643rd0a8b8",
  "speed": 50,
  "speedUnit": "MB",
  "notifications": [
    "JohnDoe@equinix.com"
  ],
  "purchaseOrderNumber": "456",
  "sellerMetroCode": "DC",

  "authorizationKey": "xxxxxxxxx",

  "secondaryVirtualDeviceUUID": "7c2845e5-be83-4561-ba2b-a53a7e4cf5ez",

  "secondaryName": "JohnDoeEnterprise2",

  "secondarySpeed": 50,

  "secondarySpeedUnit": "MB",

  "secondaryAuthorizationKey": "xxxxxxxxx"

}'

 

The description of the body parameters is as follows:

 

Body Parameter Name Mandatory Type Example values Applicable values Description
virtualDeviceUUID Yes string 4c2345e5-be63-4261-ba1c-a53a7e4cf5ec   Unique ID of the virtual device.
primaryName Yes string JohnDoeEnterprise1   Name of the primary connection - An alpha-numeric 24 characters string which can include only hyphens and underscores ('-' & '_').
profileUUID Yes string c7f5469b-9618-4d8e-b7dc-9e643rd0a8b8   Unique identifier of the provider's service profile.
speed Yes integer 50   Speed/Bandwidth you would like to allocate to the connection.
speedUnit Yes string MB

"MB"

"GB"

Unit of the speed or bandwidth you would like to allocation to the connection.
notifications Yes array string JohnDoe@equinix.com

 

An array of email ids you would like to notify when there are any updates on your connection. Example Object: ["user@organization.com", "user@eu.company.com"]
purchaseOrderNumber Yes string 0987654321   An optional field to link the purchase order numbers to the connection on Equinix which would get reflected on the invoice.
sellerMetroCode Yes string SV   Provider location where you would like to connect. If the sellerMetroCode is empty, the metro code of the port is set as the default seller metro code. 
authorizationKey No string xxxxxxxx   An optional field based on the service profile you want to connect to. 
secondaryVirtualDeviceUUID No string 7c2845e5-be83-4561-ba2b-a53a7e4cf5ez  

The unique ID of the secondary virtual device. It is mandatory in case you have a secondary (high availability) device.

secondaryName No string JohnDoeEnterprise2   Mandatory in case you have a secondary (high availability) device. This field represents the name of the secondary connection. An alpha-numeric 24 character string that can only include hyphens and underscores ('-' & '_').
secondarySpeed No integer 50   Mandatory in case you have a secondary (high availability) device. Speed/Bandwidth you would like to allocate to the optional secondary connection.
secondarySpeedUnit No string MB

"MB"

"GB"

Mandatory in case you have a secondary (high availability) device. Unit of the speed or bandwidth of the optional secondary connection.
secondaryAuthorizationKey No string xxxxxxxx   Mandatory in case you have a secondary (high availability) device. Authorization key obtained from the provider for the optional secondary connection. 

 

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

 

Sample response for a virtual device (non HA).

 

{

    "message": "Connection Saved Successfully",
    "primaryConnectionId": "9349a8-0e07-44d0-944c-88a25d8d28f7",

    "status": "SUCCESS"

}

 

Sample response for a virtual device with an additional secondary device for high availability (HA).

 

{
    "message": "Connection Saved Successfully",
    "primaryConnectionId": "939a8-0e07-44d0-944c-86a25d8d38f7",

    "secondaryConnectionId": "7eadc4b3-a44c-4ce9-bdba-ead6d7789342",

    "status": "SUCCESS"
}

 

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 7eadc4b3-a44c-4ce9-bdba-ead6d7789342 Optional secondary connection Id in case you have a secondary device for high availability (HA).
status string SUCCESS A message indicating the status of the transaction. 

 

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 {connId}. The "status" attribute indicates the connection status in Equinix and the "providerStatus" indicates the status at the enterprise's end.

 

Equinix States under /ne/v1/l2/connections/{connId}
status providerStatus Description
PENDING_APPROVAL NOT_AVAILABLE Connection request has been sent to seller and is awating approval.

The seller must approve or reject the connection at this point or the "status" and "providerStatus" would remain unchanged.

PROVISIONING

or

REJECTED

NOT_AVAILABLE

Connection establishment in progress.

or

The seller has rejected the connection.

PROVISIONED AVAILABLE

Connection established.

 

 

When an end-user deletes a connection using the  API  Get L2 connections {connId}  the connection transitions through the following states within the Equinix infrastructure. 

 

Equinix States under /ne/v1/l2/connections/{connId}
status providerStatus Description
PENDING_DELETE AVAILABLE Deletion request has been sent to seller and is awating approval.

The seller must approve this delete request to disconnect the connection and to stop billing.  Keep in mind that should the seller fail to approve the deletion request, the connection would still be considered active and charged accordingly.

DEPROVISIONING

AVAILABLE

Connection disbandment in progress.

or

The seller has rejected the request.

DEPROVISIONED NOT_AVAILABLE

Connection deleted.

 


body: 
Handling failures

A) Device provisioning failure

     Your device may take up to an hour or more to provision, depending on the vendor you have selected. If your virtual device fails to provision after an hour, you should open a support ticket to address the issue. 

 

B) License registration failure (REGISTRATION_FAILED)

1) If your device license fails to register successfully for a subscription license, you should open a support ticket with Equinix.

2) If your device fails to register successfully for a BYOL (bring your own license), you may want to retry uploading a license file or a license code/token/ID depending on what your vendor accepts.  Below are two APIs you can call to retry uploading a license. 

     2a) Post a license file after creating a device

          If you want to bring your own license (BYOL) and have already created a virtual device, use Post a license file after creating a device  API to post a license file. You can also use this API to renew a license that is about to expire. You must upload two files in case you have an HA device that has a secondary device for high availability. 

     2b) Post a license code/token/ID

          If you have a Cisco or a Palo Alto device, you can use Post a license code/token/ID  API to update a license token/code/ID. You may use the same or two different tokens in case you have an HA device that has a secondary device for high availability. 

 

C) License de-provisioning failure (UNREGISTRATION_FAILED)

 

 


body: 

Establish BGP peering

 

 

A BGP session establishes a point-to-point connection between your virtual device and cloud service provider. To create BGP peers, you must have the following:

   1) A provisioned virtual device with a registered license. 

   2) A provisioned connection (connectionUUID). 

 

If you have the above then you can skip ahead to Step 4 and create BGP peers. Otherwise, follow the steps. 

 

 


body: 
Step 1: Authenticate

Submit your user credentials, Client ID, and Client Secret for OAuth2 authentication.

 

Refer to Generating a Client ID and Client Secret key under Getting Started section for instructions on how to create client ID and client secret and refer to Requesting Access and Refresh tokens for instructions on how to call Oauth API to validate and authenticate your credentials.

 

If you are unaware of your user credentials for Network Edge, contact your local Equinix Service Desk. 

 


body: 

Step 2: Create/Get virtual devices

 

a) To create a virtual device, please follow these steps

b) To check the status of your virtual device, call Get virtual device {UUID} API or Get virtual devices API.

 

You may skip the above step if you have a provisioned device with a registered license.

 


body: 

Step 3: Create/Get connection

 

a) To connect to your cloud service providers, follow these steps. 

b) To check the status of your connections, call Get L2 connections {connId} API or Get L2 Buyer connections API. 

 

You may skip this step if you have a provisioned connection.

 


body: 

Step 4: Create BGP peering

   

POST /ne/v1/services/bgp

 Method  POST
 URL or End Point  /ne/v1/services/bgp
 Headers  Authorization token, Content-Type
 Query Parameters  Not applicable
 Body Parameters

 authenticationKey, connectionUUID, localAsn, localIpAddress, remoteAsn, remoteIpAddress

 

The POST bgp API creates a BGP session to establish a point-to-point connection between your virtual device and cloud service provider. 

 

To obtain an authorization key, refer to Requesting Access and Refresh tokens under the Getting Started section.

 

A sample curl request to create BGP peering.

 

curl -X

POST "https://api.equinix.com/ne/v1/services/bgp"

-H "Authorization: Bearer CcYxLosIYIIsmCGav5pplU25dLkG"
-H "Content-Type: application/json"
-d '{
  "authenticationKey": "sroy001",
  "connectionUUID": "80afc8be-0ce3-4950-be27-3d3e678e6873",
  "localAsn": 10012,
  "localIpAddress": "10.0.0.1/29",
  "remoteAsn": 10013,
  "remoteIpAddress": "10.0.0.2"
}'

 

Body Parameter Name Mandatory Type Example Possible Values Description
authenticationKey No string pass123   Provide a key value that you can use later to authenticate.
connectionUUID Yes string f79eead8-b837-41d3-9095-9b15c2c4996d   UUID of the connection between the virtual device and the cloud service provider.
localAsn Yes integer 10012   Local ASN (autonomous system number). This is the ASN of your virtual device. 
localIpAddress Yes string 100.210.1.221/30   Local IP Address. This is the IP address of the virtual device in CIDR format.
remoteAsn Yes integer 10013   Remote ASN (autonomous system number). This is the ASN of the cloud service provider. 
remoteIpAddress Yes string 100.210.1.31   Remote IP address. This is the IP address of the cloud service provider.

 

Sample response:

 

{
    "uuid": "64e46bc1-fc2c-43b8-956e-213afe8f5d39"
}

 

Response parameter:

 

Field Type Example Values Description
UUID string   UUID of the BGP peering.

 

After you create BGP peering, you can check the status of your BGP peering by calling GET BGP configuration {bgpuuid} or GET BGP configuration {connUUID}.

 

BGP provisioningStatus Description
PROVISIONING BGP peering is provisioning.
PROVISIONED BGP peering is provisioned.
FAILED BGP peering failed.

 

Possible BGP states: Idle, Connect, Active, Established, OpenSent, and OpenConfirm.

 

The BGP states can be only be seen after the BGP is provisioned.

 

 

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

 


body: 

Establish VPN connectivity

 

 

A VPN configuration uses an IPSec tunnel and an associated BGP to allow a remote site to receive traffic originating from clouds connected to the data interfaces of your virtual device. 

 

Refer Network Edge VPN tunnels and sites for more information 

 

To create a VPN you must have:

 

   1) A provisioned virtual device with a registered license and access control list (ACLs).  Call Get virtual devices to check the status of your devices and find the virtualDeviceUUID

   2) At least one provisioned connection with provisioned BGP peering.  To check the details of your connection, call Get L2 buyer connections. To check the status of your BGP peering, call Get BGP {bgpuuid} or Get BGP configuration {connUUID}

   3) If you have a secondary device for high availability (HA), you also need to provide secondary VPN details.

 

If you have the above then you can skip ahead to Step 4 and create a VPN. Otherwise, follow the steps. 

 


body: 
Step 1: Authenticate

Submit your user credentials, Client ID, and Client Secret for OAuth2 authentication.

 

Refer to Generating a Client ID and Client Secret key under Getting Started section for instructions on how to create client ID and client secret and refer to Requesting Access and Refresh tokens for instructions on how to call Oauth API to validate and authenticate your credentials.

 

If you are unaware of your user credentials for Network Edge, contact your local Equinix Service Desk. 

 


body: 

Step 2: Create/Get virtual devices

 

a) To create a virtual device, please follow these steps

b) To check the status of your virtual device, call Get virtual device {uuid} API or Get virtual devices API.

 

You may skip the above step if you have a provisioned device with a registered license.

 


body: 

Step 3: Create/Get connection with BGP

 

a) To connect to your cloud service providers and setup  BGP peering, follow these steps

b) To check the status of your connections, call GET connection by UUID API or GET L2 Buyer connections API. 

c) To check the status of your BGP peering, call GET BGP {bgpUUID} or GET BGP configuration {connUUID}

 

You may skip this step if you have a provisioned connection with BGP peering.

 


body: 

Step 4: Create VPN

 

POST /ne/v1/services/vpn

 Method  POST
 URL or End Point  /ne/v1/services/vpn
 Headers  Authorization, Content-Type
 Query Parameters  Not applicable
 Body Parameters

 siteName, virtualDeviceUUID, configName, peerIp, peerSharedKey, remoteAsn

 remoteIpAddress, password, localAsn, tunnelIp, useNetworkServiceConnection, secondary   {configName, peerIp, peerSharedKey, remoteAsn, remoteIpAddress, password,

 localAsn, tunnelIp}

 

If you are unaware of how to obtain an authorization key, refer to Requesting Access and Refresh tokens under the Getting Started section.

 

Sample curl request to create VPN configuration for a virtual device (non HA). 

 

curl -X

POST "https://api.equinix.com/ne/v1/services/vpn"

-H "Authorization: Bearer 4P8uH5ZWsgH4qlovBrFZG4Hzpp2V"
-H "Content-Type: application/json"
-d '{
  "siteName": "Chicago",
  "virtualDeviceUUID": "8c2845e5-be83-4561-ba2b-a53a7e4cf5ec",
  "configName": "Traffic from AWS cloud",
  "peerIp": "110.11.12.222",
  "peerSharedKey": "5bb2424e888bd",
  "remoteAsn": 65413,
  "remoteIpAddress": "100.210.1.31",
  "password": "pass123SROY",
  "localAsn": 65414,
  "tunnelIp": "192.168.7.2/30",

  "useNetworkServiceConnection": false
}'

 

Sample curl request to create VPN configuration for a virtual device with a secondary device for high availability (HA). 

 

curl -X

POST "https://api.equinix.com/ne/v1/services/vpn"

-H "Authorization: Bearer 4P8uH5ZWsgH4qlovBrFZG4Hzpp2V"
-H "Content-Type: application/json"
-d '{
  "siteName": "Chicago",
  "virtualDeviceUUID": "8c2845e5-be83-4561-ba2b-a53a7e4cf5ec",
  "configName": "Traffic from AWS cloud",
  "peerIp": "110.11.12.222",
  "peerSharedKey": "5bb2424e888bd",
  "remoteAsn": 65413,
  "remoteIpAddress": "100.210.1.31",
  "password": "pass123SROY",
  "localAsn": 65414,
  "tunnelIp": "192.168.7.2/30",

  "useNetworkServiceConnection": false,
  "secondary": {
    "configName": "Traffic from AWS cloud-SROY",
    "peerIp": "110.11.12.222",
    "peerSharedKey": "5bb2424e888bd",
    "remoteAsn": 65413,
    "remoteIpAddress": "100.210.1.31",
    "password": "pass123SROY",
    "localAsn": 65414,
    "tunnelIp": "192.168.7.2/30"
  }
}'

 

Description of request body parameters:

 

Body Parameter Name Mandatory Type Example Applicable Values Description
siteName Yes string Chicago  

Your remote siteName. This must be unique and between 2 and 10 alphanumeric characters long with no spaces. 

virtualDeviceUUID Yes string f79eead8-b837-41d3-9095-9b15c2c4996d  

UUID of the virtual device. This must be 36 characters long.

configName Yes string Traffic from AWS cloud   Description of the VPN. This must be between 3 and 50 characters. If your device is an HA device that has a secondary device for high availability, you must provide a secondary config name.
peerIp Yes string 100.210.1.221  

IP Address of the remote site to which you are connecting (this is on the customer side). You must provide a unique peer IP address for every VPN between a virtual device and the remote site. 

peerSharedKey Yes string 10013   Pre-shared key for VPN.
remoteAsn Yes string 10023   Remote ASN (autonomous system number). Remote ASN and local ASN cannot be the same. You cannot use the following reserved ASN numbers: 0, 23456, 64496-64511, 65535, 65552-131071, 4294967295. 
remoteIpAddress Yes string 100.210.1.31   Remote IP address to establish BGP peering (this is on the customer side).
password Yes string pass123SROY   Password for BGP peering. This must not start with a number, must be between 4 and 25 characters long, and contain only alphanumeric characters.
localAsn Yes integer 65414   Local ASN (autonomous system number) of Equinix site. Remote and local ASN cannot be the same. You cannot use the following reserved ASN numbers: 0, 23456, 64496-64511, 65535, 65552-131071, 4294967295. 
tunnelIp Yes string 192.168.7.2/30   Local tunnel IP in CIDR format.
useNetworkServiceConnection Yes boolean false   Whether this VPN should use the existing network service connection. You should set this value to True only if you have an existing network service connection on your device.

 

Sample VPN configuration response (no HA device).

 

{
    "vpnUuid": "eb26b601-02cc-4473-b1ee-3e2d4d847315"
}

 

Sample VPN configuration response for a virtual device with a secondary virtual device for high availability.

 

{
    "secondaryVpnUuid": "991b775a-16ec-4f2e-b861-8ab93a39902a",
    "vpnUuid": "eb26b601-02cc-4473-b1ee-3e2d4d847315"
}

 

Description of the response payload:

 

Field Type Example Values Description
vpnUuid string 991b775a-16ec-4f2e-b861-8ab93a39902a Unique Id of the VPN on the primary device.
secondaryVpnUuid string eb26b601-02cc-4473-b1ee-3e2d4d847315 Unique Id of the VPN on the secondary device.

 

After you create a VPN configuration, you can check the status of your VPN by calling Get VPN.

 

Possible VPN status Description
PROVISIONING VPN is provisioning.
PROVISIONED VPN is provisioned.
FAILED VPN provisioning failed.
DEPROVISIONING VPN is deprovisioning.
DEPROVISIONED VPN is deprovisioned

 

VPN tunnel status is either UP or DOWN.

 

 

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

 


body: 

Create and launch SDWAN devices

To create SDWAN devices, you must know the following:

1) Which SDWAN device (deviceTypeCode) you want, what software type (packageCode) you need, and the location where you want your SDWAN device (metroCode). 

 

2) Equinix account number with the account status in Active or Pending state. 

 

3) The process to bring your own license (BYOL) from your vendor. Check Step 3 for detailed instructions. 

 

4) ACLs.

   a) For Cisco SDWAN, you must get the IP addresses of vBond, vManage, and vSmart servers so you can whitelist them within Equinix (as ACLs) when creating an SDWAN device. 

 

Refer to Provisioning Cisco cEdge SD-WAN for details.

   

   b) For CloudGenix, you must get IP addresses from CloudGenix portal to whitelist them within Equinix (as ACLs) when creating an SDWAN device. 

 

   c) For Versa devices, please note the IP addresses provided by Versa. This is not in CIDR format. 

 

   d) For Fortinet devices, please note the SDWAN controller IP to whitelist on the Equinix platform.

 

If you have all the necessary information, then skip ahead to Step 4 and create SDWAN devices. Otherwise, follow the steps:

 

If you do not have all the necessary information, you can still save as a draft. You must provide deviceTypeCode, accountNumber/accountReferenceId, and metroCode to save a draft.

 


body: 
Step 1: Authenticate

Submit your user credentials, Client ID, and Client Secret for OAuth2 authentication.

 

Refer to Generating a Client ID and Client Secret key under Getting Started section for instructions on how to create client ID and client secret and refer to Requesting Access and Refresh tokens for instructions on how to call Oauth API to validate and authenticate your credentials.

 

If you are unaware of your user credentials for Network Edge, contact your local Equinix Service Desk. 

 


body: 
Step 2: Get device types

 

2a) Get device types

 

Call Get device types  API to find out SDWAN devices you can launch on the NE platform. You will learn about metros (metroCode) where these devices are available, available software packages, and all possible licensing and throughput options. 

 

You may skip this step if you already know which device you want.

 

2b) Get account

 

Check your account number (or acountReferenceId) and status in the metro where you want a virtual device by calling Get account API. For billing reasons, you must have an account in the metro where you want a virtual device, either in the Active or Pending state. To learn how to create an account, go here.

 

If you are a reseller trying to create a device for your customer, you must ensure that the customer's and your (reseller's) accounts are both in the Active or Pending status. Your account will get billed, however, you must send the customer's account number to the POST API to create an SDWAN device for your customer.

 

You may skip this step if you already know your account number (or accountReferenceId) and status.  

 


body: 
Step 3: Configure a license

For now, BYOL (bring your own license) is the only licensing option available for SD-WAN devices and the process to BYOL is unique to every vendor. 

 

a) To configure a license for a CISCO SD-WAN device, you must do the following:

  1) Generate a bootstrap file on Cisco vManage platform. 

  2) Upload the Cisco bootstrap file on Equinix platform by calling POST a license before creating a virtual device (BYOL). You'll get a fileId that you can use to create a virtual SD-WAN device. 

 

b) To configure a license for a CloudGenix device, you must do the following: 

   1) Generate a license key (ION key) and license secret (Secret key) on CloudGenix platform.

   2) Input the license key (ION key) and secret (Secret key) when calling Equinix create device API to create a CloudGenix SDWAN device. 

 

c) To configure a license for a Fortinet SD-WAN device, you must do the following:

   1) Generate a license file on Fortinet portal.

   2) Upload the license file file on Equinix portal  by calling POST a license before creating a virtual device (BYOL). You'll get a fileId that you can use to create a virtual SDWAN device. 

 

d) To configure a Versa device, please create a vNF device template on Versa director and note the serial number.

 


body: 
Step 4: Vendor-specific parameters

Each SD-WAN vendor requires its own set of parameters other than the common parameters listed as part of POST API definition in Step 5. Please check the parameters for your vendor here and pass the parameters in the vendorConfig{} object when creating a new device in Step 5. 

 

a) Cisco: CSRSDWAN

Cisco vendorConfig{ } parameters Mandatory Type Example Possible Values Description
siteId Yes string 12345   Site Id. Mandatory for Cisco SDWAN devices. A siteId is a particular physical location within the Viptela overlay network, such as a branch office, or a campus.
systemIpAddress Yes string 192.168.1.5   System IP address. Mandatory for Cisco SDWAN devices. Each vEdge router and vSmart controller is assigned a system IP address. It should be in decimal four-part dotted notation, just like IPv4 address. 

 

 

b) CloudGenix: CGENIXSDWAN

CloudGenix vendorConfig{ } parameters Mandatory Type Example Possible Values Description
licenseKey (ION key) Yes string 1404-991d81bb-2567-43e5-a14c-1493ace58046   License key (ION key). Mandatory for CloudGenix devices.
licenseSecret (Secret key) Yes string ec68e425-f973-452e-a866-76be5844d0ba   License secret (Secret key). Mandatory for CloudGenix devices. 

 

 

c) Versa: VERSA_SDWAN

Versa vendorConfig{ } parameters Mandatory Type Example Possible Values Description
localId Yes string SDWAN-Branch@Versa.com   Email address of the branch location. 
remoteId Yes string Controller-01-staging@Versa.com   Email address of the controller side. 
serialNumber Yes string 12345   The customer selects a serial number when setting up the device template on Versa director. Versa post-staging device serial number on Versa director should match this input.
controller1 Yes string 54.219.248.29   Ip address of the SD-WAN controller1. 
controller2 Yes string 54.177.220.115   Ip address of the SD-WAN controller2. 

 

 

d) FortiGate : FG-SDWAN *

FortiGate vendorConfig{ } parameters Mandatory Type Example Possible Values Description
adminPassword Yes string 5678909   Password.
controller1 Yes string 1.1.1.1   System IP address. Mandatory for FortiGate SDWAN devices. 

*FortiGate SD-WAN devices also need hostNamePrefix but it is not part of vendorConfig object, just passed as a parameter along with others like deviceTypeCode, accountNumber etc.

 


body: 
Step 5: Create SDWAN devices

POST /ne/v1/device

 Method  POST
 URL or End Point  /ne/v1/device
 Headers  Authorization, Content-Type
 Query Parameters  draft, draftUUID
 Body Parameters

 additionalBandwidth, deviceTypeCode, licenseFileId, licenseMode, metroCode, 

 notifications[...], packageCode, termLength,

 throughput, throughputUnit, vendorConfig{ }, virtualDeviceName, orderingContact, acl[...], accountNumber, accountReferenceId, 

 purchaseOrderNumber, secondary   {accountNumber, accountReferenceId, acl[...], additionalBandwidth, licenseFileId,

 metroCode, notifications[...], vendorConfig{ }, virtualDeviceName}}

 

 

If you want to create an HA device that has a secondary device for high availability, please do the following:

      1) set parameters of the optional secondary object

      2) provide two different licenseFileIds for Cisco SDWAN, or two different licenseKeys (ION keys) and licenseSecrets (Secret keys) for CloudGenix in the request body payload

      3) you may have a different set of ACLs, account number, additionalBandwidth, metroCode, and notifications for your secondary device.

      4) If you are a reseller trying to create an HA device for your customer, please make sure that both the primary and secondary metros are in the same country. Also, the primary and secondary account numbers must be the same. The reseller's account will get billed, however, this API accepts the customer's account number to create devices for the customer. The above restrictions are necessary as each customer is associated with a reseller's billing account.

 

To obtain an authorization key, refer to Requesting Access and Refresh tokens under the Getting Started section.

 

A sample curl request to create a virtual Cisco SDWAN device with NO secondary device (non-HA).

 

curl -X POST 
  https://api.equinix.com/ne/v1/device?draft=false
  -H 'Authorization: Bearer dbFb0zo203fxyRpBrGd6wAX3IGSR' 
  -H 'Content-Type: application/json' 
  -d '
{
    "throughput": 1,
    "throughputUnit": "Gbps",
    "metroCode": "SV",
    "deviceTypeCode": "CSRSDWAN",
    "termLength": "1",
    "licenseMode": "BYOL",
    "packageCode": "ESSENTIALS",
    "virtualDeviceName": "API-SROY-SD101",
    "notifications": [
        "test@equinix.com"
    ],
    "vendorConfig": {"systemIpAddress": "1.1.1.1", "siteId": "5"},
    "acl": [
        "15.0.0.0/8"
    ],
    "licenseFileId": "abc388de-7e48-4521-9390-f8eb3474b74f",
    "accountNumber": "5710199",
    "additionalBandwidth": "300"
}
'

 

A sample curl request to create an HA virtual Cisco SDWAN device that has a secondary device for high availability (HA). 

 

curl -X POST 
https://api.equinix.com/ne/v1/device?draft=false
-H 'Authorization: Bearer dbFb0zo203fxyRpBrGd6wAX3IGSR' 
-H 'Content-Type: application/json' 

-d '

{

 "throughput": 1,

    "throughputUnit": "Gbps",

    "metroCode": "SV",

    "deviceTypeCode": "CSRSDWAN",

    "termLength": "1",

    "licenseMode": "BYOL",

    "packageCode": "ESSENTIALS",

    "virtualDeviceName": "API SROY-1",

    "notifications": [

        "test@equinix.com"

    ],

    "vendorConfig": {"systemIpAddress": "1.1.1.1", "siteId": "5"},

    "acl": [

        "15.0.0.0/8"

    ],

    "licenseFileId": "abc388de-7e48-4521-9390-f8eb3474b74f",

    "accountNumber": "5710199",

    "additionalBandwidth": "300",

"secondary":{

"metroCode":"SV",

"notifications":["test@equinix.com"],

"virtualDeviceName":"API SROY-1-sec",

"vendorConfig": {"systemIpAddress": "1.1.1.1", "siteId": "12345"},

"acl":["10.10.10.1/32"],

"licenseFileId":"abc388de-7e48-4521-9390-f8eb3474b74f",

"accountNumber":"5710199"

}

}

'

 

The description of the query parameters is as follows:

 

Query Parameter Name Mandatory Type Example Possible Values Description
draft No boolean False True, False Default=false. To save a draft, set draft=true. You must provide deviceTypeCode, accountNumber/accountReferenceId, and metroCode to save a draft. LicenseFileId information will not be saved for drafts. Also, this API will not do access control list validation when you save a draft. 
draftUUID No string ec68e425-f973-452e-a866-76be5844d0ba   To create a device from a draft that you saved earlier, provide the unique Id of the draft (draftUUID). 

 

 

The description of the body parameters is as follows:

 

Body Parameter Name Mandatory Type Example Possible Values Description
additionalBandwidth   integer 100   Additional bandwidth. You may have a different additional bandwidth for your secondary device in case you have an HA device. You cannot have additionalBandwidth for CloudGenix devices.
deviceTypeCode Yes string CSRSDWAN

CSRSDWAN, CGENIXSDWAN

Virtual device type (device type code). 
licenseFileId   string 6651aef5-e738-411f-8675-5f6b7b9cd429   License file Id. Mandatory for Cisco SDWAN devices. 
licenseMode Yes string BYOL   License type. For now, the only available option is BYOL (bring your own license).
metroCode Yes string SV   Metro code. You may provide two different metros for your HA device. However, both metros must be in the same country if you are a reseller trying to create a device for your customer. This restriction is necessary as a customer is associated with a reseller's billing account.
notifications Yes array [test@equinix.com]   Email addresses for device life-cycle notification. We need a minimum of 1 and no more than 5 email addresses. You may have a different notification list for your HA device that has a secondary device for high availability. 
packageCode Yes string ESSENTIALS   Software package code. 
termLength Yes integer 24   Billing term length in months. Default = 1 month.
throughput   integer 500   Throughput. Mandatory for Cisco SDWAN. You cannot specify throughput for CloudGenix devices. 
throughputUnit   string Mbps   Throughput unit. Mandatory for Cisco SDWAN. You cannot specify throughputUnit for CloudGenix devices. 
vendorConfig Yes object "vendorConfig": {"systemIpAddress": "1.1.1.1", "siteId": "12345"}   Vendor parameters are vendor-specific. To check the parameters for your vendor device, please check Step 4.
virtualDeviceName Yes string CiscoSTROY   Virtual device name for identification. This should be minimum 3 and maximum 50 characters long. 
orderingContact No string subuser01   Username of a reseller's customer. This field is mandatory in case a reseller is ordering a device for one of its customers. This contact will receive order and cancellation notifications. 
acl Yes array[string] ["192.168.10.0/24"]   IP addresses, no more than 50, in CIDR format. For Cisco SDWAN devices, you must provide the IP addresses of vBond, vManage, and vSmart servers, so you can whitelist them on Equinix portal. You may have two distinct sets of ACLs in case you have an HA device with a secondary device for high availability. 
accountNumber   string 10478397

 

Account number. Either an account number or an account referenceId is required to create a virtual device. Note to resellers creating a device for a customer: Your (reseller's) account will get billed, however, you must send the customer's account number to this API to create a device for your customer.
accountReferenceId   string     Account reference Id. This is a temporary ID that can be used to create a device when your account is still pending, not active. Either an account number or an account referenceId is required to create a virtual device. 
purchaseOrderNumber   string 3456789   Purchase order number. Optional field that customers can use to track this device creation to their own purchase order number. 
secondary   object secondary{}   An object containing the optional HA device details to create a secondary device for high availability. 

 

Sample response for a non-HA device.

 

{
    "uuid": "74d8c6b6-3153-4271-9f0e-45bdc7094dec"
}

 

Sample response for a virtual device with an additional secondary device for high availability.

 

{
    "uuid": "74d8c6b6-3153-4271-9f0e-45bdc7094dec",
    "secondaryUUID": "de5cf79b-3d16-4ccd-841b-3b68ecda2142"
}

 

The description of the response payload is as follows:

 

Field Type Example Values Description
uuid string b43ba509-a7d9-4334-8dee-dc4f29bf2e77 Unique identifier of the SDWAN virtual device.
secondaryUUID string 92c2e49d-2c35-432d-a9af-016920bef70c Unique identifier of the secondary SDWAN virtual device (HA).

 

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

 

When an SDWAN device is created, the device transitions through various states within the Equinix infrastructure. These states can be monitored using the "status" response attribute of the Get Virtual Device {UUID} API. Once your device is provisioned and the license is applied, you can create connections to cloud service providers.

 

Virtual device states Description
INITIALIZING Equinix is in the process of reserving resources and creating the device.
PENDING_ACCOUNT Customer's account is not approved. The device creation will continue once the account gets approved.
PROVISIONING Device is booting.
WAITING_FOR_PRIMARY The secondary device is ready but the primary is not. This state might appear only if you have requested a secondary device for high availability (HA). 
WAITING_FOR_SECONDARY The primary device is ready but the secondary is not. This state might appear only if you have requested a secondary device for high availability (HA). 
FAILED Device creation failed. 
PROVISIONED Device is ready. 
DEPROVISIONING Equinix accepted customer's request to delete virtual device. 
DEPROVISIONED Device is deprovisioned/deleted. 

 

 

 

When an end-user deletes a device using the Delete virtual device API,  the device transitions through the following states within the Equinix infrastructure. 

 

status Description
DEPROVISIONING Equinix accepted customer's request to delete virtual device. 
DEPROVISIONED Device is deprovisioned/deleted. 

 


body: 
 
Sample payloads for specific devices

 

Parameter Name Cisco SD-WAN CloudGenix SD-WAN Versa SD-WAN FortiGate SD-WAN
deviceTypeCode CSRSDWAN CGENIXSDWAN VERSA_SDWAN FG-SDWAN
licenseMode BYOL BYOL BYOL BYOL
licenseFileId cf92ee6f-286f-496e-b4a1-7b4d1802109e     5ffb2450-7a0e-4f05-bfa6-e2245ca12846
notifications test@equinix.com test@equinix.com test@equinix.com test@equinix.com
metroCode DC DC DC SV
acl 192.168.1.1/32 192.168.1.1/32 192.168.1.1/32 10.10.10.1/32
packageCode PREMIER 7108V FLEX_VNF_6 VM08
throughput 500      
throughputUnit Mbps      
virtualDeviceName mySDWANSsroy myCGSDWANsroy myVersaSDWANsroy myFGsroySDWAN
orderingContact subuser01 subuser01 subuser01 subuser01
accountNumber 1234567 1234567 1234567 1234567
addtionalBandwidth 100 100 100 100
purchaseOrderNumber 888888 888888 88888 888888
siteId 456      
systemIpAddress 1.1.1.1      
licenseKey   1404-991d81bb-2567-43e5-a14c-1493ace58046    
licenseSecret   d29dceeef2d2b494c9eb76937a361890786e609d    
termLength 12 12 12 12
localId     SDWAN-Branch@Versa.com  
remoteId     Controller-01-staging@Versa.com  
serialNumber     12345  
controller1     54.219.248.29 1.1.1.1
controller2     54.177.220.115  
adminPassword       5678909
hostNamePrefix       TC16

 


body: 

Create a device linking group

A device linking group can include any virtual device that is provisioned and registered unless the device interfaces are already full. To create a device linking group, you must have/provide the following:

 

1) At least two provisioned virtual devices with registered licenses. You must have the deviceUUIDs and the metroCodes where the devices are locatedAs of now, you cannot link two devices in the same metro.

 

2) You need to provide ASNs for the devices if the ASNs have not been set. If a device already has an ASN, you can check the ASN by calling Get virtual devices API or Get virtual device{uuid} API. 

 

3) Equinix billing account number. Your account must be in the Active or Pending status. 

 

4) Choose a subnet for the group. You must choose a subnet keeping in mind the number of devices you wish to add to the group. This is not a mandatory field at the time you try to create a linking group, however, you must provide this to have a functional linking group.

 

If you have all the necessary information, then skip ahead to Step 3 and create a device linking group. Otherwise, follow the steps:

 

Refer to the Network Edge deployment guide to learn more.


body: 
Step 1: Authenticate

Submit your user credentials, Client ID, and Client Secret for OAuth2 authentication.

 

Refer to Generating a Client ID and Client Secret key under Getting Started section for instructions on how to create client ID and client secret and refer to Requesting Access and Refresh tokens for instructions on how to call Oauth API to validate and authenticate your credentials.

 

If you are unaware of your user credentials for Network Edge, contact your local Equinix Service Desk. 

 


body: 

Step 2: Get virtual devices

 

To get details of your virtual devices, call Get virtual devices API or Get virtual device {UUID}. The response will include virtualDeviceUUIDs, metroCodes, ASNs, and accountNumbers

 

To create virtual devices, go to lauch virtual devices

 


body: 

 

Step 3: Create a device linking group

POST /ne/v1/device/link

 Method  POST
 URL or End Point  /ne/v1/device/link
 Headers  Authorization, Content-Type
 Path Parameters NA
 Body Parameters

groupName, subnet, metroDevices, metroCode, throughput, throughputUnit, devices, deviceUUID, asn, accountNumber, accountReferenceId

 

 

To obtain an authorization key, refer to Requesting Access and Refresh tokens under the Getting Started section.

 

A sample curl request to create a device linking group that has two devices.

 

curl -X

POST "https://api.equinix.com/ne/v1/device/link"
-H "content-type: application/json"
-H "Authorization: Bearer jnSoUKaJHpzMnU0toROpUHmqnwEP"
-d '{
    "groupName": "TEST-SROY-LINK-2",
    "subnet": "192.164.0.0/27",
    "metroDevices": [
        {
            "metroCode": "SV",
            "throughput": "500",
            "throughputUnit": "Mbps",
            "devices": [
                {
                    "deviceUUID": "252b0ac9-6a1c-4dc3-b608-6771fc05716f",
                    "asn": 1026
                }
            ]
        },
        {
            "metroCode": "DC",
            "throughput": "500",
            "throughputUnit": "Mbps",
            "devices": [
                {
                    "deviceUUID": "e75cc880-7ce7-4d32-a4ad-14dd76e757c0",
                    "asn": "4567"
                }
            ]
        }
    ],
    "accountNumber": "3922999"
}'

 

 

The description of the body parameters is as follows:

 

Body Parameter Name Mandatory Type Example Possible Values Description
groupName Yes string vik-chain   Group name.
subnet  

string

10.0.0.0/27   Subnet of the linking group.
metrosDevices Yes array     An array of devices in various metros.
metroCode Yes string SV   Metro code.
throughput Yes string 500   Metro throughput.
throughputUnit Yes string Mbps   Throughput unit.
devices   array      An array of devices.
deviceUUID Yes string 9b12798e-78c3-4a3c-aad4-6ff6604e6552  

Unique Id of the device.

asn Yes integer 25658   ASN number. The request will fail if you provide a new ASN for a device that already has an ASN.
accountNumber   string 3903479   Account number. Either an account number or an accountreferenceId is required to create a device linking group. 
accountReferenceId   string     Account reference Id. This is a temporary ID that can be used to create a device linking group when your account is still pending, not active. Either an account number or an accountreferenceId is required to create a device linking group. 

 

Sample response.

 

{

    "uuid": "85ebe7b7-6182-45a1-be51-cb194f2f1e39"

}

 

 

The description of the response payload is as follows:

 

Field Type Example Values Description
uuid string b43ba509-a7d9-4334-8dee-dc4f29bf2e77 Unique ID of the device linking group.

 

 

When a device linking group is created, it transitions through various states that can be monitored using the "status" response attribute of the Get device linking groups API. Your linking group must be provisioned before you can begin to perform other operations like add/remove devices. 

 

Status Description
PROVISIONING Device linking group is booting.
FAILED Group creation failed. 
PROVISIONED Device linking group is ready. 
DEPROVISIONING Device linking group is being deprovisioned.
DEPROVISIONED Device linking group is deprovisioned.

 

 

You can add/remove devices to a linking group using Patch linking group devices {uuid}. To update linking group subnet and groupName, please use  Patch linking group {uuid}. To update metro throughput, please use Patch device linking throughput {uuid}. If you delete a device linking group using the Delete device linking group {group-uuid} API,  the group transitions through the following states:

 

Status Description
DEPROVISIONING Equinix accepted customer's request to delete a device linking group. 
DEPROVISIONED Device linking group is deleted. 

 

 


body: 

API Reference

GET Methods

V1 APIs​

/ne/v1/device/order-summary
/ne/v1/device/ping/{virtualDeviceUUID}
/ne/v1/device/{uuid}/interfaces
/ne/v1/device/agreement/order
/ne/v1/device/agreement/vendor
/ne/v1/device/agreement/account
/ne/v1/device/type
/ne/v1/device/account/{metro}
/ne/v1/device
/ne/v1/device/{uuid}
/ne/v1/device/metro
/ne/v1/device/price
/ne/v1/services/ssh-user
/ne/v1/services/ssh-user/{uuid}
/ne/v1/l2/buyer/connections
/ne/v1/services/vpn
/ne/v1/services/vpn/{uuid}
/ne/v1/services/bgp/{bgpuuid}
/ne/v1/services/bgp/connection/{connectionUUID}
/ne/v1/services/bgp
/ne/v1/device/link
/ne/v1/device/link/{group-uuid}
/ne/v1/l2/connections/validateAuthorizationKey
/ne/v1/l2/connections/{connId}
/ne/v1/l2/serviceprofiles/services

 

 

 

POST Methods

V1 APIs

/ne/v1/device/agreement/account
/ne/v1/services/ssh-user
/ne/v1/device/license/file
/ne/v1/device/license/{virtualDeviceUUID}
/ne/v1/device/license/file/{uuid}

 

 

PUT Methods

V1 APIs

/ne/v1/device/additionalbandwidth/{virtualDeviceUUID}
/ne/v1/device/{uuid}
/ne/v1/services/ssh-user/{uuid}
/ne/v1/services/bpg/{uuid}
/ne/v1/device/{uuid}/acl

 

 

 

PATCH Methods

V1 APIs

/ne/v1/services/ssh-user/{uuid}/association
/ne/v1/device/link/{group-uuid}/link-details
/ne/v1/device/link/{group-uuid}/metro-devices
/ne/v1/device/link/{group-uuid}/metro-throughput
/ne/v1/device/{uuid}

 

DELETE Methods


body: 

GET BGP

GET /ne/v1/services/bgp

 Method  GET
 URL or End Point  /ne/v1/services/bgp
 Headers  Authorization, Content-Type
 Query Parameters  virtualDeviceUuid, connectionUuid, status, pageNumber, size
 Body  Not applicable

 

This API returns BGP configurations. 

 

To obtain an authorization token, refer to Requesting Access and Refresh tokens under the Getting Started section.

 

The following screenshot shows a sample curl request to obtain BGP configuration for a uuid.  

 

curl -X

GET "https://api.equinix.com/ne/v1/services/bgp"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

 

The description of the query parameters is as follows:

 

Query Parameter Mandatory Type Example Applicable Values Description
virtualDeviceUuid No string 7ef81cbe-01ed-4c27-8b2f-69d3a3fd4d6a   Unique Id of a virtual device.
connectionUuid No string 7ab1bdca-0d56-457a-bbfe-4583082c721c   Unique Id of a connection.
status No string PROVISIONED PROVISIONED, DEPROVISIONED, PROVISIONING, or FAILED Provisioning status of a BGP peering.
pageNumber No integer 1   Page number. Default value=1
size No integer 100   Results per page. Default value=100

 

Sample response:

 

{
    "totalCount": 2,
    "pageNumber": 1,
    "pageSize": 2,
    "list": [
        {
            "uuid": "7ab1bdca-0d56-457a-bbfe-4583082c721c",
            "connectionUUID": "fbb0667d-0323-4734-855f-695cf543c2d7",
            "virtualDeviceUUID": "a75fe919-7b95-4be4-ba13-20f678fe83c6",
            "localIpAddress": "172.16.212.213/30",
            "localAsn": 2126,
            "remoteAsn": 2226,
            "remoteIpAddress": "172.16.212.214",
            "state": "Established",
            "createdBy": "nfv-sit1",
            "createdByFullName": "nfv-sit1 nfv-sit1",
            "createdDate": "2019-10-14T22:07:13.701Z",
            "createdByEmail": "shafina.ahamed@ap.equinix.com",
            "provisioningStatus": "PROVISIONED"
        },
        {
            "uuid": "8be2c356-ca90-4a75-b42a-7cd6dfbe8ead",
            "connectionUUID": "d2572f95-03e2-4ff2-89a3-7221d7048a20",
            "virtualDeviceUUID": "a75fe919-7b95-4be4-ba13-20f678fe83c6",
            "localIpAddress": "172.16.224.225/30",
            "localAsn": 2126,
            "remoteAsn": 2326,
            "remoteIpAddress": "172.16.224.226",
            "state": "Established",
            "createdBy": "nfv-sit1",
            "createdByFullName": "nfv-sit1 nfv-sit1",
            "createdDate": "2019-10-14T22:29:39.052Z",
            "createdByEmail": "shafina.ahamed@ap.equinix.com",
            "provisioningStatus": "PROVISIONED"
        }
    ]
}

 

The description of the response payload is as follows:

 

Field Type Example Values

Description

 

totalCount integer 200 Total count.
pageNumber integer 5 Page number.
pageSize integer 20 Results per page.
list list[]   An array of BGP objects.
uuid string 6ea5a0e4-2bf7-45c2-9aa7-e846a8cd5567 Unique Id of BGP peering. 
connectionUUID string e5f30fc6-ae9d-4fbb-8020-d61329d8fe34 Unique Id of the connection between your virtual device and another service provider.
virtualDeviceUUID string

f61e75d2-2008-43f4-bfee-1dd17b1e1a28

Unique Id of your virtual device.
localIpAddress string 12.0.0.1/30 Local IP Address. This is the IP address of the virtual device in CIDR format.
localAsn string 10061 Local ASN (autonomous system number). This is the ASN of your virtual device. 
remoteIpAddress string 12.0.0.2 Remote IP address. This is the IP address of the cloud service provider.
remoteAsn string 10013 Remote ASN (autonomous system number). This is the ASN of the cloud service provider. 
authenticationKey string pass1233 Key value for authentication.
state string Idle State of the BGP peering. One of Idle, Connect, Active, Established, OpenSent, and OpenConfirm.
createdBy string nfv-sit1 The username of the user who created the BGP peering.
createdDate string 2018-08-30T04:20:36.033Z The date on which the BGP peering was created.
createdByFullName string nfv-sit1 nfv-sit1 Full name of the user who created BGP peering.
createdByEmail string test@equinix.com Created by email.
lastUpdatedBy string nfv-sit1 Last updated by.
lastUpdatedByFullName string nfv-sit1 nfv-sit1 Full name of the user who updated last.
lastUpdatedDate string 2018-08-30T04:20:36.033Z Last update date.
lastUpdatedByEmail string test@equinix.com Email of the user who updated last.
provisioningStatus string PROVISIONED Provisioning status of BGP peering. One of PROVISIONING, PROVISIONED, FAILED, or DEPROVISIONED.

 

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

 


body: 

GET ping a virtual device {virtualDeviceUUID}

GET /ne/v1/device/ping/{virtualDeviceUUID}

 Method  GET
 URL or End Point  /ne/v1/device/{uuid}
 Headers  Authorization, Content-Type
 Path Parameter virtualDeviceUUID
 Body  Not applicable

 

Call this API to ping a virtual device and ensure that it is reachable.

 

To obtain an authorization key, refer to Requesting Access and Refresh tokens under the Getting Started section.

 

The following screenshots show a sample curl request and its respective JSON response. 

 

curl -X

GET "https://api.equinix.com/ne/v1/device/ping/01425e3b-0e37-4539-af09-5b26cb9bad18"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

 

Path Parameter Name Mandatory Type Example Applicable Values Description
virtualDeviceUUID Yes string ec68e425-f973-452e-a866-76be5844d0ba   Unique ID of the virtual device that you want to ping.

 

Sample response: 

 

200 okay

 

The description of the response is as follows:

 

HTTP status Description
200 Okay. The device is reachable.

 

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

 


body: 

GET price

GET /ne/v1/device/price

 Method  GET
 URL or End Point  /ne/v1/device/price
 Headers  Authorization, Content-Type
 Query Parameters  accountNumber, metro, vendorPackage, licenseType, softwarePackage, throughput, throughputUnit, termLength,  additionalBandwidth,   secondaryAccountNumber, secondaryMetro, secondaryAdditionalBandwidth, accountUcmId
 Body  Not applicable

 

This API returns the price of a virtual device or additional services for an existing virtual device. You can use this API to get the prices of both the primary and secondary devices. Note: If you are a reseller's customer, please contact your reseller for pricing information.

 

To obtain an authorization key, refer to Requesting Access and Refresh tokens under the Getting Started section.

 

The following screenshots show a sample curl request. 

 

curl -X

GET "https://api.equinix.com/ne/v1/device/price?accountNumber=2252619&metro=DC&vendorPackage=CSR1000V&licenseType=SUB&softwarePackage=IPBASE&throughput=500&throughputUnit=Mbps&termLength=24&additionalBandwidth=100&secondaryAccountNumber=708979&secondaryMetro=DC&secondaryAdditionalBandwidth=200"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

 

The description of the query parameters is as follows:

 

Query Parameter Name Mandatory Type Example Applicable Values Description
accountNumber   integer 2252726   Account number. Please enter the account number that belongs to the metro where you want a device. 
metro Yes string DC   Metro code.
vendorPackage   string CSR1000V   Vendor package (device type code). 
licenseType   string SUB  

License type, whether you want a subscription license (Equinix handles the license and charges monthly) or you want to bring your own license (BYOL). 

softwarePackage   string IPBASE   Software package code. 
throughput   string 500   Throughput. 
throughputUnit   string Mbps   Throughput Unit.
termLength   string 1   The term length of the contract in months. Default = 1 month.
additionalBandwidth   integer 100   Additional bandwidth (in Mbps).
virtualDeviceUUID   string

d5d88982-382f-420a-8d63-9dc4c3075f4c

  Unique ID of a virtual device. You may query this API to check the price of additional services for an existing virtual device. 
secondaryAccountNumber   integer 2242345   Secondary account number of an HA (high availability) device. Please provide a secondary account number to get the price of your secondary device.
secondaryMetro   string DC   Secondary metro for an HA (high availability) device. Please provide a second metro location to get the price of your secondary device. 
secondaryAdditionalBandwidth   integer 100   Secondary additional bandwidth of an HA (high availability) device in Mbps.
accountUcmId   string 678907   Unique Id of your account. You may use this unique Id if you do not have an account number.

 

Sample response:

 

{
    "termLength": "12",
    "primary": {
        "charges": [
            {
                "description": "VIRTUAL_DEVICE",
                "monthlyRecurringCharges": "423.20"
            },
            {
                "description": "DEVICE_LICENSE",
                "monthlyRecurringCharges": "0.00"
            },
            {
                "description": "ADDITIONAL_BANDWIDTH",
                "monthlyRecurringCharges": "1932.00"
            }
        ],
        "currency": "USD",

        "billingCommencementDate": "Wed Feb 12 2020 20:47:26 UTC"
    },
    "secondary": {
        "charges": [
            {
                "description": "VIRTUAL_DEVICE",
                "monthlyRecurringCharges": "423.20"
            },
            {
                "description": "DEVICE_LICENSE",
                "monthlyRecurringCharges": "0.00"
            },
            {
                "description": "ADDITIONAL_BANDWIDTH",
                "monthlyRecurringCharges": "1288.00"
            }
        ],
        "currency": "USD",

        "billingCommencementDate": "Wed Feb 12 2020 20:47:26 UTC"
    }
}

 

The description of the response payload is as follows:

 

Field Name Type Example Description
termLength string 1 The term length of the contract. 
primary object primary{} Price details of the primary device.
charges array charges[] Array of charges.
description string VIRTUAL_DEVICE Description of the charge, whether it is for a virtual device, device license, or additional bandwidth. 
monthlyRecurringCharges string 566 Monthly charges.
currency string USD Currency.
billingCommencementDate string

"Wed Feb 12 2020 20:47:26 UTC"

Your billing will start on this date.
secondary object secondary{} Price details of the secondary object, in case you want a secondary object for high availability.

 

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

 


body: 

GET virtual device interfaces {UUID}

GET /ne/v1/device/{uuid}/interfaces

 Method  GET
 URL or End Point  /ne/v1/device/{uuid}/interfaces
 Headers  Authorization, Content-Type
 Path Parameter  UUID
 Body  Not applicable

 

Call this API to find out the status of your virtual device interfaces.

 

To obtain an authorization key, refer to Requesting Access and Refresh tokens under the Getting Started section.

 

A sample curl request: 

 

curl -X

GET "https://api.equinix.com/ne/v1/device/ec68e425-f973-452e-a866-76be5844d0ba/interfaces"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

 

Path Parameter Name Mandatory Type Example Applicable Values Description
UUID Yes string ec68e425-f973-452e-a866-76be5844d0ba   Unique ID of a virtual device. 

 

Sample response: 

 

[
    {
        "id": 1,
        "name": "GigabitEthernet1",
        "status": null,
        "operationalStatus": null,
        "macAddress": null,
        "ipAddress": null,
        "assignedType": "Equinix Managed"
    },
    {
        "id": 2,
        "name": "GigabitEthernet2",
        "status": null,
        "operationalStatus": null,
        "macAddress": null,
        "ipAddress": null,
        "assignedType": "Equinix Managed"
    },
    {
        "id": 3,
        "name": "GigabitEthernet3",
        "status": "RESERVED",
        "operationalStatus": "down",
        "macAddress": "fa16.3e1b.4217",
        "ipAddress": null,
        "assignedType": "Connection to Network Service Provider"
    },
    {
        "id": 4,
        "name": "GigabitEthernet4",
        "status": "AVAILABLE",
        "operationalStatus": "down",
        "macAddress": "fa16.3e41.415d",
        "ipAddress": null,
        "assignedType": ""
    },
    {
        "id": 5,
        "name": "GigabitEthernet5",
        "status": "AVAILABLE",
        "operationalStatus": "down",
        "macAddress": "fa16.3e32.daef",
        "ipAddress": null,
        "assignedType": ""
    },
    {
        "id": 6,
        "name": "GigabitEthernet6",
        "status": "AVAILABLE",
        "operationalStatus": "down",
        "macAddress": "fa16.3e99.2759",
        "ipAddress": null,
        "assignedType": ""
    },
    {
        "id": 7,
        "name": "GigabitEthernet7",
        "status": "AVAILABLE",
        "operationalStatus": "down",
        "macAddress": "fa16.3e84.74fb",
        "ipAddress": null,
        "assignedType": ""
    },
    {
        "id": 8,
        "name": "GigabitEthernet8",
        "status": "AVAILABLE",
        "operationalStatus": "down",
        "macAddress": "fa16.3e9c.e83c",
        "ipAddress": null,
        "assignedType": ""
    },
    {
        "id": 9,
        "name": "GigabitEthernet9",
        "status": "AVAILABLE",
        "operationalStatus": "down",
        "macAddress": "fa16.3efb.ec61",
        "ipAddress": null,
        "assignedType": ""
    },
    {
        "id": 10,
        "name": "GigabitEthernet10",
        "status": "AVAILABLE",
        "operationalStatus": "down",
        "macAddress": "fa16.3ebf.3d29",
        "ipAddress": null,
        "assignedType": ""
    }
]

 

 

The description of the response is as follows:

 

Field Name Type Example Values Possible Values Description
id string 10   Id of an interface.
ipv4Mask string 255.255.255.0   ipv4Mask of the interface.
ipv4Subnet string 192.168.0.5   ipv4Subnet of the interface.
name string ethernet1/9   Name of the interface.
status string AVAILABLE AVAILABLE, ASSIGNED, RESERVED Assigned interfaces are already in use. Reserved interfaces can only be used to bring your own connection (BYOC) from your Network Service Providers. 
operationalStatus string down up, down Operational status of the interface, whether it is up or down.
macAddress string fa:16:3e:5f:41:06   Media access control address. 
ipAddress string     Ip address.
assignedType string test(AWS Direct Connect)   This field has the connection name and the service profile of the connection in brackets.
asn integer 1029   A

 

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

 


body: 

GET VPN {uuid}

GET /ne/v1/services/vpn/{uuid}

 Method  GET
 URL or End Point  /ne/v1/services/vpn/{uuid}
 Headers  Authorization, Content-Type
 Path Parameter  uuid
 Body  Not applicable

 

This API returns the details of a VPN configuration. 

 

To obtain an authorization token, refer to Requesting Access and Refresh tokens under the Getting Started section.

 

Sample curl request to get a VPN configuration. 

 

curl -X

GET "https://api.equinix.com/ne/v1/services/vpn/920a6218-7e77-4105-ae95-cf3ea2993696"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

 

Description of the query parameters:

 

Path Parameter Name Mandatory Type Example Applicable Values Description
uuid Yes string 920a6218-7e77-4105-ae95-cf3ea2993696

 

Unique Id of a VPN configuration.

 

Sample response:

 

        {
            "configName": "rr1-apr22-nonha-vpn1",
            "peerIp": "10.10.10.2",
            "peerSharedKey": "cnIxLWFwcjIyLW5vbmhhLXZwbjE=",
            "remoteAsn": 234568,
            "remoteIpAddress": "10.10.10.30",
            "password": "welcome1",
            "localAsn": 234565,
            "tunnelIp": "212.14.101.1/24",
            "virtualDeviceUUID": "7815a65d-214d-412b-9c50-17237426177a",
            "siteName": "NoNHAvpn",
            "uuid": "b884d9c0-8771-49b2-800b-34701246aba1",
            "status": "DEPROVISIONED",
            "bgpState": "Idle",
            "tunnelStatus": "DOWN",

            "useNetworkServiceConnection": false,
            "createdDate": "2019-04-23T02:48:45.097Z",
            "createdByFullName": "nfv-sit4 nfv-sit4",
            "createdByEmail": "test@equinix.com",
            "createdBy": "nfv-sit4",
            "lastUpdatedDate": "2019-04-24T01:50:23.376Z",
            "lastUpdatedByFullName": "nfv-sit4 nfv-sit4",
            "lastUpdatedByEmail": "test@equinix.com",
            "lastUpdatedBy": "nfv-sit4"
        }
 

 

The description of the response payload is as follows:

 

Field Type Example Values Description
configName string test2 Description of the VPN. This is between 3 and 50 characters.
peerIp string 1.1.1.1 IP Address of the remote site to which you connect (this is on the customer side). 
peerSharedKey string 213 Pre-shared key for VPN
remoteAsn string 21345 Remote ASN (autonomous system number). 
remoteIpAddress string 1.1.1.1 Remote IP address to establish BGP peering (this is on the customer side)
password string abc123 Password for BGP peering.
localAsn string 12345 Local ASN (autonomous system number) of Equinix site. 
tunnelIp string 2.2.2.2/25 Local tunnel IP in CIDR format
virtualDeviceUUID string 7d12f7c6-c9ee-4a14-9b00-5873eadf7708 Unique Id of the virtual device.
siteName string testVPN Your remote siteName. 
uuid string d93fad3f-dbe6-440d-ba94-8312e831d57a Unique Id of the VPN
status string PROVISIONED VPN status. One of Provisioning, Provisioned, Failed, Deprovisioning, or Deprovisioned.
bgpState string Idle BGP state. One of Idle, Connect, Active, Established, OpenSent, or OpenConfirm.
tunnelStatus string DOWN Tunnel status. Either Up or Down.
useNetworkServiceConnection boolean false Whether this VPN uses a network service connection.
createdDate string   2019-04-23T02:48:45.097Z
createdByFullName string nfv-sit4 nfv-sit4 Created by (full name).
createdByEmail string test@equinix.com Created by (email).
createdBy string nfv-sit4 Created by (username).
lastUpdatedDate string 2019-04-24T01:50:23.376Z Last update date.
lastUpdatedByFullName string nfv-sit4 nfv-sit4 Last updated by (full name).
lastUpdatedByEmail string test@equinix.com Last updated by (email).
lastUpdatedBy string nfv-sit4 Last updated by (username).

 

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

 


body: 

DELETE device linking group {group-uuid}

DELETE /ne/v1/device/link/{group-uuid}

 Method  DELETE
 URL or End Point  /ne/v1/device/link/{group-uuid}
 Headers  Authorization, Content-Type
 Query Parameter  NA
 Path Parameter  Unique Id of the group
 Body   NA

 

Deletes a device linking group. 

 

To obtain an authorization key, refer to Requesting Access and Refresh tokens under the Getting Started section.

 

A sample curl request to delete a device linking group. 

 

curl -X

DELETE "https://api.equinix.com/ne/v1/device/link/5f888d91-d2c5-45bb-9b51-fed99f57f0ac"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

 

Path Parameter Name Mandatory Type Example Applicable Values Description
group-uuid Yes string 5f888d91-d2c5-45bb-9b51-fed99f57f0ac   Unique Id of the device linking group.

 

Sample response: 

 

204

 

The description of the response is as follows:

 

HTTP status Description
204 Request fulfilled.

 

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

 


body: 

GET device linking groups

GET /ne/v1/device/link

 Method  GET
 URL or End Point  /ne/v1/device/link
 Headers  Authorization, Content-Type
 Query Parameters  metro, virtualDeviceUuid, accountUcmId, pageNumber, size
 Body  Not applicable

 

This API returns device linking groups. 

 

To obtain an authorization token, refer to Requesting Access and Refresh tokens under the Getting Started section.

 

A sample curl request.  

 

curl -X

GET "https://api.equinix.com/ne/v1/device/link"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

 

The description of the query parameters is as follows:

 

Query Parameter Mandatory Type Example Applicable Values Description
metro No string DA   Metro code. 
virtualDeviceUuid No string 7ef81cbe-01ed-4c27-8b2f-69d3a3fd4d6a   Unique Id of a virtual device.
accountUcmId No string 6ef81cbe-01ed-4c27-8b2f-69d3a3fd4d6b   Unique Id of the account. A reseller querying for a customer's linking groups can pass the accountUcmId of the customer's account. To get the accountUcmId of your customer's account, please check the Equinix account creation portal (ECP) or call Get account API.   
pageNumber No integer 1   Page number. Default value=1
size No integer 100   Results per page. Default value=100

 

Sample response:

 

{

  "totalCount": 1,

  "pageNumber": 1,

  "pageSize": 20,

  "content": [

    {

      "id": 1,

      "uuid": "35e0cb6a-a258-49c9-a1f5-716094eed389",

      "groupName": "vik-chain",

      "subnet": "10.0.0.0/27",

      "status": "PROVISIONING",

      "accountName": "EQX16B76E96-3161-4f15-86F7-CB871DB2F53C",

      "metroDevices": [

        {

          "metroCode": "SY",

          "metro": "Sydney",

          "throughput": "500",

          "throughputUnit": "Mbps"

          },

          "devices": [

            {

              "deviceUUID": "4619dfe3-a11a-49d3-b58c-366f3a0bd7f0",

              "deviceName": "csr-sy",

              "deviceTypeCode": "CSR1000V",

              "category": "ROUTER",

              "ipAssigned": "10.0.0.2/27",

              "interfaceUUID": "5b2b8338-f645-41f8-aa11-3eb910c16497",

              "throughput": "1",

              "throughputUnit": "Gbps"

              "status": "PROVISIONING"

            }

          ]

        },

        {

          "metroCode": "DA",

          "metro": "Dallas",

          "throughput": "500",

          "throughputUnit": "Mbps"

          "devices": [

            {

              "deviceUUID": "1f54cb8a-991a-49de-ba38-25b9f7f33154",

              "deviceName": "ip-da",

              "deviceTypeCode": "CSR1000V",

              "category": "ROUTER",

              "ipAssigned": "10.0.0.1/27",

              "interfaceUUID": "36b80c6e-1373-495e-92b0-63f45b703d5f",

              "throughput": "I",

              "throughputUnit": "Gbps",

              "status": "PROVISIONING"

            }

          ]

        }

      ],

      "createdBy": "eqx-admin",

      "createdDate": "2019-10-29T20:21:06.741Z",

      "lastUpdatedBy": "eqx-admin",

      "lastUpdatedDate": "2019-10-29T20:21:06.741Z"

    }

   ]

}

 

The description of the response payload is as follows:

 

Field Type Example Values

Description

 

totalCount integer 200 Total count.
pageNumber integer 5 Page number.
pageSize integer 20 Results per page.
content array   An array of linked groups.
id integer 1 Id of the group.
uuid string 6ea5a0e4-2bf7-45c2-9aa7-e846a8cd5567 Unique Id of the linked group. 
groupName string vik-chain Group name.
subnet string

10.0.0.0/27

Subnet of the device linking group.
status string PROVISIONING Status of the device linking group.
accountName string

EQX16B76E96-3161-4f15-86F7-CB871DB2F53C

Account name.
metroDevices array   An array of metros and the devices in the metros belonging to the group.
metroCode string DA Metro code.
metro string Dallas Name of the metro.
throughput string 500 Throughput of the metro.
throughputUnit string Mbps Throughput unit.
devices array   An array of devices that are part of the linking group.
deviceUuid string 9ea5a0e4-2bf7-45c2-9aa7-e846a8cd5560 Unique Id of the device.
deviceName string csr-sroy1 Name of the device.
deviceTypeCode string CSR1000V Device type code.
category string ROUTER Category of the device.
ipAssigned string 10.0.0.2/27 Assigned IP address of the device.
interfaceUUID string

6d5b942a-429e-494e-87e0-993845951cf

Unique Id of the interface used to link the device.
throughput string 500 Throughput of the device.
throughputUnit string Mbps Throughput unit of the device.
status string PROVISIONING Status of the device.
createdBy string nfv-sit1 Created by username.
createdDate string 2018-08-30T04:20:36.033Z Created date.
lastUpdatedBy string nfv-sit1 Last updated by.
lastUpdatedDate string 2018-08-30T04:20:36.033Z Last update date.

 

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

 


body: 

GET device linking group {group-uuid}

GET /ne/v1/device/link/{group-uuid}

 Method  GET
 URL or End Point  /ne/v1/device/link/{group-uuid}
 Headers  Authorization, Content-Type
 Path Parameters  group-uuid
 Body  Not applicable

 

This API returns a device linking group. 

 

To obtain an authorization token, refer to Requesting Access and Refresh tokens under the Getting Started section.

 

A sample curl request.  

 

curl -X

GET "https://api.equinix.com/ne/v1/device/link/7ef81cbe-01ed-4c27-8b2f-69d3a3fd4d6a"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

 

The description of the path parameter is as follows:

 

Path Parameter Mandatory Type Example Applicable Values Description
group-uuid Yes string 7ef81cbe-01ed-4c27-8b2f-69d3a3fd4d6a   Unique Id of the device linking group.

 

Sample response:

 

{

  

      "id": 1,

      "uuid": "35e0cb6a-a258-49c9-a1f5-716094eed389",

      "groupName": "vik-chain",

      "subnet": "10.0.0.0/27",

      "status": "PROVISIONING",

      "accountName": "EQX16B76E96-3161-4f15-86F7-CB871DB2F53C",

      "metroDevices": [

        {

          "metroCode": "SY",

          "metro": "Sydney",

          "throughput": "500",

          "throughputUnit": "Mbps"

          },

          "devices": [

            {

              "deviceUUID": "4619dfe3-a11a-49d3-b58c-366f3a0bd7f0",

              "deviceName": "csr-sy",

              "deviceTypeCode": "CSR1000V",

              "category": "ROUTER",

              "ipAssigned": "10.0.0.2/27",

              "interfaceUUID": "5b2b8338-f645-41f8-aa11-3eb910c16497",

              "throughput": "1",

              "throughputUnit": "Gbps"

              "status": "PROVISIONING"

            }

          ]

        },

        {

          "metroCode": "DA",

          "metro": "Dallas",

          "throughput": "500",

          "throughputUnit": "Mbps"

          "devices": [

            {

              "deviceUUID": "1f54cb8a-991a-49de-ba38-25b9f7f33154",

              "deviceName": "ip-da",

              "deviceTypeCode": "CSR1000V",

              "category": "ROUTER",

              "ipAssigned": "10.0.0.1/27",

              "interfaceUUID": "36b80c6e-1373-495e-92b0-63f45b703d5f",

              "throughput": "I",

              "throughputUnit": "Gbps",

              "status": "PROVISIONING"

            }

          ]

        }

      ],

      "createdBy": "eqx-admin",

      "createdDate": "2019-10-29T20:21:06.741Z",

      "lastUpdatedBy": "eqx-admin",

      "lastUpdatedDate": "2019-10-29T20:21:06.741Z"

    

   

}

 

The description of the response payload is as follows:

 

Field Type Example Values

Description

 

id integer 1 Id of the group.
uuid string 6ea5a0e4-2bf7-45c2-9aa7-e846a8cd5567 Unique Id of the linked group. 
groupName string vik-chain Group name.
subnet string

10.0.0.0/27

Subnet of the device linking group.
status string PROVISIONING Status of the device linking group.
accountName string

EQX16B76E96-3161-4f15-86F7-CB871DB2F53C

Account name.
metroDevices array   An array of metros and the devices in the metros belonging to the group.
metroCode string DA Metro code.
metro string Dallas Name of the metro.
throughput string 500 Throughput of the metro.
throughputUnit string Mbps Throughput unit.
devices array   An array of devices that are part of the linking group.
deviceUuid string 9ea5a0e4-2bf7-45c2-9aa7-e846a8cd5560 Unique Id of the device.
deviceName string csr-sroy1 Name of the device.
deviceTypeCode string CSR1000V Device type code.
category string ROUTER Category of the device.
ipAssigned string 10.0.0.2/27 Assigned IP address of the device.
interfaceUUID string

6d5b942a-429e-494e-87e0-993845951cf

Unique Id of the interface used to link the device.
throughput string 500 Throughput of the device.
throughputUnit string Mbps Throughput unit of the device.
status string PROVISIONING Status of the device.
createdBy string nfv-sit1 Created by username.
createdDate string 2018-08-30T04:20:36.033Z Created date.
lastUpdatedBy string nfv-sit1 Last updated by.
lastUpdatedDate string 2018-08-30T04:20:36.033Z Last update date.

 

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

 


body: 
Associate a device to an SSH user

PATCH /ne/v1/services/ssh-user/{UUID}/association

 Method  PATCH
 URL or End Point  /ne/v1/services/ssh-user/{uuid}/association
 Headers  Authorization, Content-Type
 Query Parameters  deviceUuid
 Path Parameters  uuid

 

Call this API to associate a device to an SSH user.

 

To obtain an authorization key, refer to Requesting Access and Refresh tokens under the Getting Started section.

 

The following screenshot shows a sample curl request:

 

curl -X

PATCH "https://api.equinix.com/ne/v1/services/ssh-user/fa02d9df-75c2-4763-b9f7-89a06bf6376a/association?deviceUuid=afeb071c-227b-4be2-8fd5-ced81fd37273"
-H "content-type: application/json"
-H "Authorization: Bearer jnSoUKaJHpzMnU0toROpUHmqnwEP"
 

 

 

The description of the query parameter is as follows:

 

Query Parameter Name Mandatory Type Example Possible Values Description
deviceUuid Yes string afeb071c-227b-4be2-8fd5-ced81fd37273   Unique Id of the device.

 

The description of the path parameter is as follows:

 

Path Parameter Name Mandatory Type Example Possible Values Description
uuid Yes string ec68e425-f973-452e-a866-76be5844d0ba   The unique Id of the ssh user.

 

Sample response:

 

201

 

The description of the response payload is as follows:

 

HTTP status Description
201 Association created successfully.

 


body: 
PATCH device linking throughput {uuid}

PATCH /ne/v1/device/link/{group-uuid}/metro-throughput

 Method  PATCH
 URL or End Point  /ne/v1/device/link/{group-uuid}/metro-throughput
 Headers  Authorization, Content-Type
 Path Parameters group-uuid
 Body Parameters

metrosThroughput, metroCode, throughput

 

Call this API to update metro throughputs for a device linking group. 

 

To obtain an authorization key, refer to Requesting Access and Refresh tokens under the Getting Started section.

 

A sample curl request to update metro throughput of a device linking group.

 

curl -X

PATCH "https://api.equinix.com/ne/v1/device/link/fa02d9df-75c2-4763-b9f7-89a06bf6376a/metro-throughput"
-H "content-type: application/json"
-H "Authorization: Bearer jnSoUKaJHpzMnU0toROpUHmqnwEP"
-d '{
  "metrosThroughput": [
    {
      "metroCode": "SV",
      "throughput": "55",
      "throughputUnit": "Mbps"
    }
  ]
}'

 

The description of the path parameter is as follows:

 

Path Parameter Name Mandatory Type Example Possible Values Description
group-uuid Yes string ec68e425-f973-452e-a866-76be5844d0ba   The unique Id of the device linking group.

 

The description of the body parameters is as follows:

 

Body Parameter Name Mandatory Type Example Possible Values Description
metrosThroughput Yes array     An array of metroCodes and their throughput values.
metroCode Yes string SV   Metro code.
throughput Yes string 500   Throughput.
throughputUnit Yes string Mbps   Throughput unit.

 

Sample response.

 

204

 

Response payload:

 

HTTP status Description
204 Request fulfilled.

 

 


body: 
PATCH linking group devices {uuid}

PATCH /ne/v1/device/link/{group-uuid}/metro-devices

 Method  PATCH
 URL or End Point  /ne/v1/device/link/{group-uuid}/metro-devices
 Headers  Authorization, Content-Type
 Path Parameters group-uuid
 Body Parameters

groupName, subnet, metroDevices, metroCode, throughput, devices, asn, deviceUUID, accountNumber, accountReferenceId

 

Call this API to add/remove/update devices of a linking group. Please keep in mind that this API will remove a device from an existing device linking group unless you include the device and its details in the body.

 

To obtain an authorization key, refer to Requesting Access and Refresh tokens under the Getting Started section.

 

A sample curl request to add/remove/update devices of a device linking group.

 

curl -X

PATCH "https://api.equinix.com/ne/v1/device/link/fa02d9df-75c2-4763-b9f7-89a06bf6376a/metro-devices"
-H "content-type: application/json"
-H "Authorization: Bearer jnSoUKaJHpzMnU0toROpUHmqnwEP"
-d '{

  "groupName": "chainGroup",

  "subnet": "192.164.0.0/29",

  "metroDevices": [

    {

      "metroCode": "SV",

      "throughput": "500",

      "throughputUnit": "Mbps",

      "devices": [

        {

          "asn": 25658,

          "deviceUUID": "70754e55-a064-40c3-a911-6dc1f14b96fd"

        }

      ]

    }

  ],

  "accountNumber": "898987",

  "accountReferenceId": ""

}'

 

The description of the path parameter is as follows:

 

Path Parameter Name Mandatory Type Example Possible Values Description
group-uuid Yes string ec68e425-f973-452e-a866-76be5844d0ba   The unique Id of the device linking group.

 

The description of the body parameters is as follows:

 

Body Parameter Name Mandatory Type Example Possible Values Description
groupName Yes string vik-chain   Group name.
subnet Yes

string

10.0.0.0/27   Subnet of the device linking group.
metroDevices Yes array     An array of devices in metros.
metroCode Yes string SV   Metro code.
throughput Yes string 500 Mbps   Metro throughput.
throughputUnit Yes string     Throughput unit.
devices Yes array      An array of devices.
asn Yes integer 25658   ASN number.
deviceUUID Yes string    

Unique Id of the device.

accountNumber Yes string 456789   Account number.
accountReferenceId   string     Account reference Id. 

 

Sample response.

 

204

 

Response payload:

 

HTTP status Description
204 Request fulfilled.

 

 


body: 
PATCH linking group {uuid}

PATCH /ne/v1/device/link/{group-uuid}/link-details

 Method  PATCH
 URL or End Point  /ne/v1/device/link/{group-uuid}/link-details
 Headers  Authorization, Content-Type
 Path Parameters group-uuid
 Body Parameters

groupName, subnet

 

Call this API to update a linking group name and subnet.

 

To obtain an authorization key, refer to Requesting Access and Refresh tokens under the Getting Started section.

 

A sample curl request to update a group name.

 

curl -X

PATCH "https://api.equinix.com/ne/v1/device/link/fa02d9df-75c2-4763-b9f7-89a06bf6376a/link-details"
-H "content-type: application/json"
-H "Authorization: Bearer jnSoUKaJHpzMnU0toROpUHmqnwEP"
-d '{
  "groupName": "TEST-SROY-GROUP1",

  "subnet": "192.164.0.0/27"
}'

 

The description of the path parameter is as follows:

 

Path Parameter Name Mandatory Type Example Possible Values Description
group-uuid Yes string ec68e425-f973-452e-a866-76be5844d0ba   The unique Id of the group.

 

The description of the body parameters is as follows:

 

Body Parameter Name Mandatory Type Example Possible Values Description
groupName No string CiscoSTROY   Device linking group name.
subnet No string 192.164.0.0/27   Subnet of the linking group.

 

Sample response.

 

204

 

Response payload:

 

HTTP status Description
204 Request fulfilled.

 

 


body: 
Update a virtual device

PATCH /ne/v1/device/{UUID}

 Method  PATCH
 URL or End Point  /ne/v1/device/{uuid}
 Headers  Authorization, Content-Type
 Path Parameters  uuid
 Body Parameters

 notifications[...], termLength, virtualDeviceName

 

Call this API to update a virtual device, its name, term length, and the notification list used for device-lifecycle notifications. 

 

To obtain an authorization key, refer to Requesting Access and Refresh tokens under the Getting Started section.

 

The following screenshot shows a sample curl request to update a device.

 

curl -X

PATCH "https://api.equinix.com/ne/v1/device/fa02d9df-75c2-4763-b9f7-89a06bf6376a"
-H "content-type: application/json"
-H "Authorization: Bearer jnSoUKaJHpzMnU0toROpUHmqnwEP"
-d '{

  "notifications": [

    "test@equinix.com"

  ],

  "termLength": 12,

  "virtualDeviceName": "Auto_SROY_11-21"

}

'

 

The description of the path parameter is as follows:

 

Path Parameter Name Mandatory Type Example Possible Values Description
uuid Yes string ec68e425-f973-452e-a866-76be5844d0ba   The unique Id of the device. 

 

The description of the body parameters is as follows:

 

Body Parameter Name Mandatory Type Example Possible Values Description
notifications No array [test1@example.com]   Email addresses for device life-cycle notifications. Equinix needs a minimum of 1 and no more than 5 email addresses. You may have a different notification list for your HA device that has a secondary device for high availability. 
termLength No integer 4   Term length in months. Please keep in mind that you cannot downgrade the term length.
virtualDeviceName No string CiscoSTROY   Virtual device name. This should be minimum 3 and maximum 50 characters long. 

 

Sample response for a non-HA device.

 

204

 

Response payload:

 

HTTP status Description
204 Request fulfilled.

 

 


body: 

PUT BGP {uuid}

   

PUT /ne/v1/services/bgp/{uuid}

 Method  PUT
 URL or End Point  /ne/v1/services/bgp/{uuid}
 Headers  Authorization token, Content-Type
 Path Parameter  uuid
 Body Parameters

 authenticationKey, localAsn, localIpAddress, remoteAsn, remoteIpAddress

 

Call this API to update a BGP peering between your virtual device and cloud service provider. 

 

To obtain an authorization key, refer to Requesting Access and Refresh tokens under the Getting Started section.

 

A sample curl request to update BGP peering.

 

curl -X

PUT "https://api.equinix.com/ne/v1/services/bgp/ec68e425-f973-452e-a866-76be5844d0ba"

-H "Authorization: Bearer CcYxLosIYIIsmCGav5pplU25dLkG"
-H "Content-Type: application/json"
-d '{
  "authenticationKey": "sroy001",
  "localAsn": 10012,
  "localIpAddress": "10.0.0.1/29",
  "remoteAsn": 10013,
  "remoteIpAddress": "10.0.0.2"
}'

 

Path Parameters Mandatory Type Example Possible Values Description
uuid Yes string 7ab1bdca-0d56-457a-bbfe-4583082c721c   Unique Id of the BGP peering.

 

Body Parameters Mandatory Type Example Possible Values Description
authenticationKey No string pass123   Provide a key value that you will use to authenticate later.
localAsn Yes integer 10012   Local ASN (autonomous system number). This is the ASN of your virtual device. 
localIpAddress Yes string 100.210.1.221/30   Local IP Address. This is the IP address of the virtual device in CIDR format.
remoteAsn Yes integer 10013   Remote ASN (autonomous system number). This is the ASN of the cloud service provider. 
remoteIpAddress Yes string 100.210.1.31   Remote IP address. This is the IP address of the cloud service provider.

 

Sample response:

 

{
    "uuid": "ec68e425-f973-452e-a866-76be5844d0ba"
}

 

Response:

 

Field Type Example Values Description
UUID string ec68e425-f973-452e-a866-76be5844d0ba Unique Id of the of the updated BGP peering.

 

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

 


body: 

PUT update the password of an SSH user

PUT /ne/v1/services/ssh-user/{uuid}

 Method  POST
 URL or End Point  /ne/v1/services/ssh-user/{uuid}
 Headers  Authorization, Content-Type
 Path Parameters  uuid
 Body Parameters  password

 

Call this API to update the password of an SSH user. 

 

To obtain an authorization token, refer to Requesting Access and Refresh tokens under the Getting Started section.

 

Curl request:

 

curl -X

PUT "https://api.equinix.com/ne/v1/services/ssh-user/ec68e425-f973-452e-a866-76be5844d0ba"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

-d "{

"password": "projPass"

}"

 

The description of the path parameter is as follows:

 

Path Parameter Mandatory Type Example Applicable Values Description
uuid Yes string ec68e425-f973-452e-a866-76be5844d0ba

 

Unique id of the SSH user.

 

The description of the body parameter is as follows:

 

Body Parameter Mandatory Type Example Applicable Values Description
password Yes string projPass   Password of the SSH user.

 

Sample response

 

204 No Content

 

 

The description of the response payload is as follows:

 

HTTTP status Description
204 No Content Password updated successfully.

 

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

 


body: 

GET order summary

GET /ne/v1/device/order-summary

 Method  GET
 URL or End Point  /ne/v1/device/order-summary
 Headers  Authorization, Content-Type
 Query Parameters  accountNumber, metro, vendorPackage, licenseType, softwarePackage,   throughput, throughputUnit, termLength,  additionalBandwidth,   virtualDeviceUUID, secondaryAccountNumber, secondaryMetro, secondaryAdditionalBandwidth, accountUcmId
 Body  Not applicable

 

Get the Equinix order summary as a printable pdf file. This API helps customers who need an order estimate to go through a PO process before making a purchase. 

Note: If you are a reseller's customer, please contact your reseller for pricing information.

 

To obtain an authorization key, refer to Requesting Access and Refresh tokens under the Getting Started section.

 

A sample curl request: 

 

curl -X

GET "https://api.equinix.com/ne/v1/device/order-summary?accountNumber=2252619&metro=DC&vendorPackage=CSR1000V&licenseType=SUB&softwarePackage=IPBASE&throughput=500&throughputUnit=Mbps&termLength=24&additionalBandwidth=100"

-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
accountNumber Yes integer 2252726   Account number. Please provide an account number that belongs to the metro where you want a device.
metro Yes string DC   Metro where you want a device.
vendorPackage Yes string CSR1000V   Vendor package (device type code).
licenseType   string SUB  

License type, whether you want a subscription license (Equinix handles the license and charges monthly) or you want to bring your own license (BYOL).

softwarePackage Yes string IPBASE   Software package code.
throughput Yes string 500   Throughput of the device.
throughputUnit Yes string Mbps   Throughput Unit.
termLength   string 1   The term length of the contract in months.
additionalBandwidth   integer 100   Additional bandwidth (in Mbps).
virtualDeviceUUID   string

d5d88982-382f-420a-8d63-9dc4c3075f4c

  Unique ID of a virtual device. You may query this API to check the price of additional services for an existing virtual device. 
secondaryAccountNumber   integer 2242345   Secondary account number of an HA (high availability) device.
secondaryMetro   string DC   Secondary metro of an HA (high availability) device.
secondaryAdditionalBandwidth   integer 100   Secondary additional bandwidth of an HA (high availability) device in Mbps.
accountUcmId   string 678907   Unique Id of your account. You may use this unique Id if you do not have an account number.

 

Sample response:

 

200 Okay

 

The description of the response header is as follows:

 

Parameter Description
Content-Type application/pdf;charset=UTF-8. The response is a pdf file that you can save or view online. 

 

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

 


body: 

GET order terms 

GET ne/v1/device/agreement/order

 Method  GET
 URL or End Point  ne/v1/device/agreement/order
 Headers  Authorization, Content-Type
 Path Parameter  Not applicable
 Body  Not applicable

 

Call this API to find out the order and vendor-specific terms and conditions. 

 

To obtain an authorization token, refer to Requesting Access and Refresh tokens under the Getting Started section.

 

A sample curl request. 

 

curl -X

GET "https://api.equinix.com/ne/v1/device/agreement/order"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

 

Sample response:

 

{
    "terms": "By clicking \"Accept\" you are agreeing to the terms and conditions of this Order on behalf of your Company. You are acknowledging that you have the full authority on behalf of your Company to enter into this online Order (\"Order\") as governed by and incorporated by reference into the applicable Master Country Agreement, Interconnection Terms and Conditions, or other similar agreement agreed to between the Parties (\"Agreement\").\r\n\r\nUnless otherwise defined in this Order or if the context requires otherwise, all capitalized terms used in this Order shall have the meanings ascribed to them in the Agreement.\r\n‘Product(s)’ as used in this Order means all the products under this Order, including Licensed Space and/or Services (if any).\r\n\r\nThe Initial Term is the term stated above, which commence on the date the Product(s) are delivered (“Effective Date”).  \r\n\r\nAfter the Initial Term, the term will automatically renew for a period equal to the Initial Term unless either Party terminates this Order by providing written non-renewal notice 90 days prior to the end of the then-current term to the other Party in which event this Order will terminate at the end of the then-current term. For the avoidance of doubt, the notice period for an Initial Term of one month is 30 days, rather than 90 days. \r\n\r\n\r\nThis Order incorporates the Product Provider EULA provided by Equinix to the Customer in Attachment A of this Order and the Product Policies, which are attached as Exhibits to the Customer’s Interconnection Terms and Conditions. All Product(s) selected as part of this Order are subject to availability.\r\n\r\nEquinix, in its sole discretion, reserves the right to reject any handwritten or typed modification to this Agreement or any Order which is not mutually agreed to in writing. \r\n\r\nFor purposes of this Order, the Parties hereby agree that the following ‘Price Increase Terms’ grid is not applicable to the Network Edge Service and is of no force or effect.\r\n\r\nIf you have any questions regarding the terms of this Order, please contact your Equinix Sales Representative.\r\n\r\n\r\n \r\nATTACHMENT A \r\nPRODUCT PROVIDER EULA"
}

 

The description of the response payload is as follows:

 

Field  Name Type Example Description
terms string By clicking "Accept" you are agreeing to the terms and conditions of this Order on behalf of your Company. You are acknowledging that you have the full authority on behalf of your Company to enter into this online Order "Order" as governed by and incorporated by reference into the applicable Master Country Agreement, Interconnection Terms and Conditions, or other similar agreement agreed to between the Parties "Agreement." Unless otherwise defined in this Order or if the context requires otherwise, all capitalized terms used in this Order shall have the meanings ascribed to them in the Agreement.‘Product(s)’ as used in this Order means all the products under this Order, including Licensed Space and/or Services (if any). The Initial Term is the term stated above, which commence on the date the Product(s) are delivered (“Effective Date”). After the Initial Term, the term will automatically renew for a period equal to the Initial Term unless either Party terminates this Order by providing written non-renewal notice 90 days prior to the end of the then-current term to the other Party in which event this Order will terminate at the end of the then-current term. For avoidance of doubt, the notice period for an Initial Term of one month is 30 days, rather than 90 days. This Order incorporates the Product Provider EULA provided by Equinix to the Customer in Attachment A of this Order and the Product Policies, which are attached as Exhibits to the Customer’s Interconnection Terms and Conditions. All Product(s) selected as part of this Order are subject to availability. Equinix, in its sole discretion, reserves the right to reject any handwritten or typed modification to this Agreement or any Order which is not mutually agreed to in writing. For purposes of this Order, the Parties hereby agree that the following ‘Price Increase Terms’ grid is not applicable to the Network Edge Service and is of no force or effect. If you have any questions regarding the terms of this Order, please contact your Equinix Sales Representative. A PRODUCT PROVIDER EULABy clicking \"Accept\" you are agreeing to the terms and conditions of this Order on behalf of your Company. You are acknowledging that you have the full authority on behalf of your Company to enter into this online Order (\"Order\") as governed by and incorporated by reference into the applicable Master Country Agreement, Interconnection Terms and Conditions, or other similar agreement agreed to between the Parties (\"Agreement\"). Unless otherwise defined in this Order or if the context requires otherwise, all capitalized terms used in this Order shall have the meanings ascribed to them in the Agreement.\r\n‘Product(s)’ as used in this Order means all the products under this Order, including Licensed Space and/or Services (if any). The Initial Term is the term stated above, which commence on the date the Product(s) are delivered (“Effective Date”).  \r\n\r\nAfter the Initial Term, the term will automatically renew for a period equal to the Initial Term unless either Party terminates this Order by providing written non-renewal notice 90 days prior to the end of the then-current term to the other Party in which event this Order will terminate at the end of the then-current term. For the avoidance of doubt, the notice period for an Initial Term of one month is 30 days, rather than 90 days. \r\n\r\n\r\nThis Order incorporates the Product Provider EULA provided by Equinix to the Customer in Attachment A of this Order and the Product Policies, which are attached as Exhibits to the Customer’s Interconnection Terms and Conditions  . All Product(s) selected as part of this Order are subject to availability.\r\n\r\nEquinix, in its sole discretion, reserves the right to reject any handwritten or typed modification to this Agreement or any Order which is not mutually agreed to in writing. For purposes of this Order, the Parties hereby agree that the following ‘Price Increase Terms’ grid is not applicable to the Network Edge Service and is of no force or effect. If you have any questions regarding the terms of this Order, please contact your Equinix Sales Representative. ATTACHMENT A PRODUCT PROVIDER EULA Equinix order terms and conditions.

 

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

 


body: 

GET vendor terms

GET ne/v1/device/agreement/vendor

 Method  GET
 URL or End Point  ne/v1/device/agreement/vendor
 Headers  Authorization, Content-Type
 Query Parameters  vendorPackage, licenseType
 Body  Not applicable

 

Call this API to get a link to your vendor's terms. 

 

To obtain an authorization token, refer to Requesting Access and Refresh tokens under the Getting Started section.

 

The following screenshot shows a sample curl request. 

 

curl -X

GET "https://api.equinix.com/ne/v1/device/agreement/vendor?vendorPackage=CSR1000V&licenseType=SUB"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

 

The description of the request parameters is as follows:

 

Query Parameter Name Mandatory Type Example Applicable Values Description
vendorPackage Yes string

CSR1000V

 

Vendor package. This code specifies the device type (firewall, router, or SDWAN device) you want. 
licenseType Yes string SUB SUB, BYOL License type, whether subscription (SUB) or bring your own license (BYOL). 

 

Sample response:

 

{
  "terms": "https://www.cisco.com/c/en/us/about/legal/cloud-and-software/end_user_license_agreement.html"
}

 

The description of the response payload is as follows:

 

Field  Name Type Example Description
terms string

https://www.cisco.com/c/en/us/about/legal/cloud-and-software/end_user_license_agreement.html

A link to the vendor terms. 

 

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

 


body: 

PUT additional bandwidth

PUT /ne/v1/device/additionalbandwidth/{virtualDeviceUUID}

 Method  PUT
 URL or End Point  /ne/v1/device/additionalbandwidth/{virtualDeviceUUID}
 Headers  Authorization, Content-Type
 Path Parameter  virtualDeviceUUID
 Body Parameter  additionalBandwidth

 

Call this API to update/add additional bandwidth to an existing virtual device that is registered and provisioned. You must have set up an ACL (access control) list before you can add additional bandwidth to a device. 

 

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

 

curl -X

PUT "https://api.equinix.com/ne/v1/device/additionalbandwidth/f61e75d2-2008-43f4-bfee-1dd17b1e1a28"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

-d "{
"additionalBandwidth": 200

}"

 

The description of the path parameter is as follows:

 

Path Parameter Name Mandatory Type Example Applicable Values Description
virtualDeviceUUID Yes string f61e75d2-2008-43f4-bfee-1dd17b1e1a28

 

Unique Id of the virtual device.

 

The description of the body is as follows:

 

Body Parameter Name Mandatory Type Example Applicable Values Description
additionalBandwidth Yes integer 200

 

Additional bandwidth. 

 

204 No Content

 

The description of the response payload is as follows:

 

HTTP status Description
204 No Content The request was successfully processed.

 

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

 


body: 
Update a draft device

PUT /ne/v1/device/{UUID}

 Method  PUT
 URL or End Point  /ne/v1/device/{uuid}
 Headers  Authorization, Content-Type
 Query Parameters  draft
 Path Parameters  uuid
 Body Parameters

 additionalBandwidth, deviceTypeCode, hostNamePrefix, licenseFileId, licenseKey, licenseMode, licenseSecret, licenseToken, metroCode, 

 notifications[...], packageCode, siteId, sshUsers[sshUserUuid, action, sshUsername, sshPassword], systemIpAddress, termLength,

 throughput, throughputUnit, virtualDeviceName,   acl[...], accountNumber, accountReferenceId, 

 purchaseOrderNumber, secondary   {accountNumber, accountReferenceId, acl[...], additionalBandwidth, licenseFileId, licenseKey, licenseSecret,

 licenseToken, metroCode, notifications[...], siteId, 

 sshUsers[{sshUserUuid, action, sshUsername, sshPassword}], systemIpAddress, virtualDeviceName"}

 

Call this API to update a draft device. 

 

To obtain an authorization key, refer to Requesting Access and Refresh tokens under the Getting Started section.

 

The following screenshot shows a sample curl request to update a draft with NO secondary device (non-HA).

 

curl -X

PUT "https://api.equinix.com/ne/v1/device/fa02d9df-75c2-4763-b9f7-89a06bf6376a?draft=true"
-H "content-type: application/json"
-H "Authorization: Bearer jnSoUKaJHpzMnU0toROpUHmqnwEP"
-d '{
  "additionalBandwidth": 100,
  "deviceTypeCode": "CSR1000V",
  "hostNamePrefix": "myhostSR",
  "licenseToken": "ZTRjZTdlYmYtZjQ3Zi00MGI5LWJhMjMtNjQ0MWZiZWNhZWEyLTE1OTQ5NjU2%0ANzQwMTV8VFh5NDVZRFcvVHhid0NPTFFER0Y3K1BZSHp4WVFhRlFEcDNJenRt%0AaU1Qdz0%3D%0A",
  "licenseMode": "BYOL",
  "metroCode": "DC",
  "notifications": [
    "test1@example.com"
  ],
  "packageCode": "IPBASE",
  "sshUsers": [
    {
      "sshUserUuid": "",
      "action": "CREATE",
      "sshUsername": "cust0001_DC",
      "sshPassword": "projPass"
    }
  ],
  "termLength": 1,
  "throughput": 500,
  "throughputUnit": "Mbps",
  "virtualDeviceName": "Router1-csr1000v",
  "acl": [
    "192.168.1.1/29"
  ],
  "accountNumber": "708979",
  "purchaseOrderNumber": "123456"
}'

 

 

The description of the query parameter is as follows:

 

Query Parameter Name Mandatory Type Example Possible Values Description
draft Yes boolean True True To save a draft, set draft=true. As of now, this API does not support draft=false. You cannot create/update a device using this API. You must provide deviceTypeCode, accountNumber/accountReferenceId, and metroCode to save a draft. sshUsers and licenseFileId information will not be saved for drafts. Also, this API will not do access control list validation when you save a draft. 

 

The description of the path parameter is as follows:

 

Path Parameter Name Mandatory Type Example Possible Values Description
uuid Yes string ec68e425-f973-452e-a866-76be5844d0ba   The unique Id of the draft (draftUUID). 

 

The description of the body parameters is as follows:

 

Body Parameter Name Mandatory Type Example Possible Values Description
additionalBandwidth No integer 100   Addtional bandwidth. You may have a different additional bandwidth for your secondary device in case you have a secondary device for high availability.
deviceTypeCode Yes string CSR1000V

 

Virtual device type (device type code).
hostNamePrefix No string mySE   Host name prefix. This gets included as part of an FQDN that ensures that the device is reachable from approved sources, if desired. Only a-z, A-Z, 0-9 and hyphen(-) are allowed. It should start with a letter and end with a letter or a digit. Also, it should be minimum 2 and maximum 10 characters long. 
licenseFileID No string 6651aef5-e738-411f-8675-5f6b7b9cd429   License file Id is mandatory for some vendors-devices. If you select subscription license model (SUB), then you do not need to provide a licenseFileId. For Juniper HA devices, you may use the same license file for both the devices. 
licenseKey No string 6735-vwe64568-6a91-4112-8734-bea12d91f7y7   License key (primarily for CloudGenix SDWAN devices).
licenseMode No string BYOL BYOL, SUB License type. One of SUB (subscription) or BYOL (bring your own license) from your vendor. 
licenseSecret No string h5j0i45e83324pblbfca764532c4a640e7801f0   License secret (primarily for CloudGenix SDWAN devices).
licenseToken No string V74191621   License token is mandatory for some vendor-devices that provide/accept a license token. It is not mandatory for Cisco BYOL devices. You do not need to provide a license token if you want a subscription model or if your vendor provides license files. 
metroCode Yes string  SV   Metro code. You do not need to provide two different metros for your HA device that has a secondary device for high availability, but you may if you want to.
notifications No array [test1@example.com]   Email addresses for notification. We need a minimum of 1 and no more than 5 email addresses. You may have a different notification list for your HA device that has a secondary device for high availability. 
packageCode No string VM100   Software package code.
siteId No string     Site Id. A siteId is a particular physical location within the Viptela overlay network, such as a branch office or a campus.
sshUsers No array[object] [{
        "sshUserUuid": "",
        "action": "CREATE",
        "sshUsername": "cust00011_DCT",
        "sshPassword": "projPass!"
      }]
  SSH users. You may have two distinct sets of ssh users in case you have an HA device with a secondary device for high availability. 
sshUserUuid No string ef673cd4-9fc2-4ab4-810e-7274aaf7bc2d   Required for DELETE, REUSE operations. In case you want to REUSE an existing user, please provide the unique Id of the user. 
action No string CREATE CREATE, DELETE, REUSE Action to be performed, whether you want to create a new user, delete a user, or reuse a user. 
sshUsername No string cust00011_DCT   SSH username.
sshPassword No string projPass!   SSH user password. 
systemIpAddress No string 192.168.1.5   System Ip Address. Mandatory for Cisco SDWAN devices. Each vEdge router and vSmart controller is assigned a system IP address. It should be in decimal four-part dotted notation, just like IPv4 address. 
termLength No integer 12   Billing term length in months.
throughput No integer 500   Throughput of the device.
throughputUnit No string Mbps   Throughput unit.
virtualDeviceName No string CiscoSTROY   Virtual device name for identification. This should be minimum 3 and maximum 50 characters long. 
acl No array[string] ["192.168.10.0/24"]   IP addresses, no more than 50, in CIDR format. You may have two distinct sets of ACLs in case you have an HA device with a secondary device for high availability.  
accountNumber No string 10478397

 

Account number. Either an account number or an account referenceId is required to create a draft device. 
accountReferenceId No string 791281   Account reference Id. This is a temporary ID that can be used to create a draft device when your account is still pending, not active. Either an account number or an account referenceId is required to create a draft device. 
purchaseOrderNumber No string 3456789   Purchase order number. Optional field that customers can use to track this device creation to their own purchase order number. 
secondary No object secondary{}   Object containing the optional HA device details to create a secondary device for high availability. 

 

Sample response for a non-HA device.

 

204

 

The description of the response payload is as follows:

 

HTTP status Description
204 Request accepted.

 

 

You can query the details of a draft by making a GET call to the API /ne/v1/device/{uuid}. You can delete a draft by making a DEL call to the API /ne/v1/device/{uuid}

 


body: 

GET metro

GET /ne/v1/device/metro

 Method  GET
 URL or End Point  /ne/v1/device/metro
 Headers  Authorization, Content-Type
 Query Parameters  region, page, size
 Body Parameters  Not applicable

 

The Get metro API returns all available metros where the NE platform is available. The authorization token and content-type are the only headers that are passed to this API and a response is received based on the values passed.

 

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

 

The following screenshots show a sample curl request and its JSON response. 

 

curl -X

GET "https://api.equinix.com/ne/v1/device/metro"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

 

Response:

{
    "totalCount": 2,
    "pageNumber": 1,
    "pageSize": 20,
    "content": [
        {
            "region": "AMER",
            "metroCode": "DC",
            "metroDescription": "Ashburn"
        },
        {
            "region": "EMEA",
            "metroCode": "LD",
            "metroDescription": "London"
        }
    ]
}

 

The description of the request parameters is as follows:

 

Field name Mandatory Type Example Applicable Values Description
region No string

AMER

AMER,

EMEA,

APAC

The geographic region code where the metro resides. Three possible regions are “AMER”, “EMEA or “APAC”.
page No integer 1   Page number.
size No integer

20

  Results per page.

 

 

The description of the response payload is as follows:

 

Field name Type Example Description
totalCount string 2 The number of items returned.
pageNumber integer 1 Page number.
pageSize integer 20 The number of items displayed per page. 
content array   An array containing the metro objects.
region string

AMER

EMEA

APAC

The geographic region code where the metro resides. Three possible regions are “AMER”, “EMEA or “APAC”.
metroCode string DC The two-character code used to denote the metro.
metroDescription string

London

The name of the metro.

 

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

 


body: 

GET device types

GET /ne/v1/device/type

 Method  GET
 URL or End Point  /ne/v1/device/type
 Headers  Authorization, Content-Type
 Query Parameters  deviceTypeCode, category, page, size
 Body  Not applicable

 

Call this API to find out which virtual device (e.g., router or firewall) you want to launch on the NE platform. You will learn about the metro regions where virtual devices are available, vendors of devices, available software packages, and all possible licensing and throughput options. 

 

If you are unaware of how to obtain an authorization key, refer to Requesting Access and Refresh tokens under the Getting Started section.

 

The following screenshots show a sample curl request and its respective JSON response. 

 

curl -X

GET "https://api.equinix.com/ne/v1/device/type"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

 

Query Parameter Name Mandatory Type Example Applicable Values Description
deviceTypeCode No string CSR1000V   Code of the device you want.
category No string ROUTER

"ROUTER",

"FIREWALL",

"SDWAN"

Type of device you want.
page No string 1   Page number. Default value=1.
size No string 100   Results per page. Default value=100.

 

Sample response:

 

{
    "totalCount": 1,
    "pageNumber": 1,
    "pageSize": 100,
    "content": [
       {
            "deviceTypeCode": "CSR1000V",
            "name": "CSR 1000V",
            "description": "The [Cisco CSR 1000v Router Series|https://www.cisco.com/c/en/us/products/routers/cloud-services-router-1000v-series/index.html] serves as a secure single-tenant router in a multi-tenant, shared-resource public cloud environment. It provides end-to-end managed connectivity, enabling the user to construct a secure network connection and seamlessly extend it to public and virtual private clouds. Deploy a complete, hypervisor-isolated, multiservice secure instance for each tenant. Secure features include IPsec VPNs and built-in zone-based firewalls, among others.",
            "vendor": "Cisco",
            "category": "ROUTER",
            "licenseOptions": [
                {
                    "type": "Sub",
                    "name": "Subscription"
                },
                {
                    "type": "BYOL",
                    "name": "Bring Your Own License"
                }
            ],
            "throughputOptions": [
                {
                    "metroCodes": [
                        "LD",
                        "DC",
                        "SV"
                    ],
                    "throughput": 500,
                    "throughputUnit": "Mbps"
                },
                {
                    "metroCodes": [
                        "LD",
                        "DC",
                        "SV"
                    ],
                    "throughput": 1,
                    "throughputUnit": "Gbps"
                },
                {
                    "metroCodes": [
                        "SV"
                    ],
                    "throughput": 10,
                    "throughputUnit": "Gbps"
                }
            ],
            "availableMetros": [
                {
                    "metroCode": "LD",
                    "metroDescription": "London",
                    "region": "EMEA"
                },
                {
                    "metroCode": "DC",
                    "metroDescription": "Ashburn",
                    "region": "AMER"
                },
                {
                    "metroCode": "SV",
                    "metroDescription": "Silicon Valley",
                    "region": "AMER"
                }
            ],
            "softwarePackages": [
                {
                    "packageCode": "IPBASE",
                    "name": "IP Base"
                },
                {
                    "packageCode": "SEC",
                    "name": "Security"
                }
            ]
        }
    ]
}

 

The description of the response payload is as follows:

 

Field Name Type Example Values Description
totalCount integer 1 The total count of items returned.
pageNumber integer 1 Page number. 
pageSize integer 20 The number of items displayed per page. 
content array   An array containing the device type objects.
deviceTypeCode string CSR1000V Device type code.
name string CSR 1000V Name of device.
description string The [Cisco CSR 1000v Router Series|https://www.cisco.com/c/en/us/products/routers/cloud-services-router-1000v-series/index.html] serves as a secure single-tenant router in a multi-tenant, shared-resource public cloud environment. It provides end-to-end managed connectivity, enabling the user to construct a secure network connection and seamlessly extend it to public and virtual private clouds. Deploy a complete, hypervisor-isolated, multiservice secure instance for each tenant. Secure features include IPsec VPNs and built-in zone-based firewalls, among others. Device description.
vendor string Cisco Vendor of device.
category string ROUTER Type of virtual device, whether ROUTER or FIREWALL.
licenseOptions array licenseOptions[] An array of available license options, subscription (Sub) or bring your own license (BYOL).
type string BYOL Type of license, either BYOL (bring your own license) or SUB (subscription).
name string Bring Your Own License Name of license, either Bring Your Own License or Subscription. 
throughputOptions array throughputOptions[] An array containing the available throughput options.
throughput string 1 Throughput of the device.
throughputUnit string Gbps Throughput unit.
availableMetros array availableMetros[] An array containing the metros where the device is available.
metroCode string DC Metro code.
metroDescription string Ashburn Metro description.
region string AMER Region in which the metro is located.
softwarePackages array softwarePackages[] An array of available software packages.
packageCode string SEC Code-name of software.
name string Security Name of software.

 

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

 


body: 

GET account {metro} 

GET ne/v1/device/account/{metro}

 Method  GET
 URL or End Point  ne/v1/device/account/{metro}
 Headers  Authorization, Content-Type
 Path Parameters

 metro

 Query Parameters  accountUcmId
 Body  Not applicable

 

Call this API to check your account status. To create a virtual device, you must have an account in the metro where you want a virtual device, either in the Active or Pending state. 

 

To obtain an authorization token, refer to Requesting Access and Refresh tokens under the Getting Started section.

 

The following screenshot shows a sample curl request. 

 

curl -X

GET "https://api.equinix.com/ne/v1/device/account/SV"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

 

The description of the query parameter is as follows:

 

Query Parameter Name Mandatory Type Example Applicable Values Description
accountUcmId No string 678907   Unique Id of the account. A reseller querying for a customer's devices can pass the accountUcmId of the customer's account. 

 

The description of the path parameter is as follows:

 

Path Parameter Name Mandatory Type Example Applicable Values Description
metro Yes string

SV

 

The two-character metro code.

 

Sample response:

 

{
    "accountCreateUrl": "https://dev-nfv.corp.equinix.com/account?referenceId=79160&ibx=SV6&metro=SV&callbackId=a6cd9158-6280-4864-b57e-79b46a128568",
    "accounts": [
        {
            "accountName": "FACEBOOK INC",
            "accountNumber": "110249",
            "accountUcmId": "1000014389",
            "accountStatus": "Active"
        },
        {
            "accountName": "REG2-acc1",
            "accountNumber": "2201097",
            "accountUcmId": "1000014389",
            "accountStatus": "Active"
        },
        {
            "accountName": "FACEBOOK INC",
            "accountNumber": "133911",
            "accountUcmId": "1000008582",
            "accountStatus": "Active"
        },
        {
            "accountName": "Facebook, Inc.",
            "accountNumber": "350603",
            "accountUcmId": "1000675853",
            "accountStatus": "Active"
        },
        {
            "accountName": "Facebook, Inc.",
            "accountNumber": "4257",
            "accountUcmId": "1000007224",
            "accountStatus": "Active"
        },
        {
            "accountName": "TestXXX02",
            "accountStatus": "PROCESSING",
            "referenceId": "791281"
        },
        {
            "accountName": "TestSameAsHqAddress",
            "accountNumber": "",
            "accountStatus": "PROCESSING",
            "referenceId": "762452"
        },
        {
            "accountName": "TestAccountXXX01",
            "accountNumber": "",
            "accountStatus": "PROCESSING",
            "referenceId": "783903"
        },
        {
            "accountName": "Test-xxxxx022",
            "accountUcmId": "24234234-2348-SUDF",
            "accountStatus": "PROCESSING",
            "referenceId": "949134"
        },
        {
            "accountName": "Test-xxxxx028",
            "accountNumber": "",
            "accountStatus": "SUBMITTED",
            "referenceId": "258089"
        },
        {
            "accountName": "TestAc02Oct08",
            "accountNumber": "",
            "accountStatus": "PROCESSING",
            "referenceId": "871892"
        },
        {
            "accountName": "TestAc01Oct08",
            "accountNumber": "",
            "accountStatus": "PROCESSING",
            "referenceId": "320082"
        },
        {
            "accountName": "TESTACC01OCT08",
            "accountStatus": "PROCESSING",
            "referenceId": "636589"
        },
        {
            "accountName": "TestAc01Oct08",
            "accountNumber": "",
            "accountStatus": "PROCESSING",
            "referenceId": "324092"
        },
        {
            "accountName": "TESTACC02OCT08",
            "accountStatus": "PROCESSING",
            "referenceId": "883018"
        },
        {
            "accountName": "TestXXX01",
            "accountStatus": "PROCESSING",
            "referenceId": "189798"
        },
        {
            "accountName": "TestAccount -XXX025",
            "accountStatus": "PROCESSING",
            "referenceId": "921696"
        },
        {
            "accountName": "Reseller Org",
            "accountNumber": "1352619",
            "accountUcmId": "3367D27E-1899-41a5-8AB6-0AC551FF4C01",
            "accountStatus": "Active"
        },
        {
            "accountName": "Subaccount Org",
            "accountNumber": "3472619",
            "accountUcmId": "62C928C4-CD82-4f66-9B5E-C59AF317F61D",
            "accountStatus": "Active"
        }
    ],
    "errorMessage": null,
    "errorCode": null
}

 

The description of the response payload is as follows:

 

Field  Name Type Example Description
accountCreateURL string

https://ecxfabric.equinix.com/account?referenceId=459019&ibx=SV5&metro=SV&callbackId=062bcc1c-e319-42be-9674-200f19b6c3b4

URL to create an account. The accountCreate URL will not be there if you have an account.
accounts array accounts[] An array of accounts.
accountName string

TRYKE INC

Account name.
accountNumber string 110249 Account number.
accountUcmId string 1000014389 Unique Id of an account. This field is useful for resellers creating a device or adding services on behalf of their customers. 
accountStatus string Active Account status. Possible values: Active, Processing.
referenceID string 921696 This is a temporary ID that can be used to create a device when the account is Pending.
subCustomerAccounts array subCustomerAccounts[] An array of subCustomerAccounts associated with a reseller. 
errorMessage string   Error message.
errorCode string   Error code.

 

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

 


body: 

POST a license file before creating a virtual device (BYOL)

POST /ne/v1/device/license/file

 Method  POST
 URL or End Point  /ne/v1/device/license/file
 Headers  Authorization, Content-Type
 Query Parameter  metroCode, deviceTypeCode, licenseType
 Form Data  file

 

In case you want to bring your own license, you can use this API to post a license file that your vendor has provided. This API is for Juniper and Fortinet devices that require you to post a license before you create a virtual device. In the API response, you will get a fileID that you can later use to create a virtual device. 

 

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

 

The following screenshots show a sample curl request and its JSON response. 

 

POST "https://api.equinix.com/ne/v1/device/license/file?metroCode=SV&deviceTypeCode=CSRSDWAN&licenseType=BYOL"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

-H "content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW"
-F "file=@C:\Users\sroy\Desktop\Documents-equinix\CSR-FA819DC1-96FE-497A-89B4-FE3C897C981F.cfg"

 

The description of the request parameters is as follows:

 

Query Parameter Name Mandatory Type Example Applicable Values Description
metroCode Yes string SV

 

Metro code. Metro location for which you want to post a license file.
deviceTypeCode Yes string CSRSDWAN   Device type code. Find deviceTypeCode by calling Get device types API. 
licenseType Yes string BYOL BYOL License type. Use this API to upload a file if you are going to BYOL (bring your own license).

 

 

Form Parameter Name Mandatory Type Example Applicable Values Description
formData Yes file CSR-FA819DC1-96FE-497A-89B4-FE3C897C981F.cfg   License file that your vendor has provided.
 

 

{
    "fileId": "e0578172-7461-458f-91db-634f865fcaf5"
}

 

The description of the response payload is as follows:

 

Field Type Example Values Description
fileId string e0578172-7461-458f-91db-634f865fcaf5 File Id. You can use this ID to create a virtual device.

 

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

 


body: 

POST a license file after creating a virtual device

POST /ne/v1/device/license/file/{uuid}

 Method  POST
 URL or End Point  /ne/v1/device/license/file/{uuid}
 Headers  Authorization, Content-Type
 Path Parameter  UUID
 Form Data  file

 

If your license did not register (REGISTRATION_FAILED) although your device is provisioned, you can use this API to re-post a license file that your vendor has provided. You must upload twice, once for each HA device, in case your device has a secondary device for high availability.

 

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

 

curl -X

POST "https://api.equinix.com/ne/v1/device/license/file/299ad92a-70ed-4410-91b1-bb99dbb7b9ad"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

-H "content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW" 
-F "file=@C:\Users\sroy\Desktop\Documents-equinix\licenseFile.lic"

 

The description of the request parameters is as follows:

 

Path Parameter Name Mandatory Type Example Applicable Values Description
UUID Yes string ef673cd4-9fc2-4ab4-810e-7274aaf7bc2d

 

Unique ID of virtual device.

 

Form Parameter Name Mandatory Type Example Applicable Values Description
formData Yes file sroyt.lic   License file.
 

 

{
    "fileId": "469240e0-7376-49ce-90ea-8d254b69d2bd"
}

 

The description of the response payload:

 

Field Type Example Values Description
fileId string 6651aef5-e738-411f-8675-5f6b7b9cd429 File Id

 

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

 


body: 

POST a license token/code/ID (BYOL)

POST /ne/v1/device/license/{virtualDeviceUUID}

 Method  POST
 URL or End Point  /ne/v1/device/license/{virtualDeviceUUID}
 Headers  Authorization, Content-Type
 Path Parameter  virtualDeviceUUID
 Body Parameter  token

 

In case you have a Cisco or Palo Alto device, you can use this API to update a license token/code/ID in case the license fails to register (REGISTRATION_FAILED). 

 

To obtain an authorization token, refer to Requesting Access and Refresh tokens under the Getting Started section.

 

Curl request to post a token:

curl -X

POST "https://api.equinix.com/ne/v1/device/license/9a47a75e-164b-4c1c-8678-7b3605d4dd32"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

-d "{
"token": "V74191621"
}"

 

The description of the path parameter is as follows:

 

Path Parameter Name Mandatory Type Example Applicable Values Description
VirtualDeviceUUID Yes string 9a47a75e-164b-4c1c-8678-7b3605d4dd32

 

UUID of virtual device
 

 

Body Parameter Name Mandatory Type Example Applicable Values Description
token Yes string V74191621   License token/Code/ID. This field must have 8 alphanumeric characters.

 

202 Accepted

 

The description of the response payload is as follows:

 

HTTP status Type Example Values Description
202 Accepted     Token/code/ID was accepted. 

 

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

 


body: 

GET virtual devices

GET /ne/v1/device

 Method  GET
 URL or End Point  /ne/v1/device
 Headers  Authorization, Content-Type
 Query Parameters  page, size, metroCode, status, accountUcmId
 Body  Not applicable

 

Call this API to find out the details of your available virtual devices on the Equinix platform.

 

To retrieve drafts, you can query for devices with the status=DRAFT.

 

To obtain an authorization key, refer to Requesting Access and Refresh tokens under the Getting Started section.

 

The following screenshot shows a sample curl request and its respective JSON response to obtain available devices. 

 

curl -X

GET "https://api.equinix.com/ne/v1/device?page=1&size=20&metroCode=DC&status=PROVISIONED"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

 

Query Parameter Name Mandatory Type Example Applicable Values Description
page No string 1   Page number. Default value=1
size No string 100   Results per page. Default value=100
metroCode No string DC   Metro for which you want virtual devices.
status No string INITIALIZING INITIALIZING, PENDING_ACCOUNT, PROVISIONING, WAITING_FOR_PRIMARY, WAITING_FOR_SECONDARY, PROVISIONED, FAILED, DEPROVISIONING, DEPROVISIONED, DRAFT Status of the virtual device. 
accountUcmId No string 678907   Unique Id of the account. A reseller querying for a customer's devices can pass the accountUcmId of the customer's account. To find out the accountUcmId of your customer's account, please check the Equinix account creation portal (ECP) or call Get account API.   

 

Sample response: 

 

{
    "totalCount": 1,
    "pageNumber": 1,
    "pageSize": 1,
    "content": [
      {
            "uuid": "b9d2c2a1-3517-4af2-b35c-e2228fe05256",
            "name": "Router",
            "deviceTypeCode": "CSR1000V",
            "deviceTypeName": "CSR 1000V",
            "deviceTypeVendor": "Cisco",
            "deviceTypeCategory": "ROUTER",
            "status": "PROVISIONED",
            "licenseStatus": "REGISTERED",
            "metroCode": "SV",
            "metroName": "Silicon Valley",
            "ibx": "SV5",
            "region": "AMER",
            "throughput": 1,
            "throughputUnit": "Gbps",
            "hostName": "test",
            "packageCode": "IPBASE",
            "packageName": "IP Base",
            "licenseType": "Sub",
            "licenseName": "Subscription",
            "createdBy": "reseller1",
            "createdDate": "2019-09-27T07:40:38.887Z",
            "lastUpdatedBy": "reseller1",
            "lastUpdatedDate": "2019-09-30T17:36:05.523Z",
            "deviceSerialNo": "9TUGOHYGM26",
            "accountNumber": "5710199",
            "accountName": "sub1",
            "notifications": [
                "shakhan@ap.equinix.com"
            ],
            "redundancyType": "PRIMARY",
            "termLength": 1,
            "additionalBandwidth": 60,
            "interfaces": [
                {
                    "id": 1,
                    "name": "GigabitEthernet1",
                    "status": null,
                    "operationalStatus": null,
                    "macAddress": null,
                    "ipAddress": null,
                    "assignedType": "Equinix Managed"
                },
                {
                    "id": 2,
                    "name": "GigabitEthernet2",
                    "status": null,
                    "operationalStatus": null,
                    "macAddress": null,
                    "ipAddress": null,
                    "assignedType": "Equinix Managed"
                },
                {
                    "id": 3,
                    "name": "GigabitEthernet3",
                    "status": "RESERVED",
                    "operationalStatus": "down",
                    "macAddress": "fa16.3e2d.4209",
                    "ipAddress": null,
                    "assignedType": "Connection to Network Service Provider"
                },
                {
                    "id": 4,
                    "name": "GigabitEthernet4",
                    "status": "AVAILABLE",
                    "operationalStatus": "down",
                    "macAddress": "fa16.3ee9.46e4",
                    "ipAddress": null,
                    "assignedType": ""
                },
                {
                    "id": 5,
                    "name": "GigabitEthernet5",
                    "status": "AVAILABLE",
                    "operationalStatus": "down",
                    "macAddress": "fa16.3edd.9efc",
                    "ipAddress": null,
                    "assignedType": ""
                },
                {
                    "id": 6,
                    "name": "GigabitEthernet6",
                    "status": "AVAILABLE",
                    "operationalStatus": "down",
                    "macAddress": "fa16.3ef7.9dbf",
                    "ipAddress": null,
                    "assignedType": ""
                },
                {
                    "id": 7,
                    "name": "GigabitEthernet7",
                    "status": "AVAILABLE",
                    "operationalStatus": "down",
                    "macAddress": "fa16.3ec5.0bf7",
                    "ipAddress": null,
                    "assignedType": ""
                },
                {
                    "id": 8,
                    "name": "GigabitEthernet8",
                    "status": "AVAILABLE",
                    "operationalStatus": "down",
                    "macAddress": "fa16.3e5c.6bb2",
                    "ipAddress": null,
                    "assignedType": ""
                },
                {
                    "id": 9,
                    "name": "GigabitEthernet9",
                    "status": "AVAILABLE",
                    "operationalStatus": "down",
                    "macAddress": "fa16.3e88.276d",
                    "ipAddress": null,
                    "assignedType": ""
                },
                {
                    "id": 10,
                    "name": "GigabitEthernet10",
                    "status": "AVAILABLE",
                    "operationalStatus": "down",
                    "macAddress": "fa16.3e0a.198e",
                    "ipAddress": null,
                    "assignedType": ""
                }
            ]
        }
            
        
    ]
}

 

The description of the response is as follows:

 

Field Name Type Example Values Description
pageSize integer 20 Results per page.
pageNumber integer 5 Page number.
totalCount integer 200 Total count.
content content[]   An array of virtual device objects
uuid string ec68e425-f973-452e-a866-76be5844d0ba Unique ID of the virtual device (UUID).
name string Test-device-003-SROY Name of the virtual device.
deviceTypeCode string CSR1000V Device type code.
deviceTypeName string CSR 1000V Device type name.
deviceTypeVendor string Cisco Vendor of the device.
deviceTypeCategory string ROUTER Category of the device.
status string PROVISIONED Status of the device. 
licenseStatus string REGISTERED Status of the license. 
expiry string Never License expiry.
metroCode string DC Metro where the device is located.
metroName string Ashburn Metro name.
ibx string DC1 Name of Equinix exchange. One metro may have several exchanges.
region string AMER The region in which the metro is located
throughput integer 500 Throughput of the device
throughputUnit string Mbps Throughput unit.
hostName string TC12 Host name.
packageCode string SEC Software package code.
packageName string Security Software package name.
licenseType string BYOL Type of license, whether BYOL or subscription.
licenseName string Bring Your Own License Name of license.
licenseFileld string 9125e24a-708b-4c6e-8694-2c3ca727b081 License file Id. You get a licenseFileId when you upload a license file from your vendor to Equinix.
createdBy string myna Created by.
createdDate string 2019-05-03T03:11:44.127Z Creation date.
lastUpdatedBy string myna Last updated by.
lastUpdatedDate string 2019-05-03T03:11:44.127Z Last update date.
deviceSerialNo string 92CONAW32JC The serial number of the device.
accountNumber string 2252619 Account number.
accountName string nfv-sit1 Account name.
notifications array[] test@equinix.com List of email addresses that will receive device life-cycle notifications.
purchaseOrderNumber string 3456778 Customer's purchase order number.
redundancyType string PRIMARY Whether this device is primary or secondary. Secondary (HA) devices are redundant devices that ensure high availability.
redundantUUID string 086d0425-69b7-4c8e-8a29-a3d5a1e543da Unique Id of the redundant device. If this device is primary, then this field will have the unique Id of the secondary (HA) device. Otherwise, if this device is a secondary device, then this will field will have the unique Id of the primary device. 
managementIp string 10.198.251.54/24 Management IP. This optional parameter is relevant for SD-WAN devices. 
managementGatewayIp string 10.198.251.1 Management Gateway IP. This optional parameter is relevant for SD-WAN devices. 
publicIp string 149.97.198.97/31 Public IP. This optional parameter is relevant for SD-WAN devices. 
publicGatewayIp string 149.97.198.96 Public Gateway IP. This optional parameter is relevant for SD-WAN devices. 
primaryDnsName string 4.0.0.53 Primary DNS name. This optional parameter is relevant for SD-WAN devices. 
secondaryDnsName string 129.250.35.250 Secondary DNS name. This optional parameter is relevant for SD-WAN devices. 
termLength integer 24 The length of the contract.
additionalBandwidth integer 100 Additional bandwidth in Mbps.
vendorConfig object vendorConfig {siteId, systemIpAddress } The vendor config object has parameters that are specific to vendors. A Cisco SD-WAN device will have siteId and systemIpAddress. 
siteId string 567 Site Id. Relevant only for Cisco SD-WAN devices. A siteId is a particular physical location within the Viptela overlay network, such as a branch office, or a campus. 
systemIpAddress string 2.2.2.2 System IP address. Relevant only for Cisco SD-WAN devices. Each CSRSDWAN router and vSmart controller is assigned a system IP address. 
licenseKey string 1404-991d81bb-2567-43e5-a14c-1493ace58046 License key (ION key). Relevant only for CloudGenix devices.
licenseSecret string d29dceeef2d2b494c9eb76937a361890786e609d License secret (Secret key). Relevant only for CloudGenix devices. 
localId string SDWAN-Branch@Versa.com Email address of the branch location. Relevant only for Versa SD-WAN devices.
remoteId string Controller-01-staging@Versa.com Email address of the controller side. Relevant only for Versa SD-WAN devices.
controller1 string 54.219.248.29 Ip address of the SD-WAN controller1. Relevant only for Versa SD-WAN devices.
controller2 string 54.177.220.115 Ip address of the SD-WAN controller2. Relevant only for Versa SD-WAN devices.
serialNumber string 4545454 The customer selects a serial number when setting up the device template on Versa director. Relevant only for Versa SD-WAN devices. 
interfaces array[object]   An array of interface objects. 
id integer 1 Id of the interface.
name string GigabitEthernet1 Name of the interface.
status string AVAILABLE Status of the interface, whether it is AVAILABLE, RESERVED or ASSIGNED. Assigned interfaces are already in use. Reserved interfaces can only be used to bring your own connection (BYOC) from your Network Service Providers. 
operationStatus string down Operation status of the interface, whether it is up or down.
macAddress string fa16.3e1c.a8d8 Media access control address. It is the hardware identification number that uniquely identifies each device on a network. 
ipAddress string 2.2.2.2 Ip address.
assignedType string Equinix Managed  
asn integer 1029 Global ASN of the device.

 

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

 


body: 

GET virtual device {UUID}

GET /ne/v1/device/{uuid}

 Method  GET
 URL or End Point  /ne/v1/device/{uuid}
 Headers  Authorization, Content-Type
 Path Parameter  UUID
 Body  Not applicable

 

Call this API to get a virtual device by its unique Id (UUID).

 

To retrieve a draft, provide the unique Id of the draft (draftUUID).

 

To obtain an authorization key, refer to Requesting Access and Refresh tokens under the Getting Started section.

 

The following screenshots show a sample curl request. 

 

curl -X

GET "https://api.equinix.com/ne/v1/device/01425e3b-0e37-4539-af09-5b26cb9bad18"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

 

Path Parameter Name Mandatory Type Example Applicable Values Description
UUID Yes string ec68e425-f973-452e-a866-76be5844d0ba   Unique ID of the virtual device. To retrieve a draft, provide the unique Id of the draft (draftUUID).

 

Sample response: 

 

{
    "uuid": "01425e3b-0e37-4539-af09-5b26cb9bad18",
    "name": "Auto_oct_csr_10/1",
    "deviceTypeCode": "CSR1000V",
    "deviceTypeName": "CSR 1000V",
    "deviceTypeVendor": "Cisco",
    "deviceTypeCategory": "ROUTER",
    "status": "PROVISIONED",
    "licenseStatus": "REGISTERED",
    "metroCode": "SV",
    "metroName": "Silicon Valley",
    "ibx": "SV5",
    "region": "AMER",
    "throughput": 1,
    "throughputUnit": "Gbps",
    "hostName": "myhost-2",
    "packageCode": "SEC",
    "packageName": "Security",
    "licenseType": "Sub",
    "licenseName": "Subscription",
    "createdBy": "nfv-sit1",
    "createdDate": "2019-10-02T18:17:26.058Z",
    "lastUpdatedBy": "nfv-sit1",
    "lastUpdatedDate": "2019-10-02T19:39:56.176Z",
    "acl": [
        "15.0.0.0/8",
        "10.202.10.25/32",
        "10.196.67.41/32"
    ],
    "sshIpAddress": "14.1.1.43",
    "deviceSerialNo": "9PQN48Q1VS9",
    "sshIpFqdn": "myhost-2-43-1-1-14-SV.eis.lab.equinix.com",
    "accountNumber": "3240199",
    "accountName": "nfv-sit1",
    "notifications": [
        "anarausetty@equinix.com"
    ],
    "redundancyType": "PRIMARY",
    "termLength": 1,
    "additionalBandwidth": 200,
    "interfaces": [
        {
            "id": 1,
            "name": "GigabitEthernet1",
            "status": null,
            "operationalStatus": null,
            "macAddress": null,
            "ipAddress": null,
            "assignedType": "Equinix Managed"
        },
        {
            "id": 2,
            "name": "GigabitEthernet2",
            "status": null,
            "operationalStatus": null,
            "macAddress": null,
            "ipAddress": null,
            "assignedType": "Equinix Managed"
        },
        {
            "id": 3,
            "name": "GigabitEthernet3",
            "status": "RESERVED",
            "operationalStatus": "down",
            "macAddress": "fa16.3e56.440c",
            "ipAddress": null,
            "assignedType": "Connection to Network Service Provider"
        },
        {
            "id": 4,
            "name": "GigabitEthernet4",
            "status": "ASSIGNED",
            "operationalStatus": "up",
            "macAddress": "fa16.3ec6.724e",
            "ipAddress": "14.1.4.9/30",
            "assignedType": "conn_1(NE-SellerProfile-L2-SV-1)"
        },
        {
            "id": 5,
            "name": "GigabitEthernet5",
            "status": "ASSIGNED",
            "operationalStatus": "up",
            "macAddress": "fa16.3ef5.dd86",
            "ipAddress": "14.2.5.9/30",
            "assignedType": "conn_3(NE-SellerProfile-L2-SV-1)"
        },
        {
            "id": 6,
            "name": "GigabitEthernet6",
            "status": "AVAILABLE",
            "operationalStatus": "down",
            "macAddress": "fa16.3e03.14fc",
            "ipAddress": null,
            "assignedType": ""
        },
        {
            "id": 7,
            "name": "GigabitEthernet7",
            "status": "AVAILABLE",
            "operationalStatus": "down",
            "macAddress": "fa16.3ef3.91a3",
            "ipAddress": null,
            "assignedType": ""
        },
        {
            "id": 8,
            "name": "GigabitEthernet8",
            "status": "AVAILABLE",
            "operationalStatus": "down",
            "macAddress": "fa16.3e8c.b071",
            "ipAddress": null,
            "assignedType": ""
        },
        {
            "id": 9,
            "name": "GigabitEthernet9",
            "status": "AVAILABLE",
            "operationalStatus": "down",
            "macAddress": "fa16.3e1f.0e1d",
            "ipAddress": null,
            "assignedType": ""
        },
        {
            "id": 10,
            "name": "GigabitEthernet10",
            "status": "AVAILABLE",
            "operationalStatus": "down",
            "macAddress": "fa16.3e12.1d1e",
            "ipAddress": null,
            "assignedType": ""
        }
    ]
}

 

The description of the response is as follows:

 

Field Name Type Example Values Description
uuid string ec68e425-f973-452e-a866-76be5844d0ba Unique ID of the virtual device (UUID).
name string Test-device-003-SROY Name of the virtual device.
deviceTypeCode string CSR1000V Device type code.
deviceTypeName string CSR 1000V Device type name.
deviceTypeVendor string Cisco Vendor of the device.
deviceTypeCategory string ROUTER Category of the device.
status string PROVISIONED Status of the device. 
licenseStatus string REGISTERED Status of the license. 
metroCode string DC Metro where the device is located.
metroName string Ashburn Metro name.
ibx string DC1 Name of the Equinix exchange. A metro location may have several exchanges. 
region string AMER The region in which the metro is located
throughput integer 500 Throughput of the device
throughputUnit string Mbps Throughput unit.
hostName string TC12 Host name.
packageCode string SEC Software package code.
packageName string Security Software package name.
licenseType string BYOL Type of license, whether BYOL or subscription.
licenseName string Bring Your Own License Name of license.
licenseFileld string 9125e24a-708b-4c6e-8694-2c3ca727b081 License file Id. You get a licenseFileId when you upload a license file from your vendor to Equinix.
createdBy string myna Created by.
createdDate string 2019-05-03T03:11:44.127Z Creation date.
lastUpdatedBy string myna Last updated by.
lastUpdatedDate string 2019-05-03T03:11:44.127Z Last update date.
acl array[] acl [14.2.2.10] Access control list. These IP addresses can access the device.
sshIpAddress string 101.97.33.201 Ip Address of the device. 
deviceSerialNo string 92CONAW32JC The serial number of the device.
sshIpFqdn string

testhost-201-33-97-101-SY.eis.lab.equinix.com

The fully qualified domain name of the device. 
accountNumber string 2252619 Account number.
accountName string nfv-sit1 Account name.
notifications array[] test@equinix.com List of email addresses that will receive notifications.
purchaseOrderNumber string 3456778 Customer's purchase order number.
redundancyType string PRIMARY Whether this device is primary or secondary. Secondary (HA) devices are redundant devices that ensure high availability.
redundantUUID string 086d0425-69b7-4c8e-8a29-a3d5a1e543da Unique Id of the redundant device. If this device is primary, then this field will have the unique Id of the secondary (HA) device. Otherwise, if this device is a secondary device, then this will field will have the unique Id of the primary device. 
managementIp string 10.198.251.54/24 Management IP. This is an optional parameter relevant for SDWAN devices. 
managementGatewayIp string 10.198.251.1 Management Gateway IP. This is an optional parameter relevant for SDWAN devices. 
publicIp string 149.97.198.97/31 Public IP. This is an optional parameter relevant for SDWAN devices. 
publicGatewayIp string 149.97.198.96 Public Gateway IP. This is an optional parameter relevant for SDWAN devices. 
primaryDnsName string 4.0.0.53 Primary DNS name. This is an optional parameter relevant for SDWAN devices. 
secondaryDnsName string 129.250.35.250 Secondary DNS name. This is an optional parameter relevant for SDWAN devices. 
termLength integer 24 The term length of the contract.
additionalBandwidth integer 100 Additional bandwidth in Mbps.
vendorConfig object vendorConfig {siteId, systemIpAddress } The vendor config object has parameters that are specific to vendors. A Cisco SD-WAN device will have siteId and systemIpAddress. 
siteId string 567 Site Id. Relevant only for Cisco SD-WAN devices. A siteId is a particular physical location within the Viptela overlay network, such as a branch office, or a campus. 
systemIpAddress string 2.2.2.2 System IP address. Relevant only for Cisco SD-WAN devices. Each CSRSDWAN router and vSmart controller is assigned a system IP address. 
licenseKey string 1404-991d81bb-2567-43e5-a14c-1493ace58046 License key (ION key). Relevant only for CloudGenix devices.
licenseSecret string d29dceeef2d2b494c9eb76937a361890786e609d License secret (Secret key). Relevant only for CloudGenix devices. 
localId string branch1@example.com Email address of the branch location. Relevant only for Versa SD-WAN devices.
remoteId string companyController1@example.com Email address of the controller side. Relevant only for Versa SD-WAN devices.
controller1 string 54.219.248.29 Ip address of the SD-WAN controller1. Relevant only for Versa SD-WAN devices.
controller2 string 54.177.220.115 Ip address of the SD-WAN controller2. Relevant only for Versa SD-WAN devices.
serialNumber string 4545454 The customer selects a serial number when setting up the device template on Versa director. Relevant only for Versa SD-WAN devices. 
interfaces array[object]   An array of interface objects. 
id integer 1 Id of the interface.
ipv4Mask string 255.255.255.0 ipv4Mask of the interface.
ipv4Subnet string 192.168.0.5 ipv4Subnet of the interface.
name string GigabitEthernet1 Name of the interface.
status string AVAILABLE Status of the interface, whether it is AVAILABLE, ASSIGNED, or RESERVED. Assigned interfaces are already in use. Reserved interfaces can only be used to bring your own connection (BYOC) from your Network Service Providers. 
operationStatus string down The operation status of the interface, whether it is up or down.
macAddress string fa16.3e1c.a8d8 Media access control address. It is the hardware identification number that uniquely identifies each device on a network. 
ipAddress string 2.2.2.2 Ip address.
assignedType string test(AWS Direct connect) This field has the connection name and the service profile (in brackets) of the connection.
asn integer 1029 Global ASN of the device.

 

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

 


body: 

DELETE virtual device by UUID

DELETE /ne/v1/device/{uuid}

 Method  DELETE
 URL or End Point  /ne/v1/device/{uuid}
 Headers  Authorization, Content-Type
 Query Parameter  deleteRedundantDevice
 Path Parameter  uuid
 Body deactivationKey

 

Call this API to delete a virtual device on the Equinix platform. For some devices, e.g. Cisco CSR1000V, you just need to pass the device UUID as a path parameter, whereas for some other devices, e.g. Palo Alto devices, you also need a deactivation key as a body parameter. 

For HA devices, you must send a query parameter deleteRedundantDevice=True. As both primary and secondary devices are deleted simultaneously, the deleteRedundantDevice field must be marked True for Equinix to successfully delete a device that has a secondary device.

 

To obtain an authorization key, refer to Requesting Access and Refresh tokens under the Getting Started section.

 

Sample curl request to delete a Palo Alto device. 

 

curl -X

DELETE "https://api.equinix.com/ne/v1/device/5f888d91-d2c5-45bb-9b51-fed99f57f0ac?deleteRedundantDevice=True"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

-d '{
  "deactivationKey": "9dfbd5ba4721345d9e660143713cc34762af140533e2c1de0111d3451d17eefd",
  "secondary": {
    "deactivationKey": "9dfbd5ba4721345d9e660143713cc34762af140533e2c1de0111d3451d17eefd"
  }
}'

 

 

Sample curl request to delete a Cisco device. 

 

curl -X

DELETE "https://api.equinix.com/ne/v1/device/6f888d91-d2c5-45bb-9b51-fed99f57f0ac?deleteRedundantDevice=True"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

 

Path Parameter Name Mandatory Type Example Applicable Values Description
UUID Yes string 5f888d91-d2c5-45bb-9b51-fed99f57f0ac   Unique ID of the virtual device.

 

Query Parameter Name Mandatory Type Example Applicable Values Description
deleteRedundantDevice No Boolean True   Optional parameter in case you have a secondary device for high availability (HA). As both primary and secondary devices are deleted simultaneously, this field must be marked True for Equinix to successfully delete a device that has a secondary device.

 

 

Body Parameter Name Mandatory Type Example Applicable Values Description
deactivationKey No string 8dfbd5ba3610234d9e550032603cc34762af140533e2c1de0111d3451d16eefd   Some devices, e.g. Palo Alto devices, require a mandatory deactivation key for Equinix to successfully process the request. 
 
secondary No object     Object that holds the secondary deactivation key for HA (high availability) devices. 

 

Sample response: 

 

204 No Content : Deletion request accepted.

 

The description of the response is as follows:

 

HTTP status Description
204 No Content Deletion request successfully accepted.

 

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

 


body: 

PUT ACL (Access IP addresses)

PUT /ne/v1/device/{uuid}/acl

 Method  PUT
 URL or End Point  /ne/v1/device/{uuid}/acl
 Headers  Authorization, Content-Type
 Path Parameter  uuid
 Body Parameter  Array of IP addresses in CIDR format

 

Call this API to update/add a list of ACL (Acess IP addresses) to a virtual device. 

 

To obtain an authorization token, refer to Requesting Access and Refresh tokens under the Getting Started section.

 

curl -X

PUT "https://api.equinix.com/ne/v1/device/f61e75d2-2008-43f4-bfee-1dd17b1e1a28/acl"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

-d "

["192.168.1.1/32"]

"

 

The description of the path parameter:

 

Path Parameter Name Mandatory Type Example Applicable Values Description
UUID Yes string ec68e425-f973-452e-a866-76be5844d0ba   Unique ID of the virtual device. 

 

The description of the body parameter:

 

Parameter Name Mandatory Type Example Applicable Values Description
acl Yes array ["192.168.1.1/32"]

 

Access IP addresses in CIDR format. You may have upto fifty addresses.

 

204 No content

 

The description of the response payload:

 

HTTP status Description
204 No content The request was processed.

 

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

 


body: 

POST SSH user

POST /ne/v1/services/ssh-user

 Method  POST
 URL or End Point  /ne/v1/services/ssh-user
 Headers  Authorization, Content-Type
 Path Parameters  NA
 Body Parameters  username, password, deviceUuid

 

Call this API to create a new shh user and associate the user to a virtual device. You can only associate a user to an active device. 

 

To obtain an authorization token, refer to Requesting Access and Refresh tokens under the Getting Started section.

 

Curl request:

 

curl -X

POST "https://api.equinix.com/ne/v1/services/ssh-user"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

-d "{
"username": "SRT12345",

"password": "projPass",

"deviceUuid": "3da0a663-20d9-4b8f-8c5d-d5cf706840c8"

}"

 

The description of the body parameters is as follows:

 

Parameter Name Mandatory Type Example Applicable Values Description
username Yes string srt12345

 

User name.
password Yes string projPass   Password.
deviceUuid Yes string 3da0a663-20d9-4b8f-8c5d-d5cf706840c8   Unique Id of the virtual device.

 

Sample response

 

{
    "uuid": "4da0a663-20d9-4b8f-8c5d-d5cf706840c9"
}

 

The description of the response payload is as follows:

 

Field Type Example Values Description
uuid string 4da0a663-20d9-4b8f-8c5d-d5cf706840c9 Unique Id of the newly created ssh user.

 

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

 


body: 

GET SSH Users

GET /ne/v1/services/ssh-user

 Method  GET
 URL or End Point  /ne/v1/services/ssh-user
 Headers  Authorization, Content-Type
 Query Parameters  username, virtualDeviceUUID, verbose, accountUcmId, pageNumber, pageSize
 Body  Not applicable

 

Call this API to find out SSH user details.

 

To obtain an authorization key, refer to Requesting Access and Refresh tokens under the Getting Started section.

 

The following screenshot shows a sample curl request. 

 

curl -X

GET "https://api.equinix.com/ne/v1/services/ssh-user?verbose=Yes"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

 

Query Parameter Name Mandatory Type Example Applicable Values Description
username No string sr3245   Ssh user name. 
virtualDeviceUUID No string 32cf4a21-a6c4-4501-9a0c-79fc0873f653   Unique Id of the virtual device
verbose No boolean True True, False Whether you want details, including virtual device UUID, metros, or just the unique Id and username of ssh users.
accountUcmId No string 133598  

Unique Id of the account. A reseller querying for an end-customer's ssh-users can pass the accountUcmId of the customer's account. To find out the accountUcmId of a customer's account, please check the Equinix account creation portal (ECP) or call Get account API

pageNumber No integer 0   Page number.
pageSize No integer 20   Number of results per page.

 

Sample response: 

 

{
    "totalCount": 1,
    "pageNumber": 0,
    "pageSize": 20,
    "list": [
        {
            "uuid": "d8fe1db2-75a1-436e-839f-3ca50f4dce87",
            "username": "SRT12345",
            "deviceUuids": [
                "3925b42b-eff6-4c07-8c1a-3f16c01779aa"
            ],
            "metroStatusMap": {
                "SV": {
                    "status": "ACTIVE"
                }
            }
        }
    ],
    "content": null
}

 

The description of the response is as follows:

 

Field Name Type Example Values Description
totalCount integer 5

Total number of results.

pageNumber integer 0 Page number.
pageSize integer 20 Number of results per page.
list array   An array of ssh users.
uuid string 32cf4a21-a6c4-4501-9a0c-79fc0873f653 Unique Id of the ssh user.
username string srt123 Ssh user name.
deviceUuids array "deviceUuids": [
        "3925b42b-eff6-4c07-8c1a-3f16c01779aa"
    ]
An array of virtual device unique Ids associated with the username.
metroStatusMap object  "metroStatusMap": {
        "SV": {
            "status": "ACTIVE"
        }
    }
Object with the metro name as the key. The value is another object that has the status (PENDING, ACTIVE, or FAILED) of the ssh user in that metro. 

 

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

 


body: 

GET SSH user {uuid}

GET /ne/v1/services/ssh-user/{uuid}

 Method  GET
 URL or End Point  /ne/v1/services/ssh-user/{uuid}
 Headers  Authorization, Content-Type
 Path Parameter  uuid
 Body  Not applicable

 

Call this API to get SSH user details by unique Id of the ssh user.

 

To obtain an authorization key, refer to Requesting Access and Refresh tokens under the Getting Started section.

 

The following screenshot shows a sample curl request. 

 

curl -X

GET "https://api.equinix.com/ne/v1/services/ssh-user/d8fe1db2-75a1-436e-839f-3ca50f4dce89"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

 

Path Parameter Name Mandatory Type Example Applicable Values Description
uuid Yes string

d8fe1db2-75a1-436e-839f-3ca50f4dce89

  Unique Id of the SSH user. 

 

Sample response: 

 

{
    "uuid": "d8fe1db2-75a1-436e-839f-3ca50f4dce87",
    "username": "SRT12345",
    "deviceUuids": [
        "3925b42b-eff6-4c07-8c1a-3f16c01779aa"
    ],
    "metroStatusMap": {
        "SV": {
            "status": "ACTIVE"
        }
    }
}

 

The description of the response is as follows:

 

Field Name Type Example Values Description
uuid string 32cf4a21-a6c4-4501-9a0c-79fc0873f653 Unique Id of the ssh user.
username string srt123 Ssh user name.
deviceUuids array  "deviceUuids": [
        "3925b42b-eff6-4c07-8c1a-3f16c01779aa"
    ]
An array of virtual device unique Ids associated with the username.
metros object "metroStatusMap": {
        "SV": {
            "status": "ACTIVE"
        }
    }
An object with the metro name as the key. The value is another object that has the status (PENDING, ACTIVE, or FAILED) of the ssh user in that metro. 

 

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

 


body: 

DEL SSH User from a device

DEL /ne/v1/services/ssh-user/{uuid}/association

 Method  DEL
 URL or End Point  /ne/v1/services/ssh-user/{uuid}/association
 Headers  Authorization, Content-Type
 Path Parameter  uuid
 Query Parameter  deviceUuid

 

Call this API to dissociate an SSH user from a device. The ssh user is deleted if there is no other device associated with it.

 

To obtain an authorization key, refer to Requesting Access and Refresh tokens under the Getting Started section.

 

The following screenshot shows a sample curl request. 

 

curl -X

DEL "https://api.equinix.com/ne/v1/services/ssh-user/d8fe1db2-75a1-436e-839f-3ca50f4dce87/association?deviceUuid=9ae1e9fc-7b0b-453b-bf2e-ea1d5fc52753"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

 

Path Parameter Name Mandatory Type Example Applicable Values Description
uuid Yes string d8fe1db2-75a1-436e-839f-3ca50f4dce89

 

Unique Id of the ssh user.

 

 

Query Parameter Name Mandatory Type Example Applicable Values Description
deviceUuid Yes string 9ae1e9fc-7b0b-453b-bf2e-ea1d5fc52753

 

Unique Id of the virtual device.

 

Sample response: 

 

{
  "sshUserDeleted": false,
  "sshUserToDeviceAssociationDeleted": true
}

 

The description of the response:

 

Field Name Type Example Values Description
sshUserDeleted string false Whether the ssh user was deleted or not. The ssh user is deleted from the system only if there is no other device associated with the user. 
sshUserToDeviceAssociationDeleted string true Whether the ssh user was removed from the device. If True, the user will no longer have access to the device. 

 

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

 


body: 

GET L2 Service Profiles

GET /ne/v1/l2/serviceprofiles/services

 Method  GET
 URL or End Point  /ne/v1/l2/serviceprofiles/services
 Headers  Authorization, Content-Type
 Query Parameters  metroCode, pageNumber, pageSize
 Body  Not applicable

 

Gets all L2 seller profiles (services), such as AWS - Direct Connect, Azure - Express Route, for a given metro.

 

To obtain an authorization key, refer to Requesting Access and Refresh tokens under the Getting Started section.

 

The following screenshots show a sample curl request. 

 

curl -X

GET "https://api.equinix.com/ne/v1/l2/serviceprofiles/services?pageSize=20&pageNumber=0&metroCode=Dc"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

 

The description of the query parameters is as follows:

 

Query Parameter Name Mandatory Type Example Applicable Values Description
pageSize No Integer 20   The number of items per page. 
pageNumber No Integer 1   Page number. 
metroCode No array[string]

DC

 

The 2 character metro code of the metro for which you want 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 response.
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 Connection name label.
requiredRedundancy boolean

true

false

Indicates whether or not redundant connections are required when connecting to this service profile.

If requireRedundancy” = true, you would need two ports, a primary port with a primary connection and a secondary port with a secondary connection, or one port and two connections (one primary and one secondary).

allowCustomSpeed boolean

true

false

Indicates whether or not to allow custom bandwidths/speeds to be defined when creating connections to this profile.
speedBands array   An array containing the speeds/bandwidth ranges allowed when creating connections to this profile.
speed double

50

200

500

1000

Bandwidth speed.
unit string MB Bandwidth speed unit.
metros array   The metros associated with this profile where connections can be created.
code string SV The metro code where connections to this service profile can be created.
name string Silicon Valley The actual metro name where connections to this service profile can be created.
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 the service profile was created.
createdBy string John-Doe The username who created the service profile.
lastUpdatedDate string 2018-12-07T13:58:28.258Z The last date the service profile was updated.
lastUpdatedBy string John-Doe The user who last updated the service profile.
vlanSameAsPrimary boolean

true

false

Indicates whether or not to use the same VLAN for the primary connection as for the secondary connection.
tagType string

CTAGED

BOTH

NAMED

The type of tagging to be used for connections to this service profile. The default value is CTAGED.
apiAvailable boolean

true

false

Indicates whether or not API integration has been performed for connections to this profile.
selfProfile boolean

true

false

Indicates whether the profile belongs to your organization.
speedfromAPI string

true

false

Bandwidth of the cloud service provider for this connection according to the service provider.
profileEncapsulation string

Dot1q

Qinq

The port encapsulation type for this profile, can be either Dot1q or Qinq.
authorizationKey string [a-z|A-z|0-9] A sample authorization key expression to be used by the user/customer when creating connections to this profile. e.g. - Account ID for AWS, Service key for Azure, etc
organizationName string John-Doe-Corp Organization name associated with this service profile.
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.)
features object   Contains feature related information such as cloudReach, testProfile, etc.  
cloudReach boolean

true

false

Indicates whether or not connections to this profile can be created from remote metros.
testProfile boolean

true

false

Indicates whether or not this profile can be used for test connections.
pageNumber integer 0 Page number. 

 

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

 


body: 

 GET L2 Validate Authorization Key

GET /ne/v1/l2/connections/validateAuthorizationKey

 Method  GET
 URL or End Point  /ne/v1/l2/connections/validateAuthorizationKey
 Headers  Authorization, Content-Type
 Query Parameters  authorizationKey,metroCode, profileId, region 
 Body  Not applicable

 

The validateAuthorizationKey API validates an L2 service key against an L2 destination service profile. In other words,  this API checks if the user is authorized by the service provider to create a connection to this metro (destination).

 

To obtain an authorization key, refer to Requesting Access and Refresh tokens under the Getting Started section.

 

The following screenshots show a sample curl request. 

 

curl -X

GET "https://api.equinix.com/ne/v1/l2/connections/validateAuthorizationKey?authorizationKey=991040a8-2e08-48b9-b0f8-8c5f87dfbx6a&metroCode=DC&profileId=x1384t22-bbe0-4e43-ax37-95beeg9d254d&region=AMER

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

 

The description of the query parameters are as follows:

 

Query Parameter Name Mandatory Type Example Applicable Values Description
authorizationKey Yes string 991040a8-2e08-48b9-b0f8-8c5f87cfbx6a   Connection credentials such as AWS account ID for AWS, service key for Azure etc.
metroCode Yes string DC

 

The two-character code used to denote the metro.

profileId Yes string x1384t22-bbe0-4e43-ax37-95beeg9d254d   The unique identifier of the service profile.
region Yes string AMER

"AMER"

"EMEA"

"APAC"

Indicates the region in which 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 of the primary connection.
secondary object   An object containing secondary connection information.
bandwidth string 50MB The bandwidth of the secondary connection.

 

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

 


body: 

GET L2 Connections {connId}

GET L2 connections {connId}

 Method  GET
 URL or End Point  /ne/v1/l2/connections/{connId}
 Headers  Authorization, Content-Type
 Query Parameters  Not applicable
 Body  Not applicable
 Path Parameter  connId

 

Gets an L2 connection for a connection Id.

 

ConnId is a unique identifier unique for every connection.

 

To obtain an authorization key, refer to Requesting Access and Refresh tokens under the Getting Started section.

 

The following screenshots show a sample curl request. 

 

curl -X

GET "https://api.equinix.com/ne/v1/l2/connections/006d08e2-788e-4c83-82d3-07b1787644a5"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

 

{
    "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. 
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   Updated by.
lastUpdatedDate string 2018-09-14T02:21:06.425Z Last update date.
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 The 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 description. 
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. This purchase order number will be on the invoice.
redundancyGroup string 28c02121-f093-4340-90c9-081b17b239c8 Grouping of a primary and secondary connection using a unique ID.
redundancyType string

"primary"

"secondary"

The type of connection.
remote boolean  

true

false

Indicates whether the connection is a remote connection.  (i.e. if the seller and buyer metros are different then it's a remote connection)
self boolean

true

false

Indicates whether the connection belongs to your organization. (i.e. source and destination belongs to your organization)
sellerMetroCode string TR The metro code denoting the destination metro where the connection has been created to. 
sellerMetroDescription string Toronto The metro name indicating the destination metro where the connection has been created to. 
sellerOrganizationName string JOHN ORG Seller organization name associated with the connection.
sellerServiceName string Azure Express Route Seller service associated with the connection.
sellerServiceUUID string a1390b22-bbe0-4e93-ad37-85beef9d254d Seller service ID associated with the connection.
speed integer 50 Bandwidth speed
speedUnit string

MB

GB

The unit of bandwidth speed.
providerStatus string

DEPROVISIONED

PROVISIONED

PENDING_APPROVAL

NOT_AVAILABLE

DEPROVISIONING

PROVISIONING

FAILED

PENDING_BGP

AVAILABLE

OUTOFBANDWIDTH

ERROR

The status of the connection at the service provider's end.
status string DEPROVISIONED The status of the connection at Equinix's end.
uuid string 006d08e2-788e-4c83-82d3-07b1787644a5 The unique identifier of the connection.
vlanSTag string 5 Stag name of the connection.
zSidePortName string JOHN-DOE-PORT-B"

The name of the Z side port.

zSidePortUUID string 66284add-86d1-6d10-b4e0-30ac094f8af1

The unique identifier of the Z side port.

zSideVlanCTag integer 5 The C Tag of the Z side port.
zSideVlanSTag integer 8 The S Tag of the Z side port.
isFirstPage boolean

true

false

Indicates whether the page being displayed is the first page.
isLastPage boolean

true

false

Indicates whether the page being displayed is the last page.
pageNumber integer 20 The page number of the page which is currently being displayed. 
totalCount integer 450 The number of items returned as the response for the API request.

 

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

 


body: 

GET L2 Buyer connections

GET l2/buyer/connections

 Method  GET
 URL or End Point  /ne/v1/l2/buyer/connections
 Headers  Authorization, Content-Type
 Query Parameters  status, metroCode, buyerPortName, buyerPortUUID, searchtType, subAccount, pageNumber, pageSize
 Body  Not applicable

 

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

 

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

 

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

 

curl -X

GET "https://api.equinix.com/ne/v1/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 metro code of 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). 
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   Can only be used by 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. 

 

Sample response:

 

{
    "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. 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 99973578-36f9-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 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 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 updated the connection.
namedTag string Private The type of peering you would like to set up with Azure Express Route.
notification array   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   The metro name where connections to this service profile can be created. 
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 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 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 Doe 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 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

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 the API request.

 

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

 


body: 

DELETE Connections {uuid}

DELETE /ne/v1/l2/connections/{uuid}

 Method  DELETE
 URL or End Point  /ne/v1/l2/connections/{uuid}
 Headers  Authorization, Content-Type
 Query Parameter  NA
 Path Parameter  Unique Id of the connection
 Body   NA

 

Deletes a connection by its unique ID. 

 

If you are unaware of how to obtain an authorization key, refer to Requesting Access and Refresh tokens under the Getting Started section.

 

The following screenshots show a sample curl request and its respective JSON response to delete a connection. 

 

curl -X

DELETE "https://api.equinix.com/ne/v1/l2/connections/5f888d91-d2c5-45bb-9b51-fed99f57f0ac"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

 

Path Parameter Name Mandatory Type Example Applicable Values Description
UUID Yes string 5f888d91-d2c5-45bb-9b51-fed99f57f0ac   Unique Id of the connection.

 

Sample response: 

 

{
    "message": "deleted connection successfully",
    "primaryConnectionId": "6f422679-746e-4d94-b338-2a90370a7fe7"
}

 

The description of the response is as follows:

 

Field Name Type Example Values Description
message string deleted connection successfully The connection was deleted successfully.
primaryConnectionId string 6f422679-746e-4d94-b338-2a90370a7fe7 Connection Id of the deleted connection.

 

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

 


body: 

GET agreement status

GET /ne/v1/device/agreement/account

 Method  GET
 URL or End Point  /ne/v1/device/agreement/account
 Headers  Authorization, Content-Type
 Query Parameters  account_number
 Body  Not applicable

 

Call this API to find out the status of your agreement, whether it is valid or not, or to just read the agreement terms. 

 

To obtain an authorization token, refer to Requesting Access and Refresh tokens under the Getting Started section.

 

A sample curl request:

 

curl -X

GET "https://api.equinix.com/ne/v1/device/agreement/account?account_number=2252619"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

 

Query Parameter Name Mandatory Type Example Applicable Values Description
account_number Yes string 2252619   Customer's account number.

 

Sample response:

 

{
    "termsVersionID": "",
    "terms": "",
    "isValid": "true",
    "errorMessage": ""
}

 

The description of the response payload is as follows:

 

Field name Type Example Description
termsVersionID string a2Z34000002CXRtEAO Version Id of the agreement. You will only see a version ID if you have not signed an agreement or your agreement is not valid anymore.  
terms string EQUINIX NETWORK EDGE SERVICES TRIAL AGREEMENT\r\n\r\nThis Equinix Network Edge Services Trial Agreement (this “Agreement”) is made and entered into by and between Equinix, Inc. (“Equinix,” “Us” or “We”) and you, our customer (“Customer”).  The terms of the agreement. You will only get the terms if you have not signed an agreement or the agreement is not valid anymore.
isValid string

True

True if the agreement is valid, false if it is not.
errorMessage string   Error message.

 

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

 


body: 

POST agreement

POST /ne/v1/device/agreement/account

 Method  POST
 URL or End Point  /ne/v1/device/agreement/account
 Headers  Authorization, Content-Type
 Path Parameters  NA
 Body Parameters  accountNumber, apttusId

 

Call this API to post an agreement. The authorization token and content-type are the only headers that are passed to this API and a response is received based on the values passed.

 

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

 

curl -X

POST "https://api.equinix.com/ne/v1/device/agreement/account"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

-d "{
"accountNumber": "V74191621",

"apttusId": "a2Z34000002CXRtEAO"

}"

 

The description of the body parameters is as follows:

 

Parameter Name Mandatory Type Example Applicable Values Description
accountNumber Yes string 8907778

 

Customer's account number.
apttusId Yes string a2Z34000002CXRtEAO   Version number of the agreement.

 

{
    "status": "PROCESSED"
}

 

The description of the response payload is as follows:

 

Field Type Example Values Description
status string PROCESSED The agreement request is being processed.

 

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

 


body: 

GET BGP {bgpuuid}

GET /ne/v1/services/bgp/{bgpuuid}

 Method  GET
 URL or End Point  /ne/v1/services/bgp/{bgpuuid}
 Headers  Authorization, Content-Type
 Path Parameters  bgpUUID
 Body  Not applicable

 

This API returns BGP configuration for a bgpUUID. The authorization token and content-type are the only headers that are passed to this API and a response is received based on the values passed.

 

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

 

The following screenshot shows a sample curl request to obtain BGP configuration for a uuid.  

 

curl -X

GET "https://api.equinix.com/ne/v1/services/bgp/7ef81cbe-01ed-4c27-8b2f-69d3a3fd4d6a"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

 

The description of the path parameter is as follows:

 

Path Parameter Name Mandatory Type Example Applicable Values Description
bgpuuid Yes string 7ef81cbe-01ed-4c27-8b2f-69d3a3fd4d6a   Unique Id of the BGP peering.

 

Sample response:

 

{
    "uuid": "7ab1bdca-0d56-457a-bbfe-4583082c721c",
    "connectionUUID": "fbb0667d-0323-4734-855f-695cf543c2d7",
    "virtualDeviceUUID": "a75fe919-7b95-4be4-ba13-20f678fe83c6",
    "localIpAddress": "100.210.1.221/30",
    "localAsn": 10012,
    "remoteAsn": 10013,
    "remoteIpAddress": "100.210.1.222",
    "authenticationKey": "pass123",
    "state": "Established",
    "createdBy": "nfv-sit1",
    "createdByFullName": "nfv-sit1 nfv-sit1",
    "createdDate": "2019-10-14T22:07:13.701Z",
    "createdByEmail": "shafina.ahamed@ap.equinix.com",
    "lastUpdatedBy": "nfv-sit1",
    "lastUpdatedByFullName": "nfv-sit1 nfv-sit1",
    "lastUpdatedDate": "2019-10-16T21:00:30.539Z",
    "lastUpdatedByEmail": "shafina.ahamed@ap.equinix.com",
    "provisioningStatus": "PENDING_UPDATE"
}

 

The description of the response payload is as follows:

 

Field Type Example Values

Description

 

uuid string 6ea5a0e4-2bf7-45c2-9aa7-e846a8cd5567 Unique Id of BGP peering. 
connectionUUID string e5f30fc6-ae9d-4fbb-8020-d61329d8fe34 Unique Id of the connection between your virtual device and another service provider.
virtualDeviceUUID string

f61e75d2-2008-43f4-bfee-1dd17b1e1a28

Unique Id of your virtual device.
localIpAddress string 12.0.0.1/30 Local IP Address. This is the IP address of the virtual device in CIDR format.
localAsn string 10061 Local ASN (autonomous system number). This is the ASN of your virtual device. 
remoteIpAddress string 12.0.0.2 Remote IP address. This is the IP address of the cloud service provider.
remoteAsn string 10013 Remote ASN (autonomous system number). This is the ASN of the cloud service provider. 
authenticationKey string pass1233 Key value for authentication.
state string Idle State of the BGP peering. One of Idle, Connect, Active, Established, OpenSent, and OpenConfirm.
createdBy string nfv-sit1 The username of the user who created the BGP peering.
createdDate string 2018-08-30T04:20:36.033Z The date on which the BGP peering was created.
createdByFullName string nfv-sit1 nfv-sit1 Full name of the user who created BGP peering.
createdByEmail string test@equinix.com Created by email.
lastUpdatedBy string nfv-sit1 Last updated by.
lastUpdatedByFullName string nfv-sit1 nfv-sit1 Full name of the user who updated last.
lastUpdatedDate string 2018-08-30T04:20:36.033Z Last update date.
lastUpdatedByEmail string test@equinix.com Email of the user who updated last.
provisioningStatus string PROVISIONED Provisioning status of BGP peering. One of PROVISIONING, PROVISIONED, or FAILED.

 

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

 


body: 

GET BGP configuration {connUUID}

GET /ne/v1/services/bgp/connection/{connectionUUID}

 Method  GET
 URL or End Point  /ne/v1/services/bgp/connection/{connectionUUID}
 Headers  Authorization token, Content-Type
 Path Parameters  connectionUUID
 Body  Not applicable

 

This API returns BGP configuration for a connection (connectionUUID). 

 

To obtain an authorization token, refer to Requesting Access and Refresh tokens under the Getting Started section.

 

A sample curl request to obtain BGP configuration for a connection.  

 

curl -X

GET "https://api.equinix.com/ne/v1/services/bgp/connection/7ef81cbe-01ed-4c27-8b2f-69d3a3fd4d6a"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

 

The description of the path parameter is as follows:

 

Path Parameter Name Mandatory Type Example Applicable Values Description
connectionUUID Yes string 7ef81cbe-01ed-4c27-8b2f-69d3a3fd4d6a   Unique Id of the connection.

 

Sample response:

 

{
    "uuid": "7ab1bdca-0d56-457a-bbfe-4583082c721c",
    "connectionUUID": "fbb0667d-0323-4734-855f-695cf543c2d7",
    "virtualDeviceUUID": "a75fe919-7b95-4be4-ba13-20f678fe83c6",
    "localIpAddress": "100.210.1.221/30",
    "localAsn": 10012,
    "remoteAsn": 10013,
    "remoteIpAddress": "100.210.1.222",
    "authenticationKey": "pass123",
    "state": "Established",
    "createdBy": "nfv-sit1",
    "createdByFullName": "nfv-sit1 nfv-sit1",
    "createdDate": "2019-10-14T22:07:13.701Z",
    "createdByEmail": "shafina.ahamed@ap.equinix.com",
    "lastUpdatedBy": "nfv-sit1",
    "lastUpdatedByFullName": "nfv-sit1 nfv-sit1",
    "lastUpdatedDate": "2019-10-16T21:00:30.539Z",
    "lastUpdatedByEmail": "shafina.ahamed@ap.equinix.com",
    "provisioningStatus": "PENDING_UPDATE"
}

 

The description of the response payload is as follows:

 

Field Type Example Values

Description

 

uuid string 6ea5a0e4-2bf7-45c2-9aa7-e846a8cd5567 Unique Id of BGP peering. 
connectionUUID string e5f30fc6-ae9d-4fbb-8020-d61329d8fe34 Unique Id of the connection between your virtual device and another service provider.
virtualDeviceUUID string

f61e75d2-2008-43f4-bfee-1dd17b1e1a28

Unique Id of your virtual device.
localIpAddress string 12.0.0.1/30 Local IP Address. This is the IP address of the virtual device in CIDR format.
localAsn string 10061 Local ASN (autonomous system number). This is the ASN of your virtual device. 
remoteIpAddress string 12.0.0.2 Remote IP address. This is the IP address of the cloud service provider.
remoteAsn string 10013 Remote ASN (autonomous system number). This is the ASN of the cloud service provider. 
authenticationKey string pass1233 Key value for authentication.
state string Idle State of the BGP peering. One of Idle, Connect, Active, Established, OpenSent, and OpenConfirm.
createdBy string nfv-sit1 The username of the user who created the BGP peering.
createdDate string 2018-08-30T04:20:36.033Z The date on which the BGP peering was created.
createdByFullName string nfv-sit1 nfv-sit1 Full name of the user who created BGP peering.
createdByEmail string test@equinix.com Created by email.
lastUpdatedBy string nfv-sit1 Last updated by.
lastUpdatedByFullName string nfv-sit1 nfv-sit1 Full name of the user who updated last.
lastUpdatedDate string 2018-08-30T04:20:36.033Z Last update date.
lastUpdatedByEmail string test@equinix.com Email of the user who updated last.
provisioningStatus string PROVISIONED Provisioning status of BGP peering. One of PROVISIONING, PROVISIONED, or FAILED.

 

 

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

 


body: 

GET VPNs

GET /ne/v1/services/vpn

 Method  GET
 URL or End Point  /ne/v1/services/vpn
 Headers  Authorization, Content-Type
 Query Parameters  statusList [], virtualDeviceUUID, pageNumber, pageSize
 Body  Not applicable

 

This API returns all VPNs. 

 

To obtain an authorization token, refer to Requesting Access and Refresh tokens under the Getting Started section.

 

Sample curl request to get VPNs. 

 

curl -X

GET "https://api.equinix.com/ne/v1/services/vpn?pageNumber=0&pageSize=20"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

 

Description of the query parameters:

 

Query Parameter Name Mandatory Type Example Applicable Values Description
statusList No array[string] PROVISIONED

"PROVISIONED"

"PROVISIONING"

"FAILED"

"DEPROVISIONED"

"DEPROVISIONING"

List of VPN status.
virtualDeviceUUID No string 116b4f6a-bb12-45dc-b573-05dba39c6cb1   Unique Id of a virtual device.
pageNumber No integer 1   Page number. 
pageSize No integer 20   Results per page. 

 

Sample response:

 

{
    "totalCount": 1,
    "pageNumber": 0,
    "pageSize": 20,
    "list": [
        {
            "configName": "rr1-apr22-nonha-vpn1",
            "peerIp": "10.10.10.2",
            "peerSharedKey": "cnIxLWFwcjIyLW5vbmhhLXZwbjE=",
            "remoteAsn": 234568,
            "remoteIpAddress": "10.10.10.30",
            "password": "welcome1",
            "localAsn": 234565,
            "tunnelIp": "212.14.101.1/24",
            "virtualDeviceUUID": "7815a65d-214d-412b-9c50-17237426177a",
            "siteName": "NoNHAvpn",
            "uuid": "b884d9c0-8771-49b2-800b-34701246aba1",
            "status": "DEPROVISIONED",
            "bgpState": "Idle",
            "tunnelStatus": "DOWN",

            "useNetworkServiceConnection": false,
            "createdDate": "2019-04-23T02:48:45.097Z",
            "createdByFullName": "nfv-sit4 nfv-sit4",
            "createdByEmail": "test@equinix.com",
            "createdBy": "nfv-sit4",
            "lastUpdatedDate": "2019-04-24T01:50:23.376Z",
            "lastUpdatedByFullName": "nfv-sit4 nfv-sit4",
            "lastUpdatedByEmail": "test@equinix.com",
            "lastUpdatedBy": "nfv-sit4"
        }
]
}

 

The description of the response payload is as follows:

 

Field Type Example Values Description
totalCount integer 1 Total count.
pageNumber integer 1 Page number.
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. 
list array list[] An array containing VPN objects.
configName string test2 Description of the VPN. This is between 3 and 50 characters.
peerIp string 1.1.1.1 IP Address of the remote site to which you connect (this is on the customer side). 
peerSharedKey string 213 Pre-shared key for VPN
remoteAsn string 21345 Remote ASN (autonomous system number). 
remoteIpAddress string 1.1.1.1 Remote IP address to establish BGP peering (this is on the customer side)
password string abc123 Password for BGP peering.
localAsn string 12345 Local ASN (autonomous system number) of Equinix site. 
tunnelIp string 2.2.2.2/25 Local tunnel IP in CIDR format
virtualDeviceUUID string 7d12f7c6-c9ee-4a14-9b00-5873eadf7708 Unique Id of the virtual device.
siteName string testVPN Your remote siteName. 
uuid string d93fad3f-dbe6-440d-ba94-8312e831d57a Unique Id of the VPN
status string PROVISIONED VPN status. One of Provisioning, Provisioned, Failed, Deprovisioning, or Deprovisioned.
bgpState string Idle BGP state. One of Idle, Connect, Active, Established, OpenSent, or OpenConfirm.
tunnelStatus string DOWN Tunnel status. Either Up or Down.
useNetworkServiceConnection boolean false Whether this VPN tunnel uses a network service connection.
createdDate string 2019-04-24T01:50:23.376Z Creation date.
createdByFullName string nfv-sit4 nfv-sit4 Created by (full name).
createdByEmail string test@equinix.com Created by (email).
createdBy string nfv-sit4 Created by (username).
lastUpdatedDate string 2019-04-24T01:50:23.376Z Last update date.
lastUpdatedByFullName string nfv-sit4 nfv-sit4 Last updated by (full name).
lastUpdatedByEmail string test@equinix.com Last updated by (email).
lastUpdatedBy string nfv-sit4 Last updated by (username).

 

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

 


body: 

DELETE VPN configuration by UUID

DELETE /ne/v1/services/vpn/{uuid}

 Method  DELETE
 URL or End Point  /ne/v1/services/vpn/{uuid}
 Headers  Authorization, Content-Type
 Query Parameter  NA
 Path Parameter  Unique Id of the VPN configuration
 Body   NA

 

Deletes a VPN configuration by its unique ID. 

 

If you are unaware of how to obtain an authorization key, refer to Requesting Access and Refresh tokens under the Getting Started section.

 

The following screenshots show a sample curl request and its respective JSON response to delete a VPN configuration. 

 

curl -X

DELETE "https://api.equinix.com/ne/v1/services/vpn/5f888d91-d2c5-45bb-9b51-fed99f57f0ac"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

 

Path Parameter Name Mandatory Type Example Applicable Values Description
UUID Yes string 5f888d91-d2c5-45bb-9b51-fed99f57f0ac   Unique Id of the VPN configuration.

 

Sample response: 

 

202 : Deletion request accepted.

 

The description of the response is as follows:

 

HTTP status Description
202 Deletion request accepted.

 

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

 


body: 

Sample Code

 


body: 

Connect to cloud routing

    Connect a virtual device to AWS

 


body: 

Establish BGP peering

    Establish BGP Peering

 


body: 

Establish VPN connectivity

    Establish VPN connectivity

 


body: 

Launch virtual devices

    Launch CSR1000V Non-HA & HA devices

 


body: 

Status codes, Error codes & Troubleshooting tips

This section provides an overview of the common error codes as well as general guidance on how to troubleshoot and handle errors.

 


body: 

HTTP Status codes


body: 

200: Success

The 200 (Success) status code indicates that the HTTP request was successful. In a GET request, the response will contain an entity corresponding to the requested resource whereas, in a POST request, the response will contain an entity describing or containing the result of the action.

 

Code 200
Description Success.

 

curl -X

GET "https://api.equinix.com/ne/v1/device/metro"

-H "Content-type: application/json"

-H "Authorization: Bearer qwErtY8zyW1abcdefGHI"

 

This is an example of a success message.

 

{
    "totalCount": 3,
    "pageNumber": 1,
    "pageSize": 20,
    "content": [
        {
            "region": "AMER",
            "metroCode": "DC",
            "metroDescription": "Ashburn"
        },
        {
            "region": "EMEA",
            "metroCode": "LD",
            "metroDescription": "London"
        },
        {
            "region": "AMER",
            "metroCode": "SV",
            "metroDescription": "Silicon Valley"
        }
    ]
}

 


body: 

400: Bad Request

The 400 (Bad request) status code indicates that server cannot process the request due to something that is perceived to be a client error (e.g. malformed request syntax, invalid request message framing, or deceptive request routing).

 

Code 400
Description Validation Error.
Generic Cause Malformed request due to field or business validation.
Quick Fix Ensure the payload sent adheres to the parameter requirements.

 

There are different types of Validation errors and this section provides sample scenarios with validation errors as well as tips on how to identify them.

 


body: 

IC-NFV-CON-06

Code IC-NFV-CON-06
Description Invalid request.
Generic Cause Incorrect virtual device ID has been passed.
Quick Fix Verify the virtual device ID passed.

 

    Error scenario example

ERROR   

CODE:       "IC-NFV-CON-06"
MESSAGE:    "Primary Virtual Device not found."

PROPERTY:   ""

MOREINFO:   "We can't find that Virtual Device."

 

Verify the virtual device ID  passed.

 

curl 

The virtual device ID is incorrect. Replace the ID with the correct ID.

POST "https://api.equinix.com/ne/v1/l2/connections"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

-d '{

  "virtualDeviceUUID": "6c2845e5-be63-4261-ba1c-a53a7e4cf5ec", 

  "primaryName": "JohnDoePrimary",
  "profileUUID": "84c6616c-573a-447d-a478-9fab8fff284d",
  "speed": 50,
  "speedUnit": "MB",
  "purchaseOrderNumber": "",
  "secondaryName": "JohnDoeSecondary",
  "namedTag": "Private",
  "sellerMetroCode": "SV",
  "authorizationKey": "76e781b5-2992-4042-b2a2-37d0d5eb6735",
    "notifications": [
    "JohnDoe@equinix.com"
  ]

}'

 


body: 

IC-LAYER2-AUTH-006

Code IC - LAYER2 - AUTH - 006
Description Invalid request.
Generic Cause The given named tag has already been used in another connection.
Quick Fix Verify whether there is an existing connection with the given NamedTag associated with the given authorization/service key.

 

    Error scenario example

ERROR   

CODE:       "IC-LAYER2-AUTH-006"
MESSAGE:    "Error while validating Authorization Key, NamedTag already in use"

MOREINFO:   ""
PROPERTY:   "authorizationkey"

 

Verify the namedTag and modify the value as shown below.

 

curl -X

GET "https://api.equinix.com/ne/v1/l2/connections" 

Rename the namedTag to another value such as "Public", "Microsoft", or "Manual".

-H "Content-type: application/json"

-H "Authorization: Bearer qwErtY8zyW1abcdefGHI" 

-d '{

  "primaryName": "johnDoePrimary",

  "profileUUID": "274afb42-6d3a-4114-8f7e-717efee792ae",
  "speed": 50,
  "speedUnit": "MB",
  "notifications": [
    "JohnDoe@equinix.com"
  ],
  "purchaseOrderNumber": "879324",
  "virtualDeviceUUID": "ecb215dc-0d1d-4a48-a150-aacad8d3a371",
  "secondaryName": "johnDoeSecondary",
  "secondaryVirtualDeviceUUID": "03c2cfef-0ec2-4599-81c9-09efa0d7b0e7",
  "secondarySpeed": 50,
  "secondarySpeedUnit": "MB",
  "namedTag": "Private",
  "sellerMetroCode": "DC",
  "authorizationKey": "fbc3c0e1-59e7-4bfe-b5f3-209dee6b692a"
}'

 

 


body: 

401: Unauthorized

The 401 (Unauthorized) status code indicates that the authentication credentials received are not authorized. The user may repeat the request with a new or replaced Authorization header field. 

 

Code 401
Description Authentication Error.
Generic Cause Unauthorized authentication token.
Quick Fix Verify whether an authentication token is obtained and ensure to provide this with each request.

 

There are different types of Authentication errors and this section provides sample scenarios of authentication errors as well as tips on how to identify them.

 


body: 

403: Forbidden

The 403 (Forbidden) status code indicates that you do not have the necessary privilege to access the resource.

 

Code 403
Description Forbidden resource.
Generic Cause You do not have the necessary privilege to access the resource.
Quick Fix Verify end-point URL and resource info.

 

 


body: 

404: Resource not found 

The 404 (Resource not found) status code indicates that the server cannot find the requested resource but may be available in the future.

 

Code 404
Description Resource not found.
Generic Cause Resource is invalid or unavailable.
Quick Fix Verify end-point URL and resource info.

 

 


body: 

IC-NFV-VD-003

Code IC-NFV-VD-003
Description Virtual device not found
Generic Cause You have provided an incorrect UUID (unique Id) of the virtual device.
Quick Fix Verify the UUID (unique Id) of the virtual device.

 

   Error scenario example

ERROR   

CODE:       "IC-NFV-VD-003"
MESSAGE:    "Virtual device not found"

PATH        "/ne/v1/device/virtualdevice/d155c656-86da-4beb-b37e-dc91fd5c20"

TIMESTAMP   "1544951546619"

 

Verify UUID (unique Id of the virtual device).

 

The unique Id of the virtual device is not correct.

curl -X
GET "https://api.equinix.com/ne/v1/device/virtualdevice/d155c656-86da-4beb-b37e-dc91fd5c20"

-H "accept: application/json"

-H "Authorization: Bearer qwErtY8zyW1abcdefGHI"

 


body: 

415: Unsupported media type 

The 415 (Unsupported media type) status code indicates that the request has a media type which the server or resource does not support. For example, the client uploads an image as image/svg+xml, but the server requires that images use a different format.

 

 

Code 415
Description Unsupported media type.
Generic Cause Server is refusing to service the request because the payload is in a format not supported by this method on the target resource.
Quick Fix Verify request payload.

 


body: 

429: Too many request Error

The 429 (Too many requests) status code indicates that the user has sent too many requests in a given amount of time.

 

Code 429
Description Internal server error.
Generic Cause Request rejected due to rate limiting (number of requests exceeded for the given time).
Quick Fix Try again later or post the issue on our forum or contact api-support@equinix.com .

 


body: 

500: Internal Server Error 

The 500 (Internal Server Error) status code indicates that the server encountered an unexpected condition that prevented it from fulfilling the request.

 

Code 500
Description Internal server error.
Generic Cause System encountered an unexpected problem and is being tracked.
Quick Fix Try again or or post the issue on our forum or contact api-support@equinix.com.

 


body: 

503: Service unavailable

The 503 (Service unavailable) status code indicates that the server is currently unavailable (because it is overloaded or down for maintenance). Generally, this is a temporary state.

 

Code 503
Description Service unavailable.
Generic Cause Service unavailable due to temporary overload or scheduled maintenance and is likely be alleviated after some delay.
Quick Fix Try again or post the issue on our forum or contact api-support@equinix.com.
 

 


body: 

Don't Like Reading?


body: 

How about a 1-minute video? 

Connecting to Oracle Fast Connect

 

 

Calling OAuth API

 

 


body: 

Take a shot at our forum

Network Edge Forum

 


body: 

Glossary



Term, Abbreviations, Acronyms Description
2N A redundancy model which ensures that every component has a power backup such that the data center has no single point of failure.
Amp, a unit of electrical current.
AC

See Alternating Current (AC). 

ACAE See Air Conditioning Airflow Efficiency (ACAE). 
Access Enrollment Equinix Customer Portal requires a security access assignment. You can request "grant access" or request "remove access".
Access Token A credential used to communicate with the API.
ACL See Access Control List (ACL).
Access Control List (ACL)

The list used by customers to enable and communicate site access authorization of approved employees and third-party vendors. Customers can maintain their ACLs via GCP/ECP or by contacting the Equinix Global Service Desk (GSD).

Additional Interconnection Products These additional interconnection services cover cabling services such as Intra Facility Cabling (IFC) and Patch Cable Installations. 
Aggregator On Enterprise Cloud Exchange (ECX), aggregators are Network Service Providers (NSPs) and Managed Service Providers (MSPs) who provide multi-tenant services. Aggregators are both buyers of ECX service from Equinix and sellers of value-added services over ECX to their end customers.
AHU Air Handling Unit
Air Conditioning Airflow Efficiency (ACAE) The amount of heat removed per standard cubic foot of airflow per minute.
Air Mixing The unintended mixing of cold and hot air.
Airside Economizer A device consisting of fans, ducting and a control which utilizes outside air directly to cool the data center when environmental conditions allow. Air is typically filtered, brought into existing distribution system and then exhausted back to the atmosphere. 
Aisle

The open space between rows of racks. Best practice dictates racks should be arranged with consistent orientation of front and back to create ‘cold' and ‘hot' aisles.

Alternating Current (AC) The designation given to power that is delivered in the form of a sinusoidal wave form. AC won out over DC as the preferred method of delivering and using power in the industrial age due to the ease of voltage transformation using static devices (transformers).
AM Account Manager
AMER Americas (United States, Canada, Brazil)
AMS Asset Management System
AP Asia Pacific, also known as APAC

API

Application Programming Interface
APAC Asia Pacific, also known as AP
ARD Alternate Resolution Date
ASHRAE  American Society of Heating, Refrigerating and Air Conditioning Engineers (ASHRAE) is an international technical society organized to advance the arts and sciences of air management.
A-side The Ordering Customer Point.
A-side Demarc The Ordering Customer Demarcation Point.
Assets All products pertaining to interconnection and colocation installation services. For a full list of assets, refer to List of Assets under the Appendix section.
ASTS Automatic Static Transfer Switch
Authentication Key The Authentication Key is a unique identifier authorizing Equinix to provision a connection towards the CSP. This Key usually contains alphanumeric characters. Note: to Equinix, an Authentication Key is a generic term and is not encrypted on ECX. Cloud Service Providers might use a different name to refer to the same key. For example: Azure ExpressRoute calls the authorization key the “service key” while AWS calls it the “account ID.”
Authorization key The authorization key typically contains alpha-numeric characters and is a unique identifier authorizing Equinix to provision a connection towards the CSPNote: To Equinix, authorization key is a generic term and is NOT encrypted on ECX. CSPs might use a different name to refer to the same key. For example: Azure ExpressRoute calls the authorization key the “service key” while AWS calls it the “account ID”
BACnet A data communication protocol for building automation and control networks.
BAS Building Automation System
BCI Business Contact Information
BCM Branch Circuit Monitoring
BCTR See Business Continuity Trading Room (BCTR).
BGP Border Gateway Protocol. A standardized exterior gateway protocol designed to exchange routing and reachability information between autonomous systems on the internet.
BGP Session A routing session configured between two peers using the BGP. For standards reference, please see http://www.ietf.org/rfc/rfc4271.txt
BICSI Building Industry Consulting Service International
Blanking Panel A device mounted in unused U spaces in a rack that restricts recirculation airflow, also called blanking or filler plates.
BMMR See Building Meet Me Room (BMMR).
BMR Biometric Reader
BMS Building Management System, synonymous with BAS, AMS and other computer-based tools used to manage data center assets.
BOM Bill of Material
Branch Circuit Monitoring (BCM) A monitoring system used to record and monitor an individual electrical circuit. Typical parameters that are monitored include amperage, voltage, power factor, apparent power (volt-amps), real power (watts) and energy usage (watt-hours). The branch circuit is typically defined to be the circuit fed by a single breaker or 3 phase set of breakers in a multi breaker panel.
Building Meet Me Room (BMMR)

A Building Meet Me Room (BMMR) is an MMR within the same building where an Equinix IBX customer can connect with a non-Equinix IBX customer. 

For more information, see Extended cross connects in the Cross Connects Data Sheet.

Business Continuity Trading Room (BCTR) A dedicated space that allows customers business recovery and continuity in the event of a crisis.

For more detailed information, see Business Continuity Trading Rooms.

BTU British Thermal Unit, a unit of energy. 1kWh = 3412BTU. Cooling equipment capacity is commonly specified in BTU/hr.
Buyer A buyer is a user who connects to an available service through ECX. A buyer can be an enterprise end customer of the seller service or an aggregator, managed service provider, network service provider or system integrator company that bundles its service offerings with ECX.
BYOL Bring Your Own License (BYOL) means that you’ve already procured a license from the vendor and will enter it into the NE portal to activate the device. There are no charges associated with this license type since your licensing arrangement is directly with the vendor.
Bypass Airflow Conditioned air that does not reach computer equipment. With fixed speed fans (common in DX equipment), some bypass air is inevitable and without containment, some bypass air is prudent. Unintended bypass air can occur by escaping through cable cut-outs, holes under cabinets, misplaced perforated tiles or holes in the computer room perimeter walls.
C Degrees Celsius
C/H Cooling/Heating
CAB See Cabinet (CAB).
Cabinet (CAB)

A closed structure inside our data centers that houses servers typically made of metal with rails, grounding studs, interior shelving, etc. Cabinets house the customer's equipment within a private cage.

For more information on Equinix cabinets, see Cages and Cabinets.

CAC See Cold Aisle Containment (CAC). 
CADE Corporate Average Data Center Efficiency.
Cage

A cage is a secluded, secure area within a data center where customers install cabinets and power circuits. The enclosure subdivides colocation space within a data center using mesh walls, a door, security panels, etc.

For more information on Equinix cabinets, see Cages and Cabinets.

CapEx Capital Expense, the cost of purchasing capital equipment.
Campus Cross Connect  

A cross connect type that allows the customer to connect to a service provider in a different IBX no further than 10km away using single-mode fiber. Campus cross connects are a subset of standard cross connects.

For more information, see Cross Connects Data Sheet.

Carbon Footprint A measurement of the volume of Carbon Dioxide generated by business operations, units are commonly metric tons.
Carbon Usage Effectiveness (CUE) A metric defined by the Green Grid, which is a measure of data center sustainability in terms of data center specific carbon emissions. CUE is calculated by dividing the “total CO2 emissions caused by total data center energy” by the “energy consumption of the IT computing equipment”. An alternative way to calculate CUE is by multiplying the data center’s annual PUE by the Carbon Emissions Factor for the region as determined by the EPA. The units of CUE are kilograms of carbon dioxide per kilowatt-hour.
CC See Cross Connect (CC). 
CFA Carrier Facilities Assignment or Circuit Facility Assignment
CFD Computational Fluid Dynamics, a numerical analysis technique commonly used in the analysis of airflow in data centers.
CFM Cubic Feet per Minute, a unit of flow rate, commonly used to specify airflow.
CFR Capacity Feasibility Review
Chiller A unit consisting of a compressor, a condensing section and an expansion section. The condensing and expansion sections nearly always have water or glycol as the heat transfer agent to the rest of the system; primary water/glycol on the condensing side and secondary water on the expansion side.
Close Coupled Cooling Cooling technology that is installed adjacent to server racks, minimizing the path that air must flow from the cooling unit through the IT equipment and back to the cooling unit.
Cloud Exchange Port A type of network port that connects customer to leading cloud service providers (CSP) on the Equinix Cloud Exchange Fabric (ECX Fabric™).
CMR Critical Maintenance Request
CO Change Order
CoE See Coefficient of Effectiveness (COE). 
Coefficient of Effectiveness (COE) Uptime Institute metric based on the Nash-Sutcliffe model efficiency coefficient.
Coefficient of Performance (COP) Used to rate the effectiveness of heat pumps or cooling units. It is the ratio of the load on a cooling unit and the energy that it uses.
Cold Aisle An aisle where rack fronts face into the aisle that cool air is directed to.
Cold Aisle Containment (CAC) A system that directs cool air from air conditioning equipment to the inlet side of racks in a highly efficient manner.
Cold Spot An area where ambient air temperature is below desired levels. Typically caused by ineffective airflow management necessitating a temperature setpoint lower than that which would be required with proper airflow management.
Colo See Colocation (Colo).
Colocation (Colo) A practice in which many different companies or "tenants" share a data center building for economic efficiencies, as well as to digitally interconnect with other companies within the same facility or campus. 
Component/microservice A piece of an overall solution that can be built individually or as part of a larger end-to-end solution
Computer Room Air Conditioner (CRAC) CRAC (pronounced crack) uses refrigerant and a compressor. Cooling of the air in the data center is accomplished by airflow over the evaporation coils where the refrigerant is being "directly expanded" (see DX).
Compute Compute refers to the resources or assets necessary to run a device in the ENE platform. In most ways, the ENE platform is an infrastructure as a service platform underneath, but we typically do not ask customers to get involved in that aspect of the platform. To run efficiently, each device and/or service requires some pre-determined amount of compute. Equinix has thoroughly tested each device and service with the vendor before offering it to the public. This testing ensures that the amount of compute selected on the user's behalf is already optimized to run smoothly with the vendor's recommendations. Customers do not need to customize or tweak the compute in most cases.
Connection Connection is a general term that refers to any solution that results in the ability to pass data from one point to another. Connections can be made with Layer 2 or Layer 3 technology, may involve several parts or components and can be created from the portal or with APIs in a variety of ways.
Containment Using either long curtains or rigid plastic to maintain a physical barrier between a hot and cold aisle. Keeping warm exhaust air away from the intake of the server racks is a crucial part of making any data center more efficient.
Cooling Tower A device which cools water via the direct evaporation of some of the water. Water is pumped into the top of the cooling tower and allowed to run down over the fill, typically pads or strips into a sump at the bottom of the cooling tower. Air is drawn in from the sides over the fill by fans in the top of the tower, evaporating some of the water which cools the remaining water. The temperature of the water in the sump is controlled by varying the speed of the fans. The water in the sump is then used to cool the condensing section of a chiller or to cool the secondary loop directly via a heat exchanger (see water side economizer).
COP See Coefficient of Performance (COP). 
CR Computer Room
CRAC See Computer Room Air Conditioner (CRAC).
CRAH Computer Room Air Handler (pronounced craw) which uses chilled water passing through a heat exchanger to cool air flowing over the heat exchanger.
CRD Customer Requirements Document
Critical Load Computer equipment whose uptime is critical, typically supported by a UPS.
CRM Customer Relations Manager
Cross Connect (CC)

A cross connect is a point-to-point cable link between two customers in the same IBX. With cross connects customers receive a fast, convenient and affordable integration with business partners and service providers within the Equinix digital ecosystem. They also get highly reliable, extremely low-latency communication, system integration and data exchange

For more information on cross connects, see Equinix Cross Connects.

CSI Cold Supply Infiltration index, quantifies the amount of hot air mixing with cold inlet air prior to entering the rack.
CSM Customer Success Manager (formerly known as client services manager)
Cloud Service Provider CSP A Cloud Service Provider (CSP) is a company that offers some type of cloud services to other businesses or individuals. In this context, that can include: cloud computing, cloud storage, cloud content delivery network (CDN) and more. Typical CSPs include Infrastructure as a Service (IaaS), Software as a Service (SaaS) and Platform as a Service (PaaS).
CT See Current Transformer (CT).
CUE See Carbon Usage Effectiveness (CUE). 
Current Transformer (CT) A device used to transform electrical current from one level to another with a specific ratio. For example, a 5000:5 current transformer transforms current on the primary side to current on the secondary side with a ratio of 1000:1. CTs are typically used to transform large currents to much smaller currents so that standard metering equipment can be used on a variety of circuits by measuring the secondary current rather than the large primary current.
Customer Organization A customer grouping within the portal that is comprised of its company accounts. 
Customer Signature Customer signature required for approval prior to any order fulfillment. This is for customers who specifically request this process step. 
Cutout An open area.
CW Chilled Water
CX Customer Experience
Data Center infrastructure Efficiency (DCiE)  A metric developed by the Green Grid, data center infrastructure efficiency is an efficiency measure that is calculated by dividing the IT equipment power consumption by the power consumption of the entire data center. This measure is the inverse of PUE.
D/H Dehumidifying/Humidifying.
DC Data center
DC See Direct Current (DC).
DCiE See Data Center infrastructure Efficiency (DCiE).
DCIM Data Center Infrastructure Management
Dead Band A control technique which prevents oscillation or unnecessary cycling of a controlled variable. In data center cooling, it typically applies to the action of the CRAC or CRAH relative to the set point. A certain amount of dead band around the set point prevents unnecessary cycling of the compressor or chilled water valve.
Delta T The difference in temperature across a device. Examples include the temperature difference between the inlet and outlet of piece of IT equipment or between the inlet and outlet of a cooling unit (CRAC or CRAH). Delta T, airflow and thermal dissipation are related: thermal dissipation = airflow x delta T x specific heat of air.
Demarc See Demarc Point (Demarc).
Demarc Point (Demarc) A demarc (abbreviation for demarcation point) marks the point of the cage/ rack/ panel/ ports where Equinix hands off a cross connect to the customer.
Dew point The temperature at which air reaches water vapor saturation. Dew point is constant for a specific amount of water in a specific amount of air while relative humidity varies with temperature. The latest ASHRAE spec for data center environmental conditions includes an upper limit for humidity based on dew point.
Direct Current (DC) A non-time varying method of delivering power. While slightly more efficient then AC if utilized between the DC portion of the UPS and the power supplies in IT equipment, it has not won wide acceptance in modern data centers.
Direct Expansion (DX) The use of refrigerant directly expanded into evaporation coils in the supply air stream of an air conditioning unit.
Diversity Two physical paths/ ports are created to provide redundancy. When the working path/port is down, the protection path/ port can be used.
Dry Cooler A liquid to air heat exchanger that is a radiator over which air is blown via fans. Typically used as the heat rejection device for water or glycol cooled condensers, may also be used as the heat rejection device for liquid cooled coils in an AHU under proper environmental conditions.
Dry-Bulb Temperature The temperature of the air measured using a dry bulb thermometer such that evaporative cooling has no effect. Typically taken in conjunction with a wet bulb reading which does include the evaporative cooling effect in order to determine relative humidity.
Dual-Diverse Metro Connect

A metro connect that provides resiliency for WAN connections with two diverse fiber paths and two switches at each IBX location. This provides further redundancy. 

For more information, see Equinix Metro Connect Services

DWDM Dense Wavelength Division Multiplexing
DX See Direct Expansion (DX). 
ECEE Equinix Carrier Ethernet Exchange™
ECO Equinix Customer One. A company-wide platform to simplify and standardize the way we do business with our customers.
Economization A way of utilizing the local environment around the data center to aid in cooling of the IT load by natural means rather than use more energy. There are two common types of economization: Airside Economization, and Waterside Economization; sometimes referred to as LINK. Economization is a great benefit to those who can take advantage of it due to the large energy-saving opportunity.
ECP See Equinix Customer Portal (ECP). 
ECX Fabric ECX Fabric is an advanced interconnection solution that improves performance by providing a direct, private network connection.
ED Equinix Direct
EFC See Equivalent Full Cabinets (EFC).
EIS Enterprise Information Systems
EMEA Europe, Middle East, Africa
End customer/end device/CPE The entity and/or devices managed by that entity that ultimately interact with the services bought over the ECX platform
ENE "Equinix Network Edge" is a generic industry term referring to the act of turning network actvities, protocols, traffic flow, and design - into a software service or code. This take a lot of forms from purely new network and traffic flow methods and operating systems to making an entire hardware device accessible via a GUI. In Equinix' context we use it loosely to refer to designing and configuring network solutions using our platform and software, regardless of the device, object, component, or vendor
EOC Equinix Operations Center
EQIX Equinix
Equinix Connect

A cross connect from the customer's server to the Equinix connect server in a data center that offers direct access to the public internet.

Equinix Customer Portal (ECP) A self-service portal that allows customers to manage day-to-day interactions including routine requests, opening work tickets, placing orders, and scheduling visits online. Also referred to Global Customer Portal. 
Equivalent Full Cabinets (EFC) The number of full cabinets that would exist if all the equipment in the data center were concentrated in full cabinets.
Equinix Infrastructure Services (EIS) Services delivered by Equinix hardware experts for cage design, installation, and structured cabling for new data center deployments.
Equinix Internet Exchange

Peering or data exchange between two public internet networks. Equinix Internet Exchange enables customers to exchange internet traffic through public peering on the largest peering platform in the world.

For more information, see Equinix Internet Exchange

Equinix Professional Services

Services delivered by our experts for assessing, designing, migrating and optimizing data center and cloud architectures

ESD Electrostatic Discharge, more commonly ‘static discharge'.
ESD Equinix Service Desk, now known as Global Service Desk (GSD).
Extended Cross Connect A type of cross connect that allows a customer to connect to another
customer that is not in an Equinix IBX, but both have a point of presence in the same building, through a Building Meet Me Room (BMMR). 

For more information, see Cross Connects Data Sheet.

Extended Fiber Connect

A type of cross connect that links a customer’s cabinet in an Equinix IBX to a third-party Meet Me Room (MMR) in the same metro. 

For more information, see Fiber Connect.

Equinix Network Edge Equinix Network Edge is the latest offer in our interconnection portfolio and represents a significant leap in a customer's ability to deploy and manage network in a rapid on-demand way.
F Degrees Fahrenheit
FG Functional Group
Fiber Connect

A type of interconnection that allows a customer to link a customer’s cabinet in an IBX to another cabinet in a different IBX in the same metro when a standard cross connect is not available. There are two kinds of Fiber connect: a Fiber Connect, and an Extended Fiber Connect. 

For more information, see Fiber Connect.

FOC Firm Order Commitment
fSnD Former Switch and Data
Ft2 Square feet, a unit of area.
GAM Global Account Manager
GCC Global Customer Care
GCP Global Customer Portal. Also referred to as Equinix Customer Portal (ECP).
Global Interconnection Index (GXI) The Global Interconnection Index is an annual report created by our company that tracks, measures and forecasts the growth of Interconnection bandwidth. It allows our customers to see how Interconnection is being built, deployed and consumed around the world. This knowledge helps them better understand how Interconnection can play an important role in their business.
GPL Global Process Library
GPM Gallons Per Minute, a unit of flow rate.
GPO Global Process Organization
Green energy Equinix's commitment to minimizing our environmental footprint through 100% clean and renewable energy which will result in carbon-neutral data centers.
GSD Global Service Desk, formerly known as Equinix Service Desk (ESD).
GTS Global Technology Services (also referred to as IT)
GXI See Global Interconnection Index (GXI).
HAC See Hot Aisle Containment (HAC).
Harmonic Distortion Distortion in the line voltage waveform. Any cyclical waveform can be described as the sum of sine waves of various magnitudes which are integer multiples of the root frequency (60 Hz, 120 Hz, 180 Hz, etc.). Harmonics are often the result of the nonlinear loading of the power distribution system due to the nature of solid-state power supplies. Harmonics are detrimental to the efficiency and capacity of power delivery equipment and rotating equipment due to increased eddy current losses and non-fundamental frequency torques.
HDG Hot Dipped Galvanized.
Heat Exchanger A device used to transfer heat energy from one medium to another. Common uses of heat exchangers are water to air heat exchangers in air handling units, plate and frame heat exchangers in economizers, etc.
Hot Aisle An aisle where rack backs face into the aisle. Heated exhaust air from the equipment in the racks enters this aisle and is then directed to the CRAC return vents.
Hot Aisle Containment (HAC) A system that directs heated air from the outlet side of racks to air conditioning equipment return ducts in a highly efficient manner.
Hot Spot An area, typically related to a rack or set of racks, where ambient air temperature is above acceptable levels. Typically caused by poor airflow management (insufficient cool air supply or an excess of recirculation).
Hp Horsepower
HPD High Power Density
HPDC High-Performance Data Center, a data center with above average kW loading, typically greater than 10kW/rack.
Hr Hour
HVAC Heating, Ventilation and Air Conditioning system, the set of components used to condition interior air including heating and cooling equipment as well as ducting and related airflow devices.
Hybrid cloud A hybrid cloud is a blended cloud architecture in which private clouds are connected to public clouds, usually for purposes of scaling up and/or delivering data. Hybrid cloud combines the best of public and private clouds.
IB Installed Base
IBCC Intra-Building Cross Connect
IBID Intra-Building Inner duct
IBX Equinix International Business Exchange™ (IBX®) data center
IBX Administrator The secondary administrator of the customer organization who manages users for selected IBX locations as designated by the Master Administrator.
IBXflex IBXflex space allows customers to deploy mission-critical operations, equipment and personnel in non-cage space within–or in close proximity to–our IBX data centers.
IBX Smartview Equinix's data center infrastructure monitoring product which gives our customers online, on-demand access to highly relevant environmental and electrical information about their Equinix deployments. The solution provides real-time visibility into core operating data relevant to a customer's data center footprint such as temperature, humidity, and power draw data for a specific cage.
ICE Internet Core Exchange
IDF Intermediate Distribution Frame
IEEE Institute of Electrical and Electronics Engineers
IFC See Intra Facility Cable (IFC). 
IM Implementation Manager
Inlet Air The air entering the referenced equipment. For air conditioning equipment this is the heated air returning to be cooled, also called return air. For racks and servers this is the cooled air entering the equipment.
In-Row Cooling Cooling technology installed between racks in a row that draws warm air from the hot aisle and delivers cool air to the cold aisle, minimizing the path of the air (see close coupled cooling).
Interconnection Direct, private connections between two parties which enables the ability to exchange data without need for an intermediary.
Interconnection Bandwidth The total capacity provisioned to privately and directly exchange traffic with a diverse set of counterparties and providers at distributed IT exchange points.
Interconnection Products Products that facilitate physical connections within or between IBX locations, or virtual connections to service providers.

For more information, see Interconnection Products

Interface An interface is a point on a device where data flows in and out. The virtual device is like a physical device because it has some amount of interfaces that allow it to transmit and receive data from the outside world. This can be in the form of an Internet connection, a connection to ECX, a service chain to another virtual device or any other communication.
Internet exchange

See Equinix Internet Exchange.

Internet Exchange Port A type of network port that starts peering on the Equinix Internet Exchange. 
Intra-Customer Cross Connect

A cross connect type that allows a customer to connect to their own cage or cabinet in the same suite or floor of the same IBX. 

For more information, see Cross Connects Data Sheet.

Intra-Facility Cabling (IFC)

An Intra-Facility Cabling (IFC) connects colocation spaces to the Meet Point Room for interconnection via Cross Connect. 

Intra-Facility Cross Connect

A cross connect type that allows a customer to connect to another customer in select IBX locations where a Meet Me Room (MMR) architecture is used. 

For more information, see Cross Connects Data Sheet.

IP Internet Protocol, a communications technology using the internet for communications.
IPv4 Version 4 of the IP protocol providing 32-bit addresses. For standards reference, please see http://www.ietf.org/ rfc/rfc791.txt
IPv6 Version 6 of the IP protocol providing 128-bit addresses. For standards reference, please see http://www.ietf.org/ rfc/rfc2460.txt
IP Transit Refers to Internet Access.
IR Incident Report
IR Infrared spectrum used by thermal imaging technologies.
IXP Internet Exchange Point
IX Platform A network platform enabling the exchange of IP traffic between multiple peers on a many-to-many basis
IX Point A specific instance of an IX Platform
JVM Java Virtual Machine, Java interpreter. Software that converts the Java intermediate language into executable machine language.
kBTU Kilo British Thermal Unit, one thousand BTU (see BTU).
kCFM Kilo Cubic Feet per Minute, one thousand CFM (see CFM).
kV Kilovolt, one thousand volts, (see V).
kVA Kilovolt Amperes = voltage x current (amperage) (see VA)
KVM Keyboard, Video, Mouse, an interface technology that enables users to access multiple servers remotely from one or more KVM sites. More obscurely, can also mean Kernel base Virtual Machine: a version of the Java Virtual Machine for small devices with limited memory.
kW Kilowatt
kWh Kilowatt-hour, one thousand watt-hours (see Wh). kWh is a common unit of electrical energy.
Latent Cooling The process of condensing water out of air, then evaporating the water later. Energy is given up by the water during condensation. If the water is then later evaporated (such as from a drip tray), the amount of energy used to evaporate the water is the same as the amount of energy given up by the water vapor to the cooling equipment when it was condensed. Cooling is occurring later in time, hence the name "latent cooling". In a system where condensed water is pumped or drained away, the cooling that may occur from evaporation does not cool the environment where the condensation took place, so the cooling capacity spent condensing the water vapor is wasted energy.
Latent Cooling Capacity Cooling capacity related to wet bulb temperature and objects that produce condensation.
Layer 2 (switching) When the ECX Fabric makes forwarding decisions at the Ethernet protocol level (Layer 2), and does not examine the IP addressing the service
Layer 3 (routing) Layer 3 connections occur when the ECX Fabric makes customer traffic forwarding decisions by examining the IP addressing of that traffic.
LEC Local Exchange Carrier
License Most virtual devices require a license from the vendor to deploy and operate the device. It will come with certain settings, such as maximum throughput and speeds, operating system, and other parameters. Individual vendors may have specific license types or terms, and users are encouraged to consult the vendor documentation to learn more about the options available.
Line Noise Distortions superimposed on the power waveform that may cause electromagnetic interference.
Liquid Cooling A general term used to refer to cooling technology that uses a liquid evacuate heat. In data centers, the two prevalent forms of heat evacuation are liquid (chilled water) and refrigerant (DX).
LOA Letter of Authorization
Load The demand placed on a system, typically used to describe the electrical demand on the electrical supply system or the cooling demand on the cooling system. Units are power such as kW, BTU/hr., Tons, etc.
MACD Move, Add, Change, Delete
MAH Makeup Air Handler, an air handler that conditions and delivers outside air into an occupied space.
Make-Up Air The conditioned air delivered by a MAU or MAH.
Managed services Services offering proactive monitoring of a customer's equipment.
Master Administrator The primary administrator of the customer organization who manages all administrators and users access and permissions for all accounts across all locations within a portal organization.
MAU Makeup Air Unit, synonymous with MAH.
Maximum Temperature Rate of Change An ASHRAE standard established to ensure stable air temperatures. The standard is 9 degrees F per hour.
MC See Media Converter (MC).
MDF Main Distribution Frame
Media Converter (MC) A media converter (MC)connects two dissimilar media types. e.g. fiber optic cabling can be connected to copper-based cabling with an MC.
Meet Me Room (MMR)

A space within a data center where ISPs, telecommunications carriers, cable companies and other companies handling lots of digital traffic can connect to one another and exchange data. 

In the case of Equinix, an MMR facilitates connections exclusively between Equinix customers.

Only select IBX locations within the Americas and the EMEA region use MMR architecture.

For more information, see Intra-facility cross connects in the Cross Connects Data Sheet.

MERV Minimum Efficiency Reporting Value, ASHRAE 52.2, for air filtration measured in particulate size
Metro Connect

A point-to-point link between two IBX locations in the same Equinix metro area.

 

Equinix Metro Connect services provide direct, dedicated, carrier-grade network links between customers in one IBX data center and partners in another IBX within the same metro. With Metro Connect, customers enjoy fast, convenient and affordable integration with customers, partners and service providers within the Equinix digital ecosystem. Customers' organizations benefit from highly reliable, extremely low-latency communication, system integration and data exchange

For more information, see Equinix Metro Connect

MLPE Multi-Lateral Peering Exchange
MMF Multi-Mode Fiber
MMR See Meet Me Room (MMR).
Mobility Exchange

A fully managed, Ethernet-based switching platform designed specifically for exchange of mobile internet traffic.

 

GPRS (General Packet Radio Service) roaming exchange. A platform allowing the exchange of roaming traffic between mobile network providers

For more information, see Equinix Internet Exchange

Mobility Exchange Location An Equinix IBX location or campus with a Mobility Exchange present
MPOE Minimum Point of Entry
MRC Monthly Recurring Charge
MRR Monthly Recurring Revenue (Interpretation of MRC for internal use)
Managed Service Provider (MSP) A Managed Service Provider (MSP) is a business entity that helps enterprises architect, build and support a technology strategy that may include ECX. Often also called system integrators, consultants or others. An MSP may frequently aggregate customers similar to an Network Service Provider (NSP).
Multi-homed It refers to Dual Port configuration.
N+1 Need plus one, a redundancy concept where capacity is configured to include used capacity plus one additional device to enable continued operations with the failure of one system in the configuration.
NEBS Network Equipment-Building System design guidelines applied to telecommunications equipment.
Network Ports

Network ports are physical ports that facilitate network connectivity. This includes Internet Exchange Ports, Cloud Exchange Ports, and ports for Metro Connect.

NFV

Network Functions Virtualization is the result of turning network activities, protocols, traffic flow and design into a software service or code. NFV takes a lot of forms from purely new network and traffic flow methods and operating systems to making an entire hardware device accessible via a GUI. At Equinix, we use the term to refer to designing and configuring network solutions using our platform and software, regardless of the device, object, component or vendor. Network Edge is the first NFV offer in our interconnection portfolio and represents a significant leap in a customer's ability to deploy and manage network in a rapid, on-demand way.

NNI Network to Network Interface
No. Number
NOC Network Operations Center
Nominal Cooling Capacity The total cooling capacity of air conditioning equipment includes both latent cooling and sensible cooling capacities.
Non-Streamlined customer A Non-Streamlined customer is a customer who must approve the pricing of every individual order in the portal before it can proceed for fulfillment. After creating an order, the portal will prompt the approving user with a message for Orders on Hold. This user must either accept or reject the one-time and monthly fee(s) presented to them in order for the order status to change from 'Pending Action Required' to 'Submitted' or 'Cancelled'.
NPA/NXX Area Code and First 3 Digits of a Phone Number
NRC Non-Recurring Charge
NSE Network Support Engineering
Network Service Provider (NSP) A Network Service Provider (NSP) is a business entity that provides and sells services such as network access (local loop, wide area network (WAN), Internet transit) and bandwidth. NSPs are also referred to as carriers
NTP Network Time Protocol
OAuth OAuth (Open Authorization) is an open standard for token-based authentication and authorization on the Internet.
OM Order Management
OpEx Operating Expense, the ongoing expenses related to operating the data center.
Optional Service Network Service Optional service and network service refer to a series of independent features that can be added to a component, connection, device or other object. Example services might be SSH or Network Address Translation. The service is usually defined with one or more fields to configure and prepare it for launch into production, and may have restrictions on when it can be added or deleted. Although most are optional, you may find that some complete solutions or offers will not operate properly without a specific service or series of services. Some services will also have additional associated charges.
Order Status Types Orders are tracked from submission to completion, and users would be updated of the order status as it is changes. Order status types are as follows: In Quote, Order Received, In Progress, On Hold, Pending Action Required, Completed, and Cancelled. 
Overcooling A situation where air is cooled below optimum levels. Typically used in reference to rack inlet temperatures.
Patch Cable Installation Installation of a cross connect patch cable. 
PDU See Power Distribution Unit (PDU).
Power Distribution Unit (PDU) This typically refers to one of two pieces of equipment in the power delivery chain. One is the combination transformer/breaker panel that is often used between a UPS supplying voltage higher than that used by the IT equipment and the cabinets. The other is the smaller "power strip" like device that is used inside the rack to distribute power to the IT equipment.
Peering A voluntary interconnection between separate Internet networks to directly exchange data. This is typically a settlement-free business relationship whereby companies reciprocally provide access to each other’s customers at no additional cost.
Permissions Permission is the access granted to a user via the portal through the authority of the Master Administrators. The Master Administrator would grant the user access and permissions to customer portal products and services. Depending on the permissions granted to the user, they would be able to make orders, submit trouble tickets, generate reports, etc. for select IBX. Without permissions from the Master Administrator, the user would not have access to the portal.
PF See Power Factor (PF). 
PH See Phase (PH).
Phase (PH) Phase (PH) is a term that describes the relationship between multiple time varying waveforms which have a constant frequency but differ in their position relative to time. It is also used to refer to the number of sinusoidal voltages that make up the power delivery to a device. Most common are three phase and single phase. Single phase consists of 2 conductors between which a sinusoidal voltage is present. Three-phase is a set of 3 or 4 conductors. In the case of 3 conductors, a sinusoidal voltage of a constant magnitude and frequency but differing relationship with respect to time exists between any 2 conductors. In a 4 wire system, the same voltage as in the 3 wire case exists between any of the three "hot" conductors and in addition, between any of the three "hot" conductors and fourth neutral conductor there exists a voltage that is smaller by a factor of the square root of three than the voltage between any of the "hot" conductors. An example of this is a 208/120 three phase system. 208 volts exists between any of the three "hot” conductors and 120 volts exists between any of the "hot" conductors and the neutral conductor.
PII hold PII (Post Initial Install) hold is an ordering hold automatically applied to customers that are Non-Streamlined, or customers that requested a final approval process prior to final submission of orders. Customers must provide final approval within 10 days of order , failing which the order will be automatically cancelled.
Plate and Frame A type of heat exchanger commonly used in water to water systems. It is a series of plates held in a frame through which exist 2 paths for water which are adjacent but separate. Plate and frame heat exchanges are simple to size via the addition of additional components and maintenance is straight forward via disassembly.
Plenum A receiving chamber for air used to direct air flow.
PM Project Manager
PMO Project Management Office
PNI Private Network Interface
PO Purchase Order (PO) is a blanket purchase order by the customer. This PO number would be validated and tracked when customer creates an order or submits a trouble ticket in the portal. 
POC Point of Contact (see SPOC)
Pole A row of power receptacles with power supplied from a PDU.
Pole Position A power receptacle on a pole.
Potential Transformer (PT) A device used to transform electrical potential (voltage) from one level to another with a specific ratio. For example, a 480:120 potential transformer transforms voltage on the primary side to voltage on the secondary side with a ratio of 4:1. CTs are typically used to transform large voltages to much smaller voltages so that standard metering equipment can be used on a variety of circuits by measuring the secondary voltage rather than the large primary voltage.
POTS Plain Old Telephone Service
POW Power Item
Power Factor (PF) Powere Factor (PF) represents the portion of the apparent power that is real power. The source of power factor is non-resistive components (inductors and capacitors) in the load on an AC power system. These components draw current that is 90 degrees out of phase with the voltage across them resulting in zero real power being delivered. While the power delivery system must carry this current (as well as all the current which does result in real power being delivered), it does no useful work. Power companies often charge a penalty for loads which have a power factor that is significantly far away from 1.0 since the size of the equipment that must be in place is dependent upon the total current delivered, but normal billing is based on real power delivered.
PPP Policies, Procedures, Processes
Pressure Differential The difference in pressure between two locations in the data center. Air flows from higher pressure areas to lower pressure areas. Often, the pressure differential between the underfloor plenum and the above floor space is controlled by varying the speed of the fans supplying air to the underfloor plenum. This allows the addition of vented floor tiles to occur without affecting the air delivered to existing vented floor tiles so that additional IT load may be placed on the floor without disturbing the tuning of the existing floor.
Pricing  The one-time and recurring fees presented to the non-streamline customer user for approval to process an order for fulfillment. Until the pricing approval is carried out by the user, the status of the order will remain as 'Pending Action Required'. 
Primary Loop Refers to the water loop which cools the condenser side of a chiller. This loop is cooled by dry coolers or cooling towers.
Private Patch Panel

A dedicated patch panel in the Meet Me Room (MMR) to reduce lead time and/or lower costs for customers.

For more information, see Intra-facility cross connects in the Cross Connects Data Sheet.

Protected Metro Connect A metro connect that provides resiliency for WAN connections with two diverse fiber paths using a single switch at each IBX.

For more information, see Equinix Metro Connect Services

PT See Potential Transformer (PT).
PU Packaged Unit, an air handler that is a complete device shipped ready for use rather than a custom device that is assembled on site from components.
QOH Quantity on Hand
Rack Refer to Cabinet (CAB).
RAH Recirculation Air Handler, a device that circulates air but does not cool the air.
Raised Floor Metal flooring on stanchions that creates a plenum for airflow and cabling, synonymous with RMF.
Rate limit A rate limit is a bandwidth control that is placed on a connection or service that limits the amount of traffic that can be sent or received to an amount less than the physical size of the ports. This is also referred to as a policer or “policing” a service, and is typically implemented using a VLAN on a sub-interface.
Recirculation Air which exits IT equipment and then re-enters either the same IT equipment or another piece of IT equipment without being cooled. Typically caused by poor control of airflow due to missing blanking panels, gaps in rows, insufficient air supply, etc.
Refresh Token A token that contains the information required to obtain a new Access Token.
Reports Consolidated records for customer reference. Various reports can be generated on a regular or ad-hoc basis in the portal and downloaded in Excel format. These include reports for assets, security, finance, as well as for site and environment.
Return Air The heated air returning to air conditioning equipment.
RFI Radio Frequency Interference.
Rh Relative Humidity.
RMF Raised Metal Floor, an alternate term for the more commonly used term 'raised floor'.
ROI Return on Investment, a measure of the money that an entity earns as a percentage of the total value of its assets that are invested.
RPM Revolutions per Minute, a unit of angular velocity.
RPP Remote Power Panel
RTU Rooftop Unit, an air handler designed for outdoor use mounted on a rooftop.
S+S System plus system.
SCFM Standard Cubic Feet per Minute, the volumetric flow rate of a gas corrected to standardized conditions of temperature, pressure and relative humidity.
SDN

Software-Defined Networking (SDN) is another industry term sometimes interchangeable with NFV but SDN often refers to a more specific set of protocols and rules about the flow of traffic and data. SDN frequently means the separation of the flow of the data from the control and management of the network in the form of software.

SE Sales Engineer
Secondary Loop Refers to the water which is used to cool the heat exchangers in AHUs and is cooled via the expansion unit in a chiller.
Seller A seller is a user who makes their services available to end customers through ECX. This guide refers to sellers for shorthand, but ECX generally regards a “seller” as an activity rather than a static person.
sFlow A method of collecting network traffic statistics from network hardware. Used to compute the inbound and outbound traffic statistics on the IX Portal. For standards reference, see http://www.ietf.org/rfc/rfc3176.txt
Sensible Cooling The action of lowering the dry bulb temperature of air without condensation taking place.
Set Point In a control system, this is the value against which the variable that is being controlled is compared. Temperature and humidity set points are common in the cooling system for a data center.
SH Smart Hands
Short Cycling Chilled airflow returning to cooling units without passing through IT equipment, also referred to as bypass.
Single-homed It refers to Single Port configuration.
SLA Service Level Agreement.
SLO Service Level Objective
Smart Hands

Smart Hands is an around-the-clock, on-site, operational support service for remote management, installation and troubleshooting of your data center equipment.

For more information, see Smart Hands.

SME Subject matter expert
SMF Single Mode Fiber
SOP Standard Operating Procedure
SOW Statement of Work
SPOC Single Point of Contact (see POC)
SR Service Request
SSH Secure Shell is a protocol that allows customers to connect to a device (that supports and has enabled SSH) directly. This allows the user to access all features of the device, including those not supported from the portal or API, and make changes, manage and observe and other activities. Caution: if a user connects into a device directly and makes changes that are not tracked or possible from the portal or API, some functions may fall out of sync and may into work at all and Equinix cannot guarantee support and accuracy once this occurs.
Standard Cross Connect A cross connect type that allows the customer to connect to a service provider in the same IBX or a different IBX within an Equinix campus. 

For more information, see Cross Connects Data Sheet.

STORflex Storage Space
Streamlined customers

A Streamlined customer is a customer that can place orders and submit tickets for immediate fulfillment. They do not have to go through an additional pricing approval process that Non-Streamlined customers must do in order to proceed with their orders.   

STS Static Transfer Switch, a solid-state device which transfers the feed of power from one source to another source such as from the incoming utility to a generator.
Sub-Floor The open area underneath a raised computer floor, also called a sub-floor plenum.
Subscription License Subscription license is provided by Equinix on an ongoing basis and is billed by the month. While not a pure "pay as you go" model, this is the typical license you would select if you do not already have one from the vendor or as part of a larger contract that your company has. There will be monthly charges on your invoice associated with this license.
Suite A secured, custom built (as per customer’s requirement) area fully enclosed by solid partitions to house multiple cabinets in it. Suites may be private (housing only one customer), or shared (housing multiple customers).
Supply Air The cooled airflow emitted from air conditioning equipment.
TCE Triton Coefficient of Effectiveness, a data center efficiency metric developed by the Uptime Institute synonymous with UCE. (See also CoE)
TCY Telecity
Thermistor A type of resistor with resistance varying according to its temperature.
TIA Telecommunications Industry Association
Trouble ticket

An order that a user submits through the Equinix Customer Portal to resolve an IBX issue that is impacting their service. A trouble ticket must be submitted for any IBX issues pertaining to the following:  power; cross connect; environment; hardware; network; security; smartview.

For more information, see Trouble Ticket in the Equinix Smart Hands™ Welcome Guide.

TSA Transition Services Agreement
U A unit of space in a rack, equal to 1.75". The vertical dimension of racks and IT equipment is often specified in "Us" such as 42U.
UCE Upsite Coefficient of Effectiveness, a data center efficiency metric developed by the Uptime Institute synonymous with UCE. (See also CoE)
Uninterruptible Power Supply (UPS) A device placed in series with the supply of power from the utility which contains energy storage such that the supply of power from the UPS is continuous even when the utility supply is removed. While battery-based energy storage is the most common, flywheel-based energy storage is gaining in popularity due to the reduced maintenance cost.
Unprotected Metro Connect

A metro connect that provides Inter-IBX connectivity within a metro over a single fiber path. This offering does not provide any redundancy.

For more information, see Equinix Metro Connect Services

UPS See Uninterruptible Power Supply (UPS). 
User A user of the customer organization who can place orders in the Equinix Customer Portal in accordance with the permissions granted to them by the Master administrator and IBX administrator.
V Volt, a unit of electrical potential.
VA Volt-Ampere, a unit of apparent power. In AC circuits, the magnitude of the voltage across a circuit times the current through the circuit is the apparent power. Including a representation of the angle between the two waveforms in the form of power factor (see PF) yields the real power.
Vendor A vendor is the company, manufacturer or owner of a specific device that can be deployed. For example, Cisco and Juniper manufacture devices that can be launched into the ENE platform. Each vendor may have one or more devices offered on ENE, and the vendor usually has a uniform licensing model and other services for their library of available devices.
VFD Variable Frequency Drive, a device which supplies AC power of varying frequency, typically used to control the speed of induction motors. In the data center, it is common to vary the speed of fans, pumps, and chillers.
Virtual Device The Virtual Device is the software "image" that launches on the ENE platform when a user selects a device. The device could be a router, firewall or other types. This image is generally specific to a vendor (for example: Cisco) and specific device ID that the vendor has integrated with our platform. From this Virtual Device, you can create connections like you would from a port on ECX.
vNF A virtual Network Function (vNF) is similar to the term NFV but typically refers to a discrete task, feature or service that does one thing in a larger solution. For example, a piece of code that can stand as a service that performs IP Address translation might be a vNF.
VNI Virtual Network Interface
W Watt, a unit of power, commonly used in electrical discussion, watts are the product of potential (volts, see V) and current (amps, see A). If the current and voltage are AC, the relationship between watts, volts and amps includes power factor (see PF), watts = volts x amps x PF.
Waterside Economizer A system which uses a source other than a chiller to cool the secondary loop water used by the AHUs. This typically consists of either a dry cooler or cooling tower, piping, valves and in the case of a cooling tower, it also includes a heat exchanger since the secondary loop water is treated completely differently than the primary loop water and is typically much "better" water.
Water Usage Effectiveness (WUE) A sustainability metric defined by The Green Grid, which is a measure of the water used on-site for data center operations including humidification and on-site evaporation for cooling or energy production. WUE is calculated by dividing “annual water usage” by the “energy consumption of the IT computing equipment”. The units of WUE are liters/kilowatt-hour (L/kWh).
Wet-Bulb Temperature The temperature of the air measured using a wet-bulb thermometer, that is, the temperature to which a wet surface can be cooled by evaporation. This temperature is affected by both the dry bulb temperature and the dew point of the air. Dryer air has a lower wet bulb temperature. This is a design constraint when utilizing cooling towers or evaporative pads in the cooling process.
Wg Inches of water column, a unit of pressure based on the height of a column of water supported by the pressure differential between the top and bottom of the column. 1-inch wg = .036 psi.
WIP Work in Progress
Work Cell The area of a rack and the related area immediately in front of and behind the rack. Standard racks are 2 feet wide and 4 feet deep. Standard aisles are 4 feet wide, so half of that space is workspace for a given rack. This results in a standard work cell of 16 square feet. Actual work cell size varies with data center design.
WPSF Watts per Square Foot, a unit of power density. In a data center this is a bulk term that refers to the total load in a space divided by the total area of that space. This is a design parameter for total capacity of the cooling and power systems and is used in conjunction with point load (the amount of load in a small space such as a rack).
WUE See Water Usage Effectiveness (WUE). 
Z-Side Non-Ordering Customer side (often but not always a Carrier).

body: 

Style guide and References

Additional information

 

 

Tips and recommendation 

 

 

Critical information 

 

 

Code snippet

 

 

Output snippet 

 

 

Error information

 

 

Internal Links

 

External Links

 

References Links
AWS AWS icons
Azure Azure logo
Google Google icons    Google logo
Oracle Oracle logo

 


body: 

 

 

 Contact us

If you have any questions or comments regarding Equinix APIs, please contact api-support@equinix.com


Twitter Feed

About Equinix

Equinix connects the world's leading businesses to their customers, employees and partners inside the world's most connected data centers in 44 markets across five continents. In the United States, Equinix operates data centers in Atlanta, Boston, Chicago, Dallas, Denver, Los Angeles, Miami, New York, Philadelphia, Seattle, Silicon Valley and Washington D.C.

Developer Platform - Key Highlights

  • Explore, Subscribe & Connect to Equinix API Ecosystem​
  • Test Drive Equinix APIs using our Playground
  • Start your journey with Getting Started Guide

Recent News