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

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

 

What is Equinix IBX SmartView?

Equinix IBX SmartView is a Data Center Infrastructure Monitoring (DCIM) solution. It allows customers to have, real-time access to environmental and operating information relevant to the IBX footprint as if those cages were all in-house. It provides the ability to get information for the Environmental, Mechanical, Electrical assets and Power draw. The picture below provides a high-level overview of IBX SmartView.

 

IBX SmartView High-Level Overview

 

Equinix IBX SmartView is offered to customers via web applications and via REST and Near real-time APIs.  IBX SmartView API architecture is powered by the DCIM platform.

 

IBX SmartView

Our SAAS application, that provides unmatched visibility into core infrastructure at the local zone, cage, and cabinet-level. It provides, data that is relevant to customers, presented the same way for all IBX SmartView IBXs globally. It also provides you actionable insight that allows you to react to important events and proactively plan via configurable reports & alerts.

 

IBX SmartView APIs

Through a comprehensive set of REST Application Programming Interfaces (APIs) and supportive Near real-time APIs for partners as an extension of IBX SmartView, customers have greater flexibility to utilize data through near real-time and pragmatic REST APIs. They can also use IBX SmartView APIs to integrate core IBX SmartView data (environmental, power draw, mechanical and electrical) into third-party monitoring systems.

 


body: 

What are Equinix IBX SmartView APIs?

IBX SmartView APIs allow customers to build real-time dashboards and integrate real-time feeds with their automation systems. These APIs are classified into two categories:

  • Near real-time APIs
  • RESTful APIs

Near real-time APIs provide real-time, actionable information for both API and IBX SmartView users. APIs are defined in the form of events and objects. API developers can integrate APIs into their existing applications via secure subscription channels that integrate with multiple clouds. Integrating with near real-time events allows customers to respond to critical updates related to their core infrastructure in near real-time. 

REST APIs are ideal for developers looking to build applications that leverage IBX SmartView data. Customers who use REST APIs can seamlessly integrate the data into third-party applications. The APIs allow developers to retrieve data for core infrastructure components such as power draw, environmental and infrastructure assets, as well as, alarms, alerts, and notifications.

Both, REST and Near real-time APIs allow developers to interact with Equinix IBX SmartView programmatically to monitor their data center infrastructure. (Refer API reference section or Catalog for more details.)  The diagram below presents an overview of the API architecture.

 

IBX SmartView API Architecture

IBX SmartView Rest APIs

The REST APIs provide customers the ability to fetch information about their assets at every IBX location. There are APIs for all the different asset classifications, alerts, and power.

  • Hierarchy API  - Provides access to all IBX infrastructure asset details directly supporting a customer's cage, cabinet, or power circuit. Given an IBX, it allows retrieval of the cage, cabinet or circuit information which are deployed at the location.
  • Assets API - Provides visibility into the core mechanical or electrical assets and their operating status, for each customer's IBX footprint. Given an IBX, it allows retrieval of all information about the Equinix assets that are serving the colocation footprint at the location.
  • Power API  - Provides the power usage data for the cabinets and circuits. Given an IBX, it allows retrieval of all information about the power assets at the location.
  • Environmental API - Provides access to the environmental and operating information as if those cages were managed in-house. Given an IBX, it allows retrieval of all information about the environmental assets at the location.
  • Alarm API -  Provides the ability to get all the alarms that have ever triggered at the various IBX locations.
  • Alert API - Provides the ability to get all the configured push notification alerts. Configurable alerts ensure customers are notified when important events occur.

The REST APIs are useful for getting assets metadata for Equinix assets powering the infrastructure for a given customer. They also provide the ability to get the historical data collected from these assets over a period of time.

 

IBX SmartView Near Real-Time APIs

The Near-Real-Time streaming APIs, are shown on the right-hand side of the diagram depicting IBX SmartView API-Architecture. These allow for streaming the data to an asynchronous channel. This data is collected from various IBX locations. The data that is collected at the different IBX locations, is streamed in near real-time to the subscriber. The data streaming is currently available on Google pub-sub, Amazon Web Services SNS and Microsoft Azure Service Bus channels via subscription.
Streaming data can also be retrieved in a machine native protocol such as SNMP an OPC, via a private async channel. This allows customers to integrate the data streams with their existing on-premise applications. Please reach out to the api-support@equinix.com for more details.

  • Subscription API - APIs for creating and managing near real-time feed subscriptions.
  • Tagpoint updated event - An asset tagpoint value for either was updated/received.
  • Power updated event  - A power usage value was updated/received.
  • Environment updated event - An environment value for temperature or humidity was updated/received.
  • Alarm updated event - An alarm was updated/received.
  • Alert updated event - An alert was updated/received.

 

Developer Portal

The developer portal is a platform for accessing all the customer-facing APIs across all Equinix product lines. It allows developers to test drive their APIs using the playground features. It's intuitive and easy to use and allows developers to explore and deep dive into the individual APIs. It provides a preview of any upcoming APIs as well. 


body: 

How Equinix IBX SmartView APIs work?

Background

When a client is on-boarded, they are provided with user credentials. 

The client must use these credentials to connect to the Equinix Developer Portal 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.
The Time To Live (TTL) for access tokens now is 3,599 seconds and that for refresh tokens is 5,182,560 seconds.

 

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

 

Authorization flow

Step 1  - 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  Requesting Access and Refresh tokens under Getting Started for instructions on how to obtain an Authorization Token.

 

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

 

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

 

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

 

REST APIs consumption flow

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

 

Refer How-to Guide section for instructions on how to call Equinix IBX SmartView APIs to establish connections.

 

Step 6  - API gateway validates the request and calls the relevant API.

 

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

 

Step 8  - The response is sent back to the client.

 

Step 9  - The client accepts the connection and processes the IBX SmartView APIs response. 

 

Near Real-Time APIs consumption flow

Step 10 -Repeat steps 1 - 9 above to subscribe to a near real-time feed.

 

Refer to Subscriptions APIs for details on how to subscribe to a near real-time feed.

How-to Guide section for instructions on how to accept connections using Equinix IBX SmartView APIs.

 

Step 11 - Create a client to consume the near real-time feed.

 

 


body: 

How-to Guide for IBX SmartView Use Cases

Learn how to monitor a variety of assets using IBX SmartView APIs!

•   Environmental - Monitoring Temperature and Humidity
•   Power Draw - Monitoring Power Usage and Caps
•   Mechanical - Monitoring Cooling Systems
•   Electrical - Monitoring Power Availability

 

 

Overall, IBX SmartView supports different categories such as electrical assets, mechanical assets, environmental sensors in our assets. Across these different categories, we have the following capabilities:

 

  • Using the Assets REST APIs, you can get the asset information that is serving your colocation footprint in a particular IBX. In addition to the asset information, you can get all attributes of that asset that are exposed to you as a customer for those assets. For example, if you get a PDU electrical asset, you can also get the information about the voltage, the average KVA and other attributes of PDU.
  • Using the Asset Tags REST APIs, you can get the attributes of the asset tags and their current value.
  • Using the Alarms REST API, you can get all the alarms that have triggered across all your IBX locations and then you can filter those alarms by different parameters.
  • Using the Alerts REST APIs, you can get the historical data for alerts that have ever triggered across any of your sites or IBX location. You can also get the alerts that have been triggered but not acknowledged yet. The APIs allow you to get the alert definitions as well.
  • Using the streaming near real-time API, you can get streaming asset tag data as soon as it is collected data from the electrical, mechanical, and environmental sensors we stream them to the subscriber on a public cloud asynchronous channel or a machine native protocol, to your applications.
  • Using alarms near real-time streaming we stream the alarms as they get triggered at the IBX location and also stream the information about them getting cleared and them getting acknowledged by the Equinix operations team. Hence, all three events related to an alarm are stream to you.
  • Using alerts near real-time streaming you can get the alerts as they are getting triggered and getting acknowledged by you that information is streamed for all the various asset categories onto the subscribed streaming channel of your choice.

body: 

Pre-requisite

•   You have valid customer credentials.
•   You have been authorized to create, modify and delete connections by your master Admin.
•   You have a valid Client key and Client secret.

 


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: 

Get Generator and Generator Tag information over Rest API

 


body: 

Step 1: Authenticate

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

 

Refer Generating Client ID and Client Secret key under Getting Started section for instructions on how to create client ID and client secret and refer 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 IBX SmartView, contact your local Equinix Service Desk. 

 


body: 

Step 2: Get a list of all the assets

The first step is to get a list of all the assets to which a given customer has visibility. Using IBX SmartView API below you can provide your Equinix customer account number, your IBX code, for e.g. CH1 and the classification, such as electrical. Invoking this API will return a list of all the electrical assets that are visible to you. For example, here we will get a Generator (electrical generator) and some key attributes of the Generator, such as alarmStatus, resiliencyStatus, alarmLastTriggeredTime, alarmLastCleared. All other electrical assets are also returned as part of the response.

The following screenshots show a sample curl request to get the assets list for the account number. 

 

curl -X 

GET "https://api.equinix.com/asset/v1/list?accountNo=1&ibx=CH1&classification=Electrical"     

-H "content-type: application/json"                                                                            
-H "authorization: Bearer asxQMSbBwcNzI2fCCNwSwTh3phV2' 

 

The list of all electrical assets including generators is returned as shown in the partial result below.

 

{
  "payLoad": {
    "classification": "Electrical",
    "categories": [
      {
        "templates": [
          {
            "assets": [
              {
                "assetId": "CH1.Gen-1",
                "ibx": "CH1",
                "alarmStatus": "OK",
                "resiliencyStatus": "Resiliency as Designed",
                "alarmLastTriggeredTime": "Sep 16,2016 04:41 PM",
                "alarmLastClearedTime": "Sep 16,2016 04:43 PM"
              },
              {
                "assetId": "CH1.Gen-2",
                "ibx": "CH1",
                "alarmStatus": "OK",
                "resiliencyStatus": "Resiliency as Designed",
                "alarmLastTriggeredTime": "Sep 20,2016 04:48 PM",
                "alarmLastClearedTime": "Sep 20,2016 04:53 PM"
              },
              {
                "assetId": "CH1.Gen-3",
                "ibx": "CH1",
                "alarmStatus": "OK",
                "resiliencyStatus": "Resiliency as Designed",
                "alarmLastTriggeredTime": "Oct 04,2016 07:54 AM",
                "alarmLastClearedTime": "Oct 04,2016 08:41 AM"
              }
            ],
            "templateId": "Generator"
          }
        ],
        "categoryName": "Global"
      }
    ]
  },
  "status": {
    "type": "INFO",
    "statuscode": "1000",
    "msg": "OK"
  }
}

 

 

Refer Get Assets List under API Reference section for instructions on how to get asset details. You may skip this step if you already know the asset details. 

 


body: 

Step 3: Get Asset details

If you pick one of these assets and you want more details of the asset which means the attributes of the assets you can use the asset details API. You can do so by, specifying the account number, the IBX code, the specific asset ID and its classification electrical or mechanical. Upon invoking the API, you will see that for CH1 the asset with type generator is returned along with the three other attributes of this asset. For example, fuelHours is one attribute, and the current value this attribute is the time and the unit of measure for this value is in hours. Another attribute is the currentAlarmStatus, along with several other attributes such as runningEmergencyServices (yes or no), voltage (0 volts), etc. You can replace the assetId that was returned from the asset list API call and retrieve the attributes of another asset.

The following screenshots show a sample curl request to get assets details for the given account number, assetId, and classification.

 

curl -X 

GET "https://api.equinix.com/asset/v1/details?accountNo=1&ibx=CH1&assetId=CH1.Gen-1&classification=Electrical"

-H "content-type: application/json"

-H "authorization: Bearer asxQMSbBwcNzI2fCCNwSwTh3phV2' 

 

The details of the given generator are returned as shown below.

 

{
  "payLoad": {
    "assetId": "CH1.Gen-1",
    "assetType": "Generator",
    "userPrefTimeZone": "America/Los_Angeles",
    "tags": [
      {
        "value": "78.5",
        "tagId": "CH1.Gen-1:fuelhours",
        "tagDisplayName": "Fuel Hours",
        "uom": "h",
        "alarmStatus": "OK",
        "readingTime": "20190324023353"
      },
      {
        "value": "0",
        "tagId": "CH1.Gen-1:runningemergencyservice",
        "tagDisplayName": "Running Emergency Service",
        "uom": "",
        "alarmStatus": "OK",
        "readingTime": "20190324023421"
      },
      {
        "value": "0.0",
        "tagId": "CH1.Gen-1:voltage",
        "tagDisplayName": "Voltage",
        "uom": "V",
        "alarmStatus": "OK",
        "readingTime": "20190324022309"
      },
      {
        "value": "NORMAL",
        "tagId": "CH1.Gen-1:alarm",
        "tagDisplayName": "Alarm",
        "uom": "",
        "alarmStatus": "OK",
        "readingTime": "20190324022351"
      },
      {
        "value": "0",
        "tagId": "CH1.Gen-1:runningnonemergencyservice",
        "tagDisplayName": "Running NonEmergency Service",
        "uom": "",
        "alarmStatus": "OK",
        "readingTime": "20190324023421"
      },
      {
        "value": "READY TO START, AUTO",
        "tagId": "CH1.Gen-1:summary",
        "tagDisplayName": "Summary",
        "uom": "",
        "alarmStatus": "OK",
        "readingTime": "20190324023421"
      }
    ],
    "lastMaintenanceDate": "Mar 17,2019",
    "manufacturerName": "CATERPILLAR",
    "equipmentModelNumber": "SR-4B",
    "equipmentSerialNumber": "5JW00638",
    "alarmLastTriggeredTime": null,
    "alarmLastProcessedTime": null
  },
  "status": {
    "type": "INFO",
    "statuscode": "1000",
    "msg": "OK"
  }
}

 

Refer Get Asset Details under API Reference section for instructions on how to get asset details. You may skip this step if you already know the asset details. 

 


body: 

Step 4: Get affected locations for a given asset

As a next step you may want to get all the affected location assets given an assetId. This call will return all your cages and cabinets in power circuits that are being serviced by the given asset. In order to make the affected assets call, you will need to provide your customer account number, your IBX code and the assetId which was initially obtained via a call to the get asset list API. If the classification is electrical, then you will get the cage, cabinet and power circuits that are being serviced by that particular asset. This is a very good way to get your assets that are impacted by the particular asset, in this example we choose an ASTS (Automatic static transfer switch).

The following screenshots show a sample curl request to get supported location assets for the given account number, classification, and assetId. 

 

curl -X 

GET "https://api.equinix.com/asset/v1/tagpoint/affected-assets?accountNo=1&ibx=CH1&classification=Electrical&assetId=CH1.ASTS-1-2-A"

-H "content-type: application/json"

-H "authorization: Bearer asxQMSbBwcNzI2fCCNwSwTh3phV2' 

 

The call returns a list of all the location assets that are supported by the assetId above.

 

{
  "payLoad": {
    "cages": [
      {
        "name": "CH1:05:BCM000",
        "type": "cage",
        "cabinets": [
          {
            "name": "CH1:05:BCM000:9999",
            "type": "cabinet",
            "circuits": [
              {
                "name": "14488436",
                "type": "circuit"
              },
              {
                "name": "M10294567",
                "type": "circuit"
              },
              {
                "name": "20679430",
                "type": "circuit"
              }
            ]
          }
        ],
        "circuits": null
      },
      {
        "name": "CH1:05:FE00021",
        "type": "cage",
        "cabinets": [
          {
            "name": "CH1:05:FE00021:0101",
            "type": "cabinet",
            "circuits": [
              {
                "name": "20744057",
                "type": "circuit"
              }
            ]
          }
        ],
        "circuits": null
      }
    ]
  },
  "status": {
    "type": "INFO",
    "statuscode": "1000",
    "msg": "OK"
  }
}

 

Refer Get affected locations for given asset under API Reference section for instructions on how to get asset details. You may skip this step if you already know the asset details. 

 


body: 

Step 5: Get tag for a given asset

The next API that we can call is the get tag API. A tag is an attribute of a specific asset, and an asset can have one or more tags. This API accepts the account number, the IBX code, and the tag ID as an input and gives you the current value of that asset attribute or tag, in the response. For example, for the generator attribute fuelHours, you can get the current value which is a number denoting the number of hours, and the unit of measure is “hours”. The value returned for this attribute would be the last read value. This is a good way for getting the current snapshot of that particular attribute. If you need to retrieve more than one attribute, you can use the post flavor of the API.

The following screenshot shows the curl request to get a generator tagpoint fuelhours. 

 

curl -X 

GET "https://api.equinix.com/asset/v1/tagpoint/current?accountNo=1&ibx=CH1&tagId=CH1.Gen-1:fuelhours"

-H "content-type: application/json"

-H "authorization: Bearer asxQMSbBwcNzI2fCCNwSwTh3phV2' 

 

The call returns all the tagpoint details for fuelhours as shown below.

 

{
    "payLoad": [
        {
            "value": "77.9",
            "tagId": "CH1.Gen-1:fuelhours",
            "tagDisplayName": "Fuel Hours",
            "uom": "h",
            "readingTime": "20190324033354"
        }
    ],
    "status": {
        "type": "INFO",
        "statuscode": "1000",
        "msg": "OK"
    }
}

 

Refer Get tag point for given asset under API Reference section for instructions on how to get asset details. You may skip this step if you already know the asset details. 

 


body: 

How to Get All alarms over Rest API

 


body: 

Step 1: Authenticate

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

 

Refer Generating Client ID and Client Secret key under Getting Started section for instructions on how to create client ID and client secret and refer 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 IBX SmartView, contact your local Equinix Service Desk. 

 


body: 

Step 2: Get a list of all the alarms

Alarms API provides one endpoint Get all active alarms. Using this endpoint you can retrieve all the alarms that have triggered on all the assets serving your colocation footprint, across all of the IBX locations. You can filter down on those alarms using various parameters. In order to access the API you need to specify the Auth bearer token in the header, specify the account no, number of records you to want returned and the offset to start from. You can specify the groupByIBX to group the alarms by IBX.

In order to invoke the API call, provide the token, account number, page number 1, 10 records per page, offset 0 as input. The response includes a payload of a set of alarms.

The response includes fields like the IBX. AccountNo, assetId, asset type is UPS, severity is Urgent, status is active or not, ack true or false indicating whether Equinix ops team acknowledged the alarm or not. Tagid on which the alarm had triggered. Time at which the tag got processed. It also tells, if the given alarm condition returned to normal or if the status turns to false. This set of attributes is repeated for each alarm.

The following screenshot shows the curl request to get all active alarms. 

 

curl -X 

GET "https://api.equinix.com/alarm/v1/smartview/alarms?accountNo=1&limit=10"

-H "content-type: application/json"

-H "authorization: Bearer asxQMSbBwcNzI2fCCNwSwTh3phV2' 

 

List of all active alarms for affiliated to your customer account are returned below.

 

{
    "alarms": [
        {
            "ibx": "DC5",
            "accountNo": "1",
            "assetId": "DC5.UPS-R1",
            "assetType": "UPS",
            "assetClassification": "Electrical",
            "conditionName": "Alarm",
            "severity": "Urgent",
            "status": true,
            "ack": true,
            "tagId": "DC5.UPS-R1:alarm",
            "customerId": "ALL",
            "timeProcessed": 1550519327497,
            "timeTrigerred": 1546510663707,
            "timeNormalProcessed": 0,
            "customerassets": []
        },
        {
            "ibx": "CH3",
            "accountNo": "1",
            "assetId": "CH3.PDU-A3.A5",
            "assetType": "PDU",
            "assetClassification": "Electrical",
            "conditionName": "Alarm",
            "severity": "Urgent",
            "status": true,
            "ack": true,
            "tagId": "CH3.PDU-A3.A5:alarm",
            "customerId": "ALL",
            "timeProcessed": 1550322722748,
            "timeTrigerred": 1550071367746,
            "timeNormalProcessed": 0,
            "customerassets": []
        },
        {
            "ibx": "CH3",
            "accountNo": "1",
            "assetId": "CH3.STS-B1.A5",
            "assetType": "ASTS",
            "assetClassification": "Electrical",
            "conditionName": "Alarm",
            "severity": "Urgent",
            "status": false,
            "ack": false,
            "tagId": "CH3.STS-B1.A5:alarm",
            "customerId": "ALL",
            "timeProcessed": 1550509311772,
            "timeTrigerred": 1546342538650,
            "timeNormalProcessed": 1550509435530,
            "customerassets": []
        }
    ],
    "groupedAlarms": null,
    "totalCount": 2389
}

 

Refer to Get all active alarms under API Reference section for instructions on how to get asset details. You may skip this step if you already know the asset details.

 


body: 

How to Get Temperature and Humidity information in Near Real-Time

 

Steps to retrieve near real-time environmental data such as temperature and humidity for your cage and cabinets are shown below.

 


body: 

Via GCP Pubsub


body: 

Step 1: Create a near real-time channel subscription

1a) Authenticate

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

 

Refer Generating Client ID and Client Secret key under Getting Started section for instructions on how to create client ID and client secret and refer 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 IBX SmartView, contact your local Equinix Service Desk. 

 

1b) Get a subscription

The first step is to create a subscription.

 

Refer Create a subscription under API Reference section for instructions on how to get asset details. You may skip this step if you already know the asset details. 


body: 

Step 2: Get Authenticate with Google pub sub

Authenticate with Google pub-sub using the access token and subscription URL from previous step.

 


body: 

Step 3: Setup and configuration

 

3 a) Download and setup Near Real-Time feed consumer code.

 

3 b) Configure the following ENV variable while running the code. GOOGLE_APPLICATION_CREDENTIALS=/localpath/client_secrets.json

 

3 c) Execute the class com.equinix.dcim.subscriber.FeedTest with method init

 

package main; 

import java.util.Properties; 
import java.util.concurrent.TimeUnit; 
import com.equinix.dcim.subscriber.Feed; 
import com.equinix.dcim.subscriber.goog.GoogleConfiguration; 
import com.equinix.dcim.subscriber.impl.FeedImpl; 

public class FeedTest { 
    public static void main(String args[]) throws Exception { 
        Feed feed = new FeedImpl();
        Properties props = new Properties(); 

        GoogleConfiguration googleConfiguration = new GoogleConfiguration("eighth-pursuit-162421", "equinix_uat1"); 
        feed.registerConsumer((x) -> { 
            System.out.println(x.toString());
        }); 

        feed.init(googleConfiguration); 
        int i = 0; 
        System.out.println("Started!!!"); 
        while (i < 2) { 
          TimeUnit.SECONDS.sleep(600); 
          i++;
        }
     }
 }

 

3 d) Send email to api-support@equinix.com  to request for the client secret file “client_secrets.json” for read access.

 


body: 

Step 4: Retrieve the near real-time feeds 

Retrieve the near real-time feeds using the subscription URL that the consumer had created in Step 3.

 


body: 

Via AWS SNS


body: 

Step 1: Create a near real-time channel subscription

1a) Authenticate

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

 

Refer Generating Client ID and Client Secret key under Getting Started section for instructions on how to create client ID and client secret and refer 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 IBX SmartView, contact your local Equinix Service Desk. 

 

1b) Get a subscription

The first step is to create a subscription.

 

Refer Create a subscription under API Reference section for instructions on how to get asset details. You may skip this step if you already know the asset details. 

 


body: 

Step 2: Authenticate with AWS SNS

Authenticate with AWS SNS using the access token and subscription URL from previous step.


body: 

Step 3: Setup and configuration

3 a) Download and setup Near Real-Time feed consumer code.

 

3 b) Configure the following ENV variable while running the code. GOOGLE_APPLICATION_CREDENTIALS=/localpath/client_secrets.json

 

3 c) Execute the class com.equinix.dcim.subscriber.FeedTest with method init

 

AWS_CREDENTIAL_PROFILES_FILE=/Users/apps/aws_client_secrets.json
 
import com.amazonaws.regions.Regions;
import com.amazonaws.services.logs.AWSLogsClient;
import com.amazonaws.services.logs.AWSLogsClientBuilder;
import com.amazonaws.services.logs.model.GetQueryResultsRequest;
import com.amazonaws.services.logs.model.StartQueryRequest;
import com.amazonaws.services.logs.model.StartQueryResult;
import com.google.common.util.concurrent.Uninterruptibles;

import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.TimeUnit;

    String awsCloudLogGroupName="/aws/lambda/testawssns";
    AWSLogsClient awsLogsClient = (AWSLogsClient) AWSLogsClientBuilder.standard()
                .withRegion(Regions.US_EAST_2).build();
        StartQueryRequest startQueryRequest = new StartQueryRequest();
        String query = "fields @timestamp, @message " +
                "| sort @timestamp desc " +
                "| limit 20";
        startQueryRequest.setLogGroupName(awsCloudLogGroupName);
        long epocSecStartTime = LocalDateTime.now().minusHours(2).toEpochSecond(ZoneOffset.UTC);//last 2 hour
        startQueryRequest.setStartTime(epocSecStartTime);
        startQueryRequest.setEndTime(System.currentTimeMillis());
        startQueryRequest.setQueryString(query);
        StartQueryResult startQueryResult = awsLogsClient.startQuery(startQueryRequest);
        GetQueryResultsRequest getQueryResultsRequest = new GetQueryResultsRequest();
        getQueryResultsRequest.withQueryId(startQueryResult.getQueryId());
        List list = new ArrayList();
        int attempts = 0;
        while (attempts++ < 10) {
            Uninterruptibles.sleepUninterruptibly(1, TimeUnit.SECONDS);
            list = awsLogsClient.getQueryResults(getQueryResultsRequest).getResults();
            System.out.println(list);
            if (!list.isEmpty()) {
                break;
            }
        }
    }

 

3 d) Send email to api-support@equinix.com  to request for the client secret file “client_secrets.json” for read access.


body: 

Step 4: Retrieve the near real-time feeds 

Retrieve the near real-time feeds using the subscription URL and the consumer created above.

 


body: 

Via Azure Service Bus


body: 

Step 1: Create a near real-time channel subscription

1a) Authenticate

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

 

Refer Generating Client ID and Client Secret key under Getting Started section for instructions on how to create client ID and client secret and refer 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 IBX SmartView, contact your local Equinix Service Desk. 

 

1b) Get a subscription

The first step is to create a subscription.

 

Refer Create a subscription under API Reference section for instructions on how to get asset details. You may skip this step if you already know the asset details. 

 


body: 

Step 2: Authenticate with Azure Service Bus

Authenticate with Azure Service Bus using the access token and subscription URL from the previous step.


body: 

Step 3: Setup and configuration

3a) Download and setup Near Real-Time feed consumer code.

 

3b) Configure the following ENV variable while running the code. GOOGLE_APPLICATION_CREDENTIALS=/localpath/client_secrets.json

 

3c) Execute the class com.equinix.dcim.subscriber.FeedTest with method init

 

AZURE_AUTH_LOCATION=/Users/apps/my.azureauth.cred
import com.microsoft.azure.servicebus.*;
import com.microsoft.azure.servicebus.primitives.ConnectionStringBuilder;
import com.microsoft.azure.servicebus.primitives.ServiceBusException;

import java.time.Duration;
import java.util.concurrent.CompletableFuture;
import java.util.function.Consumer;
import java.util.function.Function;
 
String subscriptionName="TOPIC_AZURE_7786/subscriptions/TOPIC_AZURE_7786_subscriber";
String  connectionString="Endpoint=sb://equinix.servicebus.windows.net/;SharedAccessKeyName=READ_ONLY_RULE;SharedAccessKey=mWiElYxO+GU3iyoS0wCnKaGT9vhc93sB4WmIzLyBQQY=;EntityPath=TOPIC_AZURE_7786";
 
SubscriptionClient azureClient = new SubscriptionClient
        (new ConnectionStringBuilder(connectionString, subscriptionName), ReceiveMode.PEEKLOCK);
IMessageHandler messageHandler = new IMessageHandler() {
    public CompletableFuture onMessageAsync(IMessage message) {
        if (message.getContentType().contentEquals("application/json")) {
            System.out.println("received : " + new String(message.getBody()));
        }
        return azureClient.completeAsync(message.getLockToken());
    }

    public void notifyException(Throwable throwable, ExceptionPhase exceptionPhase) {
        System.out.printf(exceptionPhase + "-" + throwable.getMessage());
    }
};

try {
    azureClient.registerMessageHandler(
            messageHandler,
            new MessageHandlerOptions(10, false, Duration.ofMinutes(1)));
} catch (InterruptedException e) {
    e.printStackTrace();
} catch (ServiceBusException e) {
    e.printStackTrace();
}

 

3d) Send email to api-support@equinix.com  to request for the client secret file “client_secrets.json” for read access.

 


body: 

Step 4: Retrieve the near real-time feeds 

Retrieve the near real-time feeds using the subscription URL that the consumer had created in Step 3.

 

 


body: 

Alarm APIs

 


body: 

Get Active Alarms

GET /alarms/v1/smartview/alarms

 Method  GET
 URL or End Point  /alarms/v1/smartview/alarms
 Headers  Authorization, Content-Type
 Query Parameters  accountNo, ibx
 Body  Not applicable

 

Given a customer account, retrieve all the active alarms. A total count specifying the number of alarms and a list of alarms is returned. If groupByIBX was set to true, then a list of alarm groups is returned. The assetClassification, timeProcessed, conditionName, assetType, tagId, timeNormalProcessed and assetId are returned.

 

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

 

The following screenshots show a sample curl request to get all active alarms and a JSON response containing the result. 

 

curl -X 

GET "https://api.equinix.com/alarm/v1/smartview/alarms?accountNo=1&limit=10"     

-H "content-type: application/json"

-H "authorization: Bearer asxQMSbBwcNzI2fCCNwSwTh3phV2' 

 

The description of the query parameters is as follows:

 

Query Parameter Name Mandatory Type Example Applicable values Description
accountNo Y string 1234   Customer account number
ibx Y string AB2  

Name of the IBX for which data is being requested.

limit N integer 0   Specifies the number of records to be retreived.
offset N integer 0   Specifies the index of the starting record.
groupByIBX N boolean true false, true Indicates if the alarms should be grouped by IBX.

 

{
    "alarms": [
        {
            "ibx": "DC5",
            "accountNo": "1",
            "assetId": "DC5.UPS-R1",
            "assetType": "UPS",
            "assetClassification": "Electrical",
            "conditionName": "Alarm",
            "severity": "Urgent",
            "status": true,
            "ack": true,
            "tagId": "DC5.UPS-R1:alarm",
            "customerId": "ALL",
            "timeProcessed": 1550519327497,
            "timeTrigerred": 1546510663707,
            "timeNormalProcessed": 0,
            "customerassets": []
        },
        {
            "ibx": "CH3",
            "accountNo": "1",
            "assetId": "CH3.PDU-A3.A5",
            "assetType": "PDU",
            "assetClassification": "Electrical",
            "conditionName": "Alarm",
            "severity": "Urgent",
            "status": true,
            "ack": true,
            "tagId": "CH3.PDU-A3.A5:alarm",
            "customerId": "ALL",
            "timeProcessed": 1550322722748,
            "timeTrigerred": 1550071367746,
            "timeNormalProcessed": 0,
            "customerassets": []
        },
        {
            "ibx": "CH3",
            "accountNo": "1",
            "assetId": "CH3.STS-B1.A5",
            "assetType": "ASTS",
            "assetClassification": "Electrical",
            "conditionName": "Alarm",
            "severity": "Urgent",
            "status": false,
            "ack": false,
            "tagId": "CH3.STS-B1.A5:alarm",
            "customerId": "ALL",
            "timeProcessed": 1550509311772,
            "timeTrigerred": 1546342538650,
            "timeNormalProcessed": 1550509435530,
            "customerassets": []
        }
    ],
    "groupedAlarms": null,
    "totalCount": 2389
}

 

The description of the response payload is as follows:

 

Field name Type Example Description
alarms array   Array of alarms.
accountNo string 1234 Customer account number.
assetId string CH1.FC2 Indicates the unique identifier for the asset.
assetType string

cooling  

Indicates the template name for the asset.
assetClassificastion string Environmental The class of assets this asset belongs to.
conditionName string High Name given to the alarm condition.
ibx string CH1 The IBX at which the alarm occured.
status boolean true Alarm status.
tagId string CH1.Chiller1:evapleavingwatertemperature Unique identifier for the tag point.
timeProcessed string

Aug 21,2017 04:38 AM

Date-time at which the alarm was processed at tbe IBX.
timeNormalProcessed string

Aug 21,2017 05:52 AM

Date-time at which the normal condition was restored at the IBX.
totalCount integer 10 Total number of alarms

 

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

 


body: 

Asset APIs


body: 

Get Asset list

GET /asset/v1/list

 Method  GET
 URL or End Point  /asset/v1/list
 Headers  Authorization, Content-Type
 Query Parameters  accountNo, ibx, classification cages
 Body  Not applicable

 

Given an account number, IBX code, cage and asset classification (Electrical, Mechanical), returns information about asset in a hierarchical structure comprising of the category, template and asset. Given a category and a template, a list of assets is returned. The response includes the assetId, IBX, alarmStatus, resiliencyStatus, alarmLastTriggeredTime, alarmLastClearedTime information for each asset.

 

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

 

The following screenshots show a sample curl request to get the assets list for account number 1 and a JSON response containing the result. 

 

curl -X 

GET "https://api.equinix.com/asset/v1/list?accountNo=1&ibx=CH1&classification=Mechanical"    -H "content-type: application/json"

-H "authorization: Bearer asxQMSbBwcNzI2fCCNwSwTh3phV2' 

 

The description of the query parameters is as follows:

 

Query Parameter Name Mandatory Type Example Applicable values Description
accountNo Y string 1234   Customer account number
ibx Y string AB2  

Name of the IBX for which data is being requested.

classification Y string Electrical Electrical, Mechanical Enum value indication the asset classification for which to fetch the list.
cages N Array(string)

CH1:05:000550

 

An array of cage unique space id to be used to filter the assets list. Assumed to be all cage unique space id if no value is sent.

 

{
    "payLoad": {
        "classification": "Mechanical",
        "categories": [
            {
                "templates": [
                    {
                        "assets": [
                            {
                                "assetId": "CH1.FC 2",
                                "ibx": "CH1",
                                "alarmStatus": "OK",
                                "resiliencyStatus": "Resiliency Not Configured",
                                "alarmLastTriggeredTime": null,
                                "alarmLastClearedTime": null
                            }
                        ],
                        "templateId": "Fan Coil"
                    },
                    {
                        "assets": [],
                        "templateId": "Fans"
                    },
                    {
                        "assets": [],
                        "templateId": "Humidifier"
                    },
                    {
                        "assets": [],
                        "templateId": "RAH with Chilled Water"
                    }
                ],
                "categoryName": "Air Handling"
            },
            {
                "templates": [
                    {
                        "assets": [],
                        "templateId": "Chiller Air Cooled"
                    },
                    {
                        "assets": [
                            {
                                "assetId": "CH1.Lead Chilled Water Manager",
                                "ibx": "CH1",
                                "alarmStatus": "NOT OK",
                                "resiliencyStatus": "Resiliency Not Configured",
                                "alarmLastTriggeredTime": "Feb 15,2019 02:59 AM",
                                "alarmLastClearedTime": "Currently Active"
                            }
                        ],
                        "templateId": "Cooling Plant"
                    }
                ],
                "categoryName": "Cooling"
            },
            {
                "templates": [
                    {
                        "assets": [
                            {
                                "assetId": "CH1.VESDA",
                                "ibx": "CH1",
                                "alarmStatus": "OK",
                                "resiliencyStatus": "Resiliency Not Configured",
                                "alarmLastTriggeredTime": "Aug 21,2018 10:52 AM",
                                "alarmLastClearedTime": "Aug 21,2018 01:52 PM"
                            }
                        ],
                        "templateId": "Early Smoke Detection"
                    },
                    {
                        "assets": [
                            {
                                "assetId": "CH1.Fire Alarm System",
                                "ibx": "CH1",
                                "alarmStatus": "OK",
                                "resiliencyStatus": "Resiliency Not Configured",
                                "alarmLastTriggeredTime": "Feb 01,2019 11:25 AM",
                                "alarmLastClearedTime": "Feb 01,2019 12:25 PM"
                            }
                        ],
                        "templateId": "Fire Alarm"
                    }
                ],
                "categoryName": "Fire, Smoke Detection"
            },
            {
                "templates": [
                    {
                        "assets": [],
                        "templateId": "Leak Detection"
                    }
                ],
                "categoryName": "Leak Detection"
            }
        ]
    },
    "status": {
        "type": "INFO",
        "statuscode": "1000",
        "msg": "OK"
    }
}

 

The description of the response payload is as follows:

 

Field name Type Example Description
 classification string Electrical, Mechanical Indicates the asset classification for the Electrical and mechanical assets.
categories an array of a category object   Indicates the category of the specified asset classification.
templates array of a category object   Template specifies the blueprint of an asset.
categoryName string Air Handling, Cooling, Fire smoke detection, Leak detection Indicates the category name of the specified asset classification.
assets array of a category object    
templateId string Fans, Fan coil, Humdifer Unique identifier for the template
assetId string CH1.FC2 Unique identifier for the template
ibx string CH1 IBX code for the IBX in which the asset is located.
alarmStatus string OK

Alarm status for the asset.

assets.resiliencyStatus string Resilency not configued Resiliency status for the asset.
assets.alarmLastTriggeredTime string null, "Feb 15,2019 02:59 AM" Date-time when the latest alarm on the asset was triggered.
assets.alarmLastClearedTime string null, "Currently active", "Feb 15,2019 02:59 AM" Date-time when the latest alarm on the asset was cleared.

 

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

 


body: 

Get Asset details

GET /asset/v1/details

 Method  GET
 URL or End Point  /asset/v1/details
 Headers  Authorization, Content-Type
 Query Parameters  accountNo, ibx, classification assetId
 Body  Not applicable

 

Given an account number, IBX code, asset classification (Electrical, Mechanical), and assetId asset details including tag points list. The response includes the assetId, IBX, alarmStatus, resiliencyStatus, alarmLastTriggeredTime, alarmLastClearedTime information for each asset.

 

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

 

The following screenshots show a sample curl request to get assets details for the account number 1 and a JSON response containing result. 

 

curl -X 

GET "https://api.equinix.com/asset/v1/details?accountNo=1&ibx=CH1&assetId=CH1.FC%202&classification=Mechanical"     

-H "content-type: application/json"

-H "authorization: Bearer asxQMSbBwcNzI2fCCNwSwTh3phV2' 

 

The description of the query parameters is as follows:

 

Query Parameter Name Mandatory Type Example Applicable values Description
accountNo Y string 1234   Customer account number
ibx Y string AB2  

Name of the IBX for which data is being requested.

classification Y string Mechanical Electical, Mechanical Enum value indication the asset classification for which to fetch the list for.
assetId Y string AB2.FC1   Unique identifier for the asset.

 

{
    "payLoad": {
        "assetId": "CH1.FC 2",
        "assetType": "",
        "userPrefTimeZone": "America/New_York",
        "tags": [],
        "lastMaintenanceDate": "Dec 19,2018",
        "manufacturerName": "",
        "equipmentModelNumber": "",
        "equipmentSerialNumber": "",
        "alarmLastTriggeredTime": null,
        "alarmLastProcessedTime": null
    },
    "status": {
        "type": "INFO",
        "statuscode": "1000",
        "msg": "OK"
    }
}

 

The description of the response payload is as follows:

 

Field name Type Example Description
 assetId string CH1.FC2 Indicates the unique identifier for the asset.
assetType string

cooling  

Indicates the template name for the asset.
userPrefTimeZone string "America/New_York" Timezone for the user.
tags array of tag object   Specifies the list of tag points for the asset.
value string 4.9 The current data value for the tag point.
tagId string CH1.Chiller1:evapleavingwatertemperature Unique identifier for the tag point.
tagDisplayName string Evaporator leaving water temperature The display name for the tag point.
uom string oC Unit of measure for the tag point data value.
alarmStatus string OK

Alarm status for the tag point.

readingTime string

20170907060449

Date-time when the tag point value was read from the device.
lastMaintenanceDate string "Dec 19,2018" Date-time when the asset had its last maintenance.
manufacturerName string SMARDT Asset manufacturer name.
equipmentModelNumber string

SACAC110-3EXX-2A1-16A-010

Equipment model number.
equipmentSerialNumber string

FF0010I233Q1276

Equipment serial number.
alarmLastTriggeredTime string Aug 21,2017 04:38 AM Date-time when the latest alarm was triggered on the asset.
alarmLastProcessedTime string

Aug 21,2017 05:52 AM

Date-time when the latest alarm was processed on the asset.

 

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

 


body: 

Post Asset details

POST /asset/v1/details

 Method  POST
 URL or End Point  /asset/v1/details
 Headers  Authorization, Content-Type
 Query Parameters  Not applicable
 Body  accountNo, ibx, classification, assetId list

 

Given an account number, IBX code, asset classification (Electrical, Mechanical), and assetId list, return the asset details including tag points list for each asset. The response includes the assetId, IBX, alarmStatus, resiliencyStatus, alarmLastTriggeredTime, alarmLastClearedTime information for each asset. 

 

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

 

The following screenshots show a sample curl request to get assets details for the account number 1 and a JSON response containing result. 

 

curl -X 

POST "https://api.equinix.com/asset/v1/details -H 'Authorization: Bearer 21T65PfrRgJK5guVYceyLnSLRl1s" 
-H "content-type: application/json"

-H "authorization: Bearer asxQMSbBwcNzI2fCCNwSwTh3phV2' 

-d '{
  "accountNo": "1",
  "ibx": "CH1",
  "assetIds": [
    "CH1.FC 2",
    "CH1.Lead Chilled Water Manager"
  ],
  "classification":"Mechanical"
}'

 

The description of the request payload is as follows:

 

Body Parameter Name Mandatory Type Example Applicable values Description
accountNo Y string 1234   Customer account number
ibx Y string AB2  

Name of the IBX for which data is being requested.

classification Y string Mechanical Electical, Mechanical Enum value indication the asset classification for which to fetch the list for.
assetIds Y array of assetid's AB2.FC1   Unique identifier for the asset.

 

{
    "payLoad": {
        "totalCount": 2,
        "assetDetails": [
            {
                "assetId": "CH1.FC 2",
                "assetType": "",
                "userPrefTimeZone": "America/New_York",
                "tags": [],
                "lastMaintenanceDate": "Dec 19,2018",
                "manufacturerName": "",
                "equipmentModelNumber": "",
                "equipmentSerialNumber": "",
                "alarmLastTriggeredTime": null,
                "alarmLastProcessedTime": null
            },
            {
                "assetId": "CH1.Lead Chilled Water Manager",
                "assetType": "",
                "userPrefTimeZone": "America/New_York",
                "tags": [
                    {
                        "value": "42.26",
                        "tagId": "CH1.Lead Chilled Water Manager:primarychilledwatersupplytemperature",
                        "tagDisplayName": "Primary Chilled Water Supply Temperature",
                        "uom": "°F",
                        "alarmStatus": "NOT OK",
                        "readingTime": "20190218205638"
                    }
                ],
                "lastMaintenanceDate": "",
                "manufacturerName": "",
                "equipmentModelNumber": "",
                "equipmentSerialNumber": "",
                "alarmLastTriggeredTime": "Dec 31,1969 07:00 PM",
                "alarmLastProcessedTime": "Currently Active"
            }
        ]
    },
    "status": {
        "type": "INFO",
        "statuscode": "1000",
        "msg": "OK"
    }
}

 

The description of the response payload is as follows:

 

Field name Type Example Description
totalCount number 2 Total number of assets that match the request.
assetDetails array of assetdetails object   Asset details, including the tag points with data for the asset.
 assetId string CH1.FC2 Indicates the unique identifier for the asset.
assetType string

cooling  

Indicates the template name for the asset.
userPrefTimeZone string "America/New_York" Timezone for the user.
tags array of tag object   Specifies the list of tag points for the asset.
tags.value string 4.9 Current data value for the tag point.
tags.tagId string CH1.Chiller1:evapleavingwatertemperature Unique identifier for the tag point.
tags.tagDisplayName string Evaporator leaving water temperature Display name for the tag point.
tags.uom string oC Unit of measure for the tag point data value.
tags.alarmStatus string OK

Alarm status for the tag point.

tags.readingTime string

20170907060449

Date-time when the tag point value was read from the device.
lastMaintenanceDate string "Dec 19,2018" Date-time when the asset had its last maintenance.
manufacturerName string SMARDT Asset manufacturer name.
equipmentModelNumber string

SACAC110-3EXX-2A1-16A-010

Equipment model number.
equipmentSerialNumber string

FF0010I233Q1276

Equipment serial number.
alarmLastTriggeredTime string Aug 21,2017 04:38 AM Date-time when the latest alarm was triggered on the asset.
alarmLastProcessedTime string

Aug 21,2017 05:52 AM

Date-time when the latest alarm was processed on the asset.

 

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

 


body: 

Get affected locations for a given assets

GET /asset/v1/tagpoint/affected-assets

 Method  GET
 URL or End Point  /asset/v1/tagpoint/affected-assets
 Headers  Authorization, Content-Type
 Query Parameters  accountNo, ibx, classification assetId
 Body  Not applicable

 

Given an account number, IBX code, and an assetId, return the corresponding locations hierarchy of related assets.

 

 

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

 

The following screenshots show a sample curl request to get assets location hierarchy details for the account number 1 and a JSON response containing result. 

 

 

curl -X 

GET "https://api.equinix.com/asset/v1/tagpoint/affected-assets?accountNo=1&ibx=CH1&classification=Electrical&assetId=CH1.PDU-1-2A"     

-H "content-type: application/json"

-H "authorization: Bearer asxQMSbBwcNzI2fCCNwSwTh3phV2' 

 

 

The description of the query parameters is as follows:

 

Query Parameter Name Mandatory Type Example Applicable values Description
accountNo Y string 1234   Customer account number
ibx Y string AB2  

Name of the IBX for which data is being requested.

classification Y string Mechanical Electical, Mechanical Enum value indication the asset classification for which to fetch the list for.
assetId Y string AB2.FC1   Unique identifier for the asset.

 

{
    "payLoad": {
        "cages": [
            {
                "name": "CH1:05:FE00021",
                "type": "cage",
                "cabinets": [
                    {
                        "name": "CH1:05:FE00021:0101",
                        "type": "cabinet",
                        "circuits": [
                            {
                                "name": "20744057",
                                "type": "circuit"
                            }
                        ]
                    }
                ],
                "circuits": null
            },
            {
                "name": "CH1:05:BCM000",
                "type": "cage",
                "cabinets": [
                    {
                        "name": "CH1:05:BCM000:9999",
                        "type": "cabinet",
                        "circuits": [
                            {
                                "name": "15137957",
                                "type": "circuit"
                            },
                            {
                                "name": "20679433",
                                "type": "circuit"
                            },
                            {
                                "name": "20626057",
                                "type": "circuit"
                            }
                        ]
                    }
                ],
                "circuits": null
            }
        ]
    },
    "status": {
        "type": "INFO",
        "statuscode": "1000",
        "msg": "OK"
    }
}

 

The description of the response payload is as follows:

 

Field name Type Example Description
cages array of Cages object    
name string CH1:05:FE00021 Cage unique space identifier.
type string cage Type of the space asset.
cabinets array of Cabinet objects    
cabinets.name string CH1:05:FE00021.0101 Cabinet name.
cabinets.type string cabinet Type of the space asset.
cabinets.circuits array of Circuits objects    
cabinets.circuits.name string 15137957

Circuit name.

cabinets.circuits.type string circuit Type of the space asset.
circuits array of CircuitsMapWithCage object    
circuits.name string 877484 Circuit name.
circuits.type string

circuit

Type of the space asset.

 

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

 


body: 

Get asset tag point

GET /asset/v1/tagpoint/current

 Method  GET
 URL or End Point  /asset/v1/tagpoint/current
 Headers  Authorization, Content-Type
 Query Parameters  accountNo, ibx, tagId
 Body  Not applicable

 

Given an account number, IBX code, and asset tag point, return its latest value.

 

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

 

The following screenshots show a sample curl request to get asset tagpoint and a JSON response containing result. 

 

curl -X 

GET "https://api.equinix.com/asset/v1/tagpoint/current?accountNo=1&ibx=CH1&tagId=CH1.Lead%20Chilled%20Water%20Manager:primarychilledwatersupplytemperature"     

-H "content-type: application/json"

-H "authorization: Bearer asxQMSbBwcNzI2fCCNwSwTh3phV2' 

 

The description of the query parameters is as follows:

 

Query Parameter Name Mandatory Type Example Applicable values Description
accountNo Y string 1234   Customer account number
ibx Y string CH1  

Name of the IBX for which data is being requested.

tagId Y string CH1.Lead Chilled Water Manager:primarychilledwatersupplytemperature   Unique identifier for the tagpoint.

 

{
    "payLoad": [
        {
            "value": "5.7",
            "tagId": "CH1.Lead Chilled Water Manager:primarychilledwatersupplytemperature",
            "tagDisplayName": "Primary Chilled Water Supply Temperature",
            "uom": "°C",
            "readingTime": "20190218225701"
        }
    ],
    "status": {
        "type": "INFO",
        "statuscode": "1000",
        "msg": "OK"
    }
}

 

The description of the response payload is as follows:

 

Field name Type Example Description
value string 4.9 Current data value for the tag point.
tagId string CH1.Chiller1:evapleavingwatertemperature Unique identifier for the tag point.
tagDisplayName string Evaporator leaving water temperature Display name for the tag point.
uom string oC Unit of measure for the tag point data value.
alarmStatus string OK

Alarm status for the tag point.

readingTime string

20170907060449

Date-time when the tag point value was read from the device.

 

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

 


body: 

POST asset tagpoints

POST /asset/v1/tagpoint/current

 Method  POST
 URL or End Point  /asset/v1/tagpoint/current
 Headers  Authorization, Content-Type
 Query Parameters  Not applicable
 Body  accountNo, ibx, tagId

 

Given an account number, IBX code, and asset tag point, return its latest value.

 

 

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

 

The following screenshots show a sample curl request to get asset tagpoint and a JSON response containing result. 

 

 

curl -X 

POST https://api.equinix.com/asset/v1/tagpoint/current

-H 'content-type: application/json' 

-H 'authorization: Bearer jBilbaA9AAdePnHhQLC29ZK7fj5b' 

-d '{
  "accountNo": "1",
  "tagIds": [
    "CH1.Lead Chilled Water Manager:primarychilledwatersupplytemperature",
    "CH1.UPS-5:batterytimeremaining"
  ],
  "ibx": "CH1"
}'

 

The description of the request payload is as follows:

 

 

Body Parameter Name Mandatory Type Example Applicable values Description
accountNo Y string 1234   Customer account number
ibx Y string CH1  

Name of the IBX for which data is being requested.

tagIds Y string CH1.Lead Chilled Water Manager:primarychilledwatersupplytemperature, CH1.UPS-5:batterytimeremaining   Unique identifier list for the tagpoints.

 

{
    "payLoad": [
        {
            "value": "AVAILABLE DURING DISCHARGE",
            "tagId": "CH1.UPS-5:batterytimeremaining",
            "tagDisplayName": "Battery Time Remaining",
            "uom": "",
            "readingTime": "20190218233515"
        },
        {
            "value": "5.7",
            "tagId": "CH1.Lead Chilled Water Manager:primarychilledwatersupplytemperature",
            "tagDisplayName": "Primary Chilled Water Supply Temperature",
            "uom": "°C",
            "readingTime": "20190218225701"
        }
    ],
    "status": {
        "type": "INFO",
        "statuscode": "1000",
        "msg": "OK"
    }
}

 

The description of the response payload is as follows:

 

Field name Type Example Description
value string 4.9 Current data value for the tag point.
tagId string CH1.Chiller1:evapleavingwatertemperature Unique identifier for the tag point.
tagDisplayName string Evaporator leaving water temperature Display name for the tag point.
uom string oC Unit of measure for the tag point data value.
alarmStatus string OK

Alarm status for the tag point.

readingTime string

20170907060449

Date-time when the tag point value was read from the device.

 

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

 


body: 

Environment APIs


body: 

GET Environment for a level

GET /environment/v1/current

 Method  GET
 URL or End Point  /environment/v1/current
 Headers  Authorization, Content-Type
 Query Parameters  accountNo, ibx, levelType, levelValue
 Body  Not applicable

 

Given an account number, IBX code, get current environment data for a single level value. returns environment info ( temperature and humidity ) for input IBX, zone, cage, sensor. 

 

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

 

The following screenshots show a sample curl request to get assets details for the account number 1 and a JSON response containing the result. 

 

curl -X 

GET  'https://api.equinix.com/environment/v1/current?accountNo=1&ibx=CH1&levelType=IBX&levelValue=CH1'
-H 'Authorization: Bearer vtIPc5PfMDw1mML4WzHEhb10e6V9'
-H 'Content-Type: application/json'

 

The description of the query parameters is as follows:

 

Query Parameter Name Mandatory Type Example values Applicable values Description
accountNo Y string 1234   Customer account number
ibx Y string AB2  

Name of the IBX for which data is being requested.

levelType Y string IBX IBX, ZONE, CAGE, SENSOR Enum value indication the level type for which to fetch the list for.
levelValue Y levelValue AB2   Unique identifier for the type is ibxCode, zoneUsID, cageUsID, sensorid for
levelType ibx, zone, cage, sensor respectively.

 

{
    "payLoad": {
        "ibx": "CH1",
        "accountNo": "1",
        "zone": "ALL",
        "cage": "ALL",
        "cabinet": "ALL",
        "sensor": "ALL",
        "temperature": "21.0",
        "humidity": "35.78",
        "timestamp": "1552275932446",
        "temperatureUom": "°C",
        "humidityUom": "%"
    },
    "status": {
        "type": "INFO",
        "statuscode": "1000",
        "msg": "OK"
    }
}

 

The description of the response payload is as follows:

 

Field name Type Example Description
ibx string CH1 Name of the IBX.
accountNumber number 1234 Customer account number.
 zone string

CH1:1:05:ColoArea:2

Zone unique space identifier.
cage string

CH1:05:000550  

Cage unique space identifier.
cabinet string CH1:05:000550:0105 Cabinet unique space identifier.
sensor string CH1.Colo.CH1_05_000550_0105 Sensor unique identifier.
temperature string 20.0 Current temperature.
humidity string 60.0 Current humidity.
timestamp string 1506665106579 Epoch timestamp when the current reading was read.
temperatureUom string oC

Unit of measure for temperature values.

humidityUom string

%

Unit of measure for humifity values.

 

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

 


body: 

GET Environment for a level type

GET /environment/v1/listCurrent

 Method  GET
 URL or End Point  /environment/v1/listCurrent
 Headers  Authorization, Content-Type
 Query Parameters  accountNo, ibx, levelType
 Body  Not applicable

 

Given an account number, IBX code, get current environment data for all level values for a level type. returns environment info ( temperature and humidity ) for input ibx, zone, cage, sensor

 

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

 

The following screenshots show a sample curl request to get assets details for the account number 1 and a JSON response containing result. 

 

curl -X 

GET  'https://api.equinix.com/environment/v1/listCurrent?accountNo=1&ibx=CH1&levelType=IBX'
-H 'Authorization: Bearer vtIPc5PfMDw1mML4WzHEhb10e6V9'
-H 'Content-Type: application/json'

 

The description of the query parameters is as follows:

 

Query Parameter Name Mandatory Type Example values Applicable values Description
accountNo Y string 1234   Customer account number
ibx Y string AB2  

Name of the IBX for which data is being requested.

levelType Y string IBX IBX, ZONE, CAGE, SENSOR Enum value indication the level type for which to fetch the list for.

 

{
    "payLoad": {
        "totalCount": 2,
        "data": [
            {
                "ibx": "CH1",
                "accountNo": "1",
                "zone": "CH1:1:05:ColoArea:2",
                "cage": "ALL",
                "cabinet": "ALL",
                "sensor": "ALL",
                "temperature": "21.1",
                "humidity": "35.50",
                "timestamp": "1552277740599",
                "temperatureUom": "°C",
                "humidityUom": "%"
            },
            {
                "ibx": "CH1",
                "accountNo": "1",
                "zone": "CH1:1:05:ColoArea:3",
                "cage": "ALL",
                "cabinet": "ALL",
                "sensor": "ALL",
                "temperature": "20.7",
                "humidity": "28.80",
                "timestamp": "1552277787927",
                "temperatureUom": "°C",
                "humidityUom": "%"
            }
        ]
    },
    "status": {
        "type": "INFO",
        "statuscode": "1000",
        "msg": "OK"
    }
}

 

The description of the response payload is as follows:

 

Field name Type Example Description
totalCount integer 2 Total number of data values.
data array list   Array of all level values.
ibx string CH1 Name of the IBX.
accountNumber number 1234 Customer account number.
 zone string

CH1:1:05:ColoArea:2

Zone unique space identifier.
cage string

CH1:05:000550  

Cage unique space identifier.
cabinet string CH1:05:000550:0105 Cabinet unique space identifier.
sensor string CH1.Colo.CH1_05_000550_0105 Sensor unique identifier.
temperature string 20.0 Current temperature.
humidity string 60.0 Current humidity.
timestamp string 1506665106579 Epoch timestamp when the current reading was read.
temperatureUom string oC

Unit of measure for temperature values.

humidityUom string

%

Unit of measure for humidity values.

 

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

 


body: 

Power APIs

 


body: 

Get Power data

GET /power/v1/current

 Method  GET
 URL or End Point  /power/v1/current
 Headers  Authorization, Content-Type
 Query Parameters  accountNo, ibx, levelType, levelValue
 Body  Not applicable

 

The Get Power Current API, returns the power consumption info for all level values, given a customer account number, IBX and level type of ibx, cage, cabinet or circuit.

 

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

 

The following screenshots show a sample curl request to obtain designated ports and a JSON response containing details of port information. 

 

curl -X

GET "https://api.equinix.com/power/v1/current?accountNo=1&ibx=CH1&levelType=IBX&levelValue=CH1"

-H "accept: application/json"

-H "Authorization: Bearer PMQuChryibV7JFRfNuA3fLV8Hw1x"

 

The description of the query parameters is as follows:

 

Query Parameter Name

Mandatory

Type

Example

Applicable values

Description

accountNo

Y

string

1234

 

Customer account number.

ibx

Y

string

CH1  

Name of the IBX for which data is being requested.

levelType

Y

string

IBX

IBX, CAGE, CABINET, CIRCUIT

 Indicates which of the level types.

LevelValue

Y

string

CH1

 

Indicates the level value corresponding to the levelType - ibx code, cage unique space id, cabinet unique space id, serial number for levelType ibx, cage, cabinet, circuit respectively.

 

{
  "payLoad": {
    "ibx": "CH1",
    "accountNo": "1",
    "levelType": "IBX",
    "levelValue": "CH1",
    "isAlarm": null,
    "kva": 175.334,
    "amps": null,
    "soldKva": 1370.285,
    "cabinetRating": null,
    "contractualKva": 373.9,
    "percentageKva": 46.893,
    "comparisonData": {
      "datapoint": "percentageKva",
      "yesterday": -0.106,
      "lastweek": -0.034,
      "lastmonth": 2.379,
      "lastquarter": 2.964
    },
   "peakKvaLastSevenDays": 176.195,
    "peakKvaLastSevenDaysPercentage": 47.123,
    "peakKvaLastSevenDaysContractualKva": 373.899,
    "peakKvaLastSevenDaysTime": null,
    "soldAmps": null,
    "primaryKva": 111.586,
    "redundantKva": 63.747,
    "kw": "NA",
    "powerFactor": "NA",
    "readingTime": "1550379600000",
    "lastUpdatedTime": "1550379960000",
    "customerName": "EQUINIX"
  },
  "status": {
    "type": "INFO",
    "statuscode": "1000",
    "msg": "OK"
  }
}

 

The description of the response payload is as follows:

 

Field Name 

Type

Example

Description

 ibx

string

ABC

IBX code

accountNumber

string

ABC

Customer account number

levelType

string

ibx 

Enum:

Array [4]

Power hierarchy node levelType, linked to the power data.

levelValue

string

ABC

Power hierarchy node levelValue, linked to the power data

isAlarm

string

true

Boolean based on breaker tip alarm

kva

number

54.402

Power consumption in kva

amps

number

123

Instantaneous current amp reading on circuits

soldKva

number

598.349

Maximum amp draw, allowable on a circuit

cabinetRating

number

341.54

Maximum kVA draw allowed for the cabinet, when the levelType is cabinet. Null otherwise.

contractualKva

number

341.54

Maximum power draw contractually allowable in a private cage.

percentageKva

number

341.54

Calculated field kva divided by contractualKva

comparisonData

object

 

ComparisonData{...}

peakKvaLastSevenDays

number

55.296

 

peakKvaLastSevenDaysPercentage

number

55.296

 

peakKvaLastSevenDaysContractualKva

number

55.296

 

peakKvaLastSevenDaysTime

integer

55.296

 

soldAmps

integer

123

Circuit description when the levelType is circuit. Null otherwise.

primaryKva

number

28.31

Sum of instantaneous power draw reading on all the primary circuits within the levelType.

redundantKva

number

26.092

Sum of instantaneous power draw reading on all the redundant circuits within the levelType.

kw

string

NA

Measure of real power expressed in KiloWatt. Applicable for IBXs
that have capability of energy meter reading. The value will be “NA” for AMER and APAC regions

powerFactor

string

NA

Ratio between real power and apparent power in a circuit.(kW/kVA)|value will be “NA” for AMER and APAC regions

readingTime

string

1497410400000

Date-time when the latest value was read in (epoc - milliseconds).

lastUpdatedTime

string

1497410520000

Date-time when the latest value was updated (epoc - milliseconds).

customerName

string

ABC

 

 

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

 


body: 

Post Power data for a given level type

POST /power/v1/current

 Method  POST
 URL or End Point  /power/v1/current
 Headers  Authorization, Content-Type
 Query Parameters  Not applicable
 Body  accountNo, ibx, levelType

 

Given a customer account number, IBX and level type of ibx, cage, cabinet or circuit, returns the power consumption info for all level values.

 

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

 

The following screenshots show a sample curl request to obtain power data for the account number 1 and a JSON response containing power data. 

 

curl -X 

POST "https://api.equinix.com/power/v1/current  

-H "content-type: application/json"
-H "authorization: Bearer R2KsiEM1ATlhBr8YdJqkHhbqZfdq"  
-d '{
     "accountNo": "1",
     "ibx": "CH1",
     "levelType": "IBX"
}'

 

The description of the request payload is as follows:

 

Body Parameter Name Mandatory Type Example Applicable values Description
accountNo Y string 1234   Customer account number
ibx Y string AB2  

Name of the IBX for which data is being requested.

levelType Y string IBX IBX, CAGE, CABINET, CIRCUIT Indicates which of the following level types.

 

 

{
    "payLoad": {
        "data": [
            {
                "ibx": "CH1",
                "accountNo": "1",
                "levelType": "IBX",
                "levelValue": "CH1",
                "isAlarm": null,
                "kva": 175.951,
                "amps": null,
                "soldKva": 1370.285,
                "cabinetRating": null,
                "contractualKva": 373.9,
                "percentageKva": 47.058,
                "comparisonData": {
                    "datapoint": "percentageKva",
                    "yesterday": 0.213,
                    "lastweek": 0.497,
                    "lastmonth": 2.751,
                    "lastquarter": 3.049
                },
                "peakKvaLastSevenDays": 176.195,
                "peakKvaLastSevenDaysPercentage": 47.123,
                "peakKvaLastSevenDaysContractualKva": 373.899,
                "peakKvaLastSevenDaysTime": null,
                "soldAmps": null,
                "primaryKva": 111.794,
                "redundantKva": 64.157,
                "kw": "NA",
                "powerFactor": "NA",
                "readingTime": "1550506500000",
                "lastUpdatedTime": "1550506860000",
                "customerName": "EQUINIX"
            }
        ]
    },
    "status": {
        "type": "INFO",
        "statuscode": "1000",
        "msg": "OK"
    }
}

 

The description of the response payload is as follows:

 

Field name Type Example Description
 ibx string AB1 IBX code
accountNo string 123 Customer account number
levelType string IBX Indicates the level type.
levelValue string AB1 Indicates the level value for the given level type.
isAlarm string true, false Boolean based on breaker trip alarm.
kva number 54.402 Power consumption in KVA
amps number 123 Instantaneous current amp reading on circuits.
soldKva number 598.349 Maximum amp draw, allowable on a circuit.
cabinetRating number 341.54

Maximum kVA draw allowed for the cabinet, when the level type is cabinet. Null otherwise.

contractualKva number 341.54 Maximum power draw contractually allowable in a power cage.
percentageKva number 341.54 Calculated field kVA divided by the contractual kVA.
comparisionData object   comparisonData{...}
peakKvaLastSevenDays number 55.296  
PeakKvaLastSevenDaysPercentage number 55.296  
PeakKvaLastSevenDaysContractualKva number 55.296  
PeakKvaLastSevenDaysTime number 55.296  
soldAmps number 123 Circuit description when the level type is circuit. Null otherwise.
primaryKva number 28.31 Sum of instantaneous power draw reading on all the primary circuits within the level type.
redundantKva number 26.092 Sum of instantaneous power draw reading on all the redundant circuits within the level type.
kw string NA Measure of real power expressed in KiloWatt. Applicable to IBXs that have the capability of energy meter reading. The value will be "NA" for AMER and APAC regions.
powerFactor string NA Ratio between the real power and apparent power in a circuit (KW/KVA). Value will be "NA" for AMER and APAC regions.
readingTime string 1497410400 Date-time when the latest value was read in (epoc - milliseconds).
lastUpdatedTime string 1497410400 Date-time when the latest value was updated in (epoc - milliseconds).
customerName string ABC Name of the customer.

 

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

 


body: 

Hierarchy APIs

 


body: 

Get Location hierarchy

GET /hierarchy/v1/location

 Method  GET
 URL or End Point  /hierarchy/v1/location
 Headers  Authorization, Content-Type
 Query Parameters  accountNo, ibx
 Body  Not applicable

 

Given an account number, IBX code, and an assetId, return the corresponding locations hierarchy of related assets.

 

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

 

The following screenshots show a sample curl request to get location hierarchy details for the given account number and IBX and a JSON response containing result. 

 

curl -X 

GET "https://api.equinix.com/hierarchy/v1/location?accountNo=123&ibx=SV4"    

-H "content-type: application/json"

-H "authorization: Bearer asxQMSbBwcNzI2fCCNwSwTh3phV2' 

 

The description of the query parameters is as follows:

 

Query Parameter Name Mandatory Type Example Applicable values Description
accountNo Y string 1234   Customer account number
ibx Y string AB2  

Name of the IBX for which data is being requested.

 

[
  {
    "levelType": "IBX",
    "levelValue": "SV4",
    "label": "SV4",
    "children": [
      {
        "levelType": "ZONE",
        "levelValue": "SV4:1:01:ColoA:1",
        "label": "SV4:1:01:ColoA:1",
        "children": [
          {
            "levelType": "CAGE",
            "levelValue": "1852",
            "label": "SV4:01:001150",
            "children": [
              {
                "levelType": "CABINET",
                "levelValue": "138094",
                "label": "SV4:01:001150:0000",
                "children": []
              },
              {
                "levelType": "CABINET",
                "levelValue": "74147",
                "label": "SV4:01:001150:0101",
                "children": []
              }
            ]
          }
        ]
      },
      {
        "levelType": "ZONE",
        "levelValue": "SV4:1:01:ColoB:2",
        "label": "SV4:1:01:ColoB:2",
        "children": [
          {
            "levelType": "CAGE",
            "levelValue": "1948",
            "label": "SV4:01:002100",
            "children": [
              {
                "levelType": "CABINET",
                "levelValue": "139474",
                "label": "SV4:01:002100:0000",
                "children": []
              },
              {
                "levelType": "CABINET",
                "levelValue": "78970",
                "label": "SV4:01:002100:0102",
                "children": []
              }
            ]
          },
          {
            "levelType": "CAGE",
            "levelValue": "2053",
            "label": "SV4:01:002520",
            "children": [
              {
                "levelType": "CABINET",
                "levelValue": "137692",
                "label": "SV4:01:002520:0000",
                "children": []
              }
            ]
          }
        ]
      }
    ]
  }
]

 

The description of the response payload is as follows:

Field name Type Example Description
levelType string ibx, zone, cage, cabinet, sensor Indicates the level at which a node in the location hierarchy belongs to.
levelValue string SV4 Indicates the concrete name of the level type such as the IBX code, zone usId, cage usId, cabinet usId, sensor number.
label string cage Type of the space asset.
children list of ordered map with children   See example JSON response above.

 

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

 


body: 

Get Power hierarchy

GET /hierarchy/v1/power

 Method  GET
 URL or End Point  /hierarchy/v1/power
 Headers  Authorization, Content-Type
 Query Parameters  accountNo, ibx
 Body  Not applicable

 

Given an account number, IBX code, and an assetId, return the corresponding power hierarchy of related assets.

 

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

 

The following screenshots show a sample curl request to get power hierarchy details for the given account number and IBX and a JSON response containing result. 

 

curl -X 

GET "https://api.equinix.com/hierarchy/v1/power?accountNo=123&ibx=SV4"     

-H "content-type: application/json"

-H "authorization: Bearer asxQMSbBwcNzI2fCCNwSwTh3phV2' 

 

The description of the query parameters is as follows:

 

Query Parameter Name Mandatory Type Example Applicable values Description
accountNo Y string 1234   Customer account number
ibx Y string AB2  

Name of the IBX for which data is being requested.

 

[
    {
        "levelType": "IBX",
        "levelValue": "SV4",
        "label": "SV4",
        "children": [
            {
                "levelType": "CAGE",
                "levelValue": "1844",
                "label": "SV4:01:000120",
                "children": [
                    {
                        "levelType": "CABINET",
                        "levelValue": "74006",
                        "label": "SV4:01:000120:0101",
                        "children": [
                            {
                                "levelType": "CIRCUIT",
                                "levelValue": "20853717",
                                "label": "120V 20A 1Ph Red (3717)",
                                "children": []
                            },
                            {
                                "levelType": "CIRCUIT",
                                "levelValue": "20853716",
                                "label": "120V 20A 1Ph Pri (3716)",
                                "children": []
                            }
                        ]
                    },
                    {
                        "levelType": "CABINET",
                        "levelValue": "74007",
                        "label": "SV4:01:000120:0103",
                        "children": [
                            {
                                "levelType": "CIRCUIT",
                                "levelValue": "20853719",
                                "label": "120V 20A 1Ph Red (3719)",
                                "children": []
                            },
                            {
                                "levelType": "CIRCUIT",
                                "levelValue": "14158128",
                                "label": "120V 20A 1Ph Pri (8128)",
                                "children": []
                            }
                        ]
                    }
                ]
            },
            {
                "levelType": "CAGE",
                "levelValue": "6451",
                "label": "SV4:01:000130",
                "children": [
                    {
                        "levelType": "CABINET",
                        "levelValue": "102831",
                        "label": "SV4:01:000130:0101",
                        "children": [
                            {
                                "levelType": "CIRCUIT",
                                "levelValue": "865343",
                                "label": "120V 20A 1Ph Pri (5343)",
                                "children": []
                            },
                            {
                                "levelType": "CIRCUIT",
                                "levelValue": "865335",
                                "label": "120V 20A 1Ph Pri (5335)",
                                "children": []
                            }
                        ]
                    },
                    {
                        "levelType": "CABINET",
                        "levelValue": "102832",
                        "label": "SV4:01:000130:0102",
                        "children": [
                            {
                                "levelType": "CIRCUIT",
                                "levelValue": "1129134",
                                "label": "120V 20A 1Ph Red (9134)",
                                "children": []
                            },
                            {
                                "levelType": "CIRCUIT",
                                "levelValue": "1129133",
                                "label": "120V 20A 1Ph Pri (9133)",
                                "children": []
                            }
                        ]
                    }
                ]
            },
            {
                "levelType": "CAGE",
                "levelValue": "104154",
                "label": "SV4:01:VBCM000-1-271",
                "children": [
                    {
                        "levelType": "CABINET",
                        "levelValue": "104158",
                        "label": "SV4:01:VBCM000-1-271:V9999",
                        "children": [
                            {
                                "levelType": "CIRCUIT",
                                "levelValue": "818563",
                                "label": "120V 20A 1Ph Red (8563)",
                                "children": []
                            },
                            {
                                "levelType": "CIRCUIT",
                                "levelValue": "20184661",
                                "label": "120V 20A 1Ph Pri (4661)",
                                "children": []
                            }
                        ]
                    }
                ]
            }
        ]
    }
]

 

The description of the response payload is as follows:

Field name Type Example Description
levelType string IBX Indicates the level at which a node in the location hierarchy belongs to. Applicable values are - IBX, CAGE, CABINET, CIRCUIT
levelValue string SV4 Indicates the concrete name of the level type such as the IBX code, cage usId, cabinet usId, circuit usId
label string cage Type of the space asset.
children list of ordered map with children   See example JSON response above.

 

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

 


body: 

Subscriptions APIs

 


body: 

Get subscriptions

GET /feedsubscriptions/v1/subscribe

 Method  GET
 URL or End Point  /feedsubscription/v1/subscribe
 Headers  Authorization, Content-Type
 Query Parameters  Not applicable
 Body  Not applicable

 

It allows users to view their respective near real-time feeds subscription with details. Lists events currently subscribed to. Returns subscription details with a subscription ID. It includes the Power, Asset Tag, and Config information. The subscription config allows you to specify the provider [ GOOGLE, AZURE, AWS], the method [PUSH, PULL] and a push URL if the method of choice is PUSH.

The provider supports only PULL method. PUSH method and URL are currently not implemented.

 

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

 

The following screenshots show a sample curl request to get the subscriptions list for the user and a JSON response containing the result. 

 

curl -X 

GET "https://api.equinix.com/registration/v1/subscribe"     

-H "content-type: application/json"                                                                            
-H "authorization: Bearer asxQMSbBwcNzI2fCCNwSwTh3phV2' 

 

{
    "power": [
        {
            "ucmId": null,
            "accountNo": "1",
            "ibx": "CH1"
        }
    ],
    "asset": [],
    "alarm": [],
    "alert": [],
    "environment": [],
    "subscriptionId": "5c509e8aabe10e6cda419128",
    "subscriptionName": "projects/equinix-dcim-feeds/subscriptions/joe23%40abc.com",
    "status": "OK",
    "errors": [],
    "config": {
        "method": "PULL",
        "provider": "GOOGLE"
    }
}

 

The description of the response payload is as follows:

Field name Type Example Description
 power object   Power events subscription details. 
accountNo string 123 Customer account number.
ibx string AB2 IBX code
asset object   Assets events subscription details.
accountNo string 123 Customer account number.
ibx string AB2 IBX code
alarm object   Alarms events subscription details.
accountNo string 123 Customer account number.
ibx string AB2 IBX code
alert object   Alerts events subscription details.
accountNo string 123 Customer account number.
ibx string AB2 IBX code
environment object   Environments events subscription details.
accountNo string 123 Customer account number.
ibx string AB2 IBX code
subscriptionId number 1234 Unique identifier for the subscription
subscriptionName string   Unique subscription name
status string CH1 IBX code for the IBX in which the asset is located.
config object  

Cloud agnostic, Pub/Sub provider information.

provider string GOOGLE, AZURE, AWS

Pub/Sub implementation to be used for consuming real-time events.

Note: Only GOOGLE is supported currently.

method string PULL, PUSH

Subscription method.

Note: Only PULL is supported currently.

pushurl string  

Push URL, this is mandatory when the method is PUSH.

Note: Not Supported currently.

status string OK, PARTIAL, SUCCESS, ERROR Response status.
error object   API error.

 

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

 


body: 

Get subscriptions by Id

GET /feedsubscriptions/v1/subscribe/{subscriptionId}

 Method  GET
 URL or End Point  /feedsubscription/v1/subscribe/{subscriptionId}
 Headers  Authorization, Content-Type
 Query Parameters  Not applicable
 Body  Not applicable

 

 

It allows users to view their respective near real-time feeds subscription details. Lists events currently subscribed to.

 

Note: The provider supports only PULL method. PUSH method and URL are currently not implemented.

 

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

 

The following screenshots show a sample curl request to get an existing subscription for the user and a JSON response containing the result. 

 

curl -X 

GET "https://api.equinix.com/registration/v1/subscribe/5c4f7103ce9a9d4903419128"     

-H "content-type: application/json"                                                                            
-H "authorization: Bearer asxQMSbBwcNzI2fCCNwSwTh3phV2' 

 

{
    "power": [
        {
            "ucmId": null,
            "accountNo": "1",
            "ibx": "CH1"
        }
    ],
    "asset": [
        {
            "ucmId": null,
            "accountNo": "1",
            "ibx": "CH1"
        }
    ],
    "alarm": [],
    "alert": [],
    "environment": [],
    "subscriptionId": "5c509e8aabe10e6cda419128",
    "subscriptionName": "projects/equinix-dcim-feeds/subscriptions/joe23%40abc.com",
    "status": "OK",
    "errors": [],
    "config": {
        "method": "PULL",
        "provider": "GOOGLE"
    }
}

 

The description of the response payload is as follows:

 

Field name Type Example Description
 power object   Power events subscription details. 
accountNo string 123 Customer account number.
ibx string AB2 IBX code
asset object   Assets events subscription details.
accountNo string 123 Customer account number.
asset.ibx string AB2 IBX code
alarm object   Alarms events subscription details.
accountNo string 123 Customer account number.
ibx string AB2 IBX code
alert object   Alerts events subscription details.
accountNo string 123 Customer account number.
ibx string AB2 IBX code
environment object   Environments events subscription details.
accountNo string 123 Customer account number.
ibx string AB2 IBX code
subscriptionId number 1234 Unique identifier for the subscription
subscriptionName string   Unique subscription name
status string CH1 IBX code for the IBX in which the asset is located.
config object  

Cloud agnostic, Pub/Sub provider information.

provider string GOOGLE, AZURE, AWS

Pub/Sub implementation to be used for consuming real-time events.

method string PULL, PUSH

Subscription method.

Note: Only PULL is supported currently.

pushurl string  

Push URL, this is mandatory when the method is PUSH.

Note: Not Supported currently.

status string OK, PARTIAL, SUCCESS, ERROR Response status.
error object   API error.

 

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

 


body: 

Post subscriptions

POST /feedsubscriptions/v1/subscribe

 Method  POST
 URL or End Point  /feedsubscription/v1/subscribe
 Headers  Authorization, Content-Type
 Query Parameters  Not applicable
 Body  Not applicable

 

It allows users to register for near real-time feeds.

  • User will have the ability to specify the events for each account, IBX - which will be available as near real-time feeds
  • Depending on the mechanism selected for the near real-time feed integration user will have to specify configuration parameters.

 

It includes the Power, Asset Tag, and Config information. The subscription config allows you to specify the provider [ GOOGLE, AZURE, AWS], the method [PUSH, PULL] and a push URL if the method of choice is PUSH.

 

Note: The provider supports only PULL method. PUSH method and URL are currently not implemented.

 

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

 

The following screenshots show a sample curl request to create a new subscription for the user and a JSON response containing the result. 

 

curl -X 

POST https://api.equinix.com/registration/v1/subscribe 

-H 'content-type: application/json' 

-H 'authorization: Bearer ea28LIRkdIEjIDpIHo9B40seYIWs' 
-d '{
    "power": [
    {
      "accountNo": "1",
      "ibx": "CH1"
    }
  ],
  "config": {
    "provider": "GOOGLE",
    "method": "PULL"
  }
}'                     

 

 

The description of the request payload is as follows:

 

Body Parameter Name Mandatory Type Example values Applicable values Description
power N object     Power events subscription details.
accountNo N string   123 Customer account number
ibx N string   AB2

Name of the IBX for which data is being requested.

asset N object     Assets events subscription details.
accountNo N string   123 Customer account number.
ibx N string   AB2 Name of the IBX for which data is being requested.
alarm N object     Alarms events subscription details.
accountNo N string   123 Customer account number.
ibx N string   AB2 Name of the IBX for which data is being requested.
alert N object     Alerts events subscription details.
accountNo N string   123 Customer account number.
ibx N string   AB2 Name of the IBX for which data is being requested.
environment N object      
accountNo N string   123 Customer account number.
ibx N string   AB2 Name of the IBX for which data is being requested.
config Y object     Subscription configuration.
provider Y string   GOOGLE, AZURE, AWS

Pub/Sub implementation to be used for consuming real-time events.

method Y string   PULL, PUSH

Subscription method.

Note: Only PULL is supported currently.

pushurl N string    

Push URL, this is mandatory when the method is PUSH.

Note: Not Supported currently.

 

 

{
    "power": [
        {
            "ucmId": null,
            "accountNo": "1",
            "ibx": "CH1"
        }
    ],
    "asset": [],
    "alarm": [],
    "alert": [],
    "environment": [],
    "subscriptionId": "5c509e8aabe10e6cda419128",
    "subscriptionName": "projects/equinix-dcim-feeds/subscriptions/joe23%40abc.com",
    "status": "OK",
    "errors": [],
    "config": {
        "method": "PULL",
        "provider": "GOOGLE"
    }
}

 

The description of the response payload is as follows:

 

Field name Type Example Description
 power object   Power events subscription details. 
accountNo string 123 Customer account number.
ibx string AB2 IBX code
asset object   Assets events subscription details.
accountNo string 123 Customer account number.
ibx string AB2 IBX code
alarm object   Alarms events subscription details.
accountNo string 123 Customer account number.
ibx string AB2 IBX code
alert object   Alerts events subscription details.
accountNo string 123 Customer account number.
ibx string AB2 IBX code
environment object   Environments events subscription details.
accountNo string 123 Customer account number.
ibx string AB2 IBX code
subscriptionId number 1234 Unique identifier for the subscription
subscriptionName string   Unique subscription name
status string CH1 IBX code for the IBX in which the asset is located.
config object  

Cloud agnostic, Pub/Sub provider information.

provider string GOOGLE, AZURE, AWS

Pub/Sub implementation to be used for consuming real-time events.

Note: Only GOOGLE is supported currently.

method string PULL, PUSH

Subscription method.

Note: Only PULL is supported currently.

pushurl string  

Push URL, this is mandatory when the method is PUSH.

Note: Not Supported currently.

status string OK, PARTIAL, SUCCESS, ERROR Response status.
error object   API error.

 

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

 


body: 

Put subscriptions

PUT /feedsubscriptions/v1/subscribe

 Method  PUT
 URL or End Point  /feedsubscription/v1/subscribe
 Headers  Authorization, Content-Type
 Query Parameters  Not applicable
 Body  Not applicable

 

It allows users to update an existing subscription to near real-time feed to add or remove events. It includes the Power, Asset Tag, and Config information.

The subscription config allows you to specify the provider [ GOOGLE, AZURE, AWS], the method [PUSH, PULL] and a push URL if the method of choice is PUSH.

 

Note: The provider supports only PULL method. PUSH method and URL are currently not implemented.

 

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

 

The following screenshots show a sample curl request to update an existing subscription for the user and a JSON response containing the result. 

 

curl -X 

PUT https://api.equinix.com/registration/v1/subscribe/5c4f7103ce9a9d4903419128 

-H 'content-type: application/json' 

-H 'authorization: Bearer ea28LIRkdIEjIDpIHo9B40seYIWs' 
-d '{
  "power": [
  {
  "accountNo": "1",
  "ibx": "CH1"
  }
  ],
  "asset": [
  {
  "accountNo": "1",
  "ibx": "CH1"
  }
  ],
  "config": {
  "method": "PULL",
  "provider": "GOOGLE"
  }
}'
         

 

The description of the request payload is as follows:

 

Body Parameter Name Mandatory Type Example values Applicable values Description
power N object     Power events subscription details.
accountNo N string   123 Customer account number
ibx N string   AB2

Name of the IBX for which data is being requested.

asset N object     Assets events subscription details.
accountNo N string   123 Customer account number.
ibx N string   AB2 Name of the IBX for which data is being requested.
alarm N object     Alarms events subscription details.
accountNo N string   123 Customer account number.
ibx N string   AB2 Name of the IBX for which data is being requested.
alert N object     Alerts events subscription details.
accountNo N string   123 Customer account number.
ibx N string   AB2 Name of the IBX for which data is being requested.
environment N object      
accountNo N string   123 Customer account number.
ibx N string   AB2 Name of the IBX for which data is being requested.
config Y object     Subscription configuration.
provider Y string   GOOGLE, AZURE, AWS

Pub/Sub implementation to be used for consuming real-time events.

method Y string   PULL, PUSH

Subscription method.

Note: Only PULL is supported currently.

pushurl N string    

Push URL, this is mandatory when the method is PUSH.

Note: Not Supported currently.

 

{
    "power": [
        {
            "ucmId": null,
            "accountNo": "1",
            "ibx": "CH1"
        }
    ],
    "asset": [
        {
            "ucmId": null,
            "accountNo": "1",
            "ibx": "CH1"
        }
    ],
    "alarm": [],
    "alert": [],
    "environment": [],
    "subscriptionId": "5c509e8aabe10e6cda419128",
    "subscriptionName": "projects/equinix-dcim-feeds/subscriptions/joe23%40abc.com",
    "status": "OK",
    "errors": [],
    "config": {
        "method": "PULL",
        "provider": "GOOGLE"
    }
}

 

The description of the response payload is as follows:

 

Field name Type Example Description
 power object   Power events subscription details. 
accountNo string 123 Customer account number.
ibx string AB2 IBX code
asset object   Assets events subscription details.
accountNo string 123 Customer account number.
ibx string AB2 IBX code
alarm object   Alarms events subscription details.
accountNo string 123 Customer account number.
ibx string AB2 IBX code
alert object   Alerts events subscription details.
accountNo string 123 Customer account number.
alert.ibx string AB2 IBX code
environment object   Environments events subscription details.
accountNo string 123 Customer account number.
ibx string AB2 IBX code
subscriptionId number 1234 Unique identifier for the subscription
subscriptionName string   Unique subscription name
status string CH1 IBX code for the IBX in which the asset is located.
config object  

Cloud agnostic, Pub/Sub provider information.

provider string GOOGLE, AZURE, AWS

Pub/Sub implementation to be used for consuming the real time events.

Note: Only GOOGLE is supported currently.

method string PULL, PUSH

Subscription method.

Note: Only PULL is supported currently.

pushurl string  

Push URL, this is mandatory when the method is PUSH.

Note: Not Supported currently.

status string OK, PARTIAL, SUCCESS, ERROR Response status.
error object   API error.

 

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

 


body: 

Delete subscriptions

DELETE /feedsubscriptions/v1/subscribe

 Method  DELETE
 URL or End Point  /feedsubscription/v1/subscribe
 Headers  Authorization, Content-Type
 Query Parameters  Not applicable
 Body  Not applicable

 

The API allows users to delete their near real-time feeds subscription. 

 

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

 

The following screenshots show a sample curl request to delete the subscriptions list for the user and a JSON response containing the result. 

 

curl -X 

DELETE "https://api.equinix.com/registration/v1/subscribe"     

-H "content-type: application/json"                                                                            
-H "authorization: Bearer asxQMSbBwcNzI2fCCNwSwTh3phV2' 

 

{
    "power": [
        {
            "ucmId": null,
            "accountNo": "1",
            "ibx": "CH1"
        }
    ],
    "asset": [],
    "alarm": [],
    "alert": [],
    "environment": [],
    "subscriptionId": "5c509e8aabe10e6cda419128",
    "subscriptionName": "projects/equinix-dcim-feeds/subscriptions/joe23%40abc.com",
    "status": "OK",
    "errors": [],
    "config": {
        "method": "PULL",
        "provider": "GOOGLE"
    }
}

 

The description of the response payload is as follows:

 

Field name Type Example Description
 power object   Power events subscription details. 
accountNo string 123 Customer account number.
ibx string AB2 IBX code
asset object   Assets events subscription details.
accountNo string 123 Customer account number.
ibx string AB2 IBX code
alarm object   Alarms events subscription details.
accountNo string 123 Customer account number.
ibx string AB2 IBX code
alert object   Alerts events subscription details.
accountNo string 123 Customer account number.
ibx string AB2 IBX code
environment object   Environments events subscription details.
accountNo string 123 Customer account number.
ibx string AB2 IBX code
subscriptionId number 1234 Unique identifier for the subscription
subscriptionName string   Unique subscription name
status string CH1 IBX code for the IBX in which the asset is located.
config object  

Cloud agnostic, Pub/Sub provider information.

provider string GOOGLE, AZURE, AWS

Pub/Sub implementation to be used for consuming real-time events.

method string PULL, PUSH

Subscription method.

Note: Only PULL is supported currently.

pushurl string  

Push URL, this is mandatory when the method is PUSH.

Note: Not Supported currently.

status string OK, PARTIAL, SUCCESS, ERROR Response status.
error object   API error.

 

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

 


body: 

Near Real-Time feeds


body: 

Event Types


body: 
alarm_updated

An alarm was updated. The alarm_active event is sent when an alarm is activated. It is sent to all user - accounts connected to the alarm. The alarm property is an alarm object containing information about the alarm.

 

{

 

   "name": "alarm_active",

        "alarm" : { ... }

}

 


body: 
environment_updated

Environment Data was updated / received.

The environment_updated event is sent when environment data is updated or calculated. It is visible to the all accounts which have cage / cabinet in the location related to the environment information.

The environmentData property is a EnvironmentData object containing the environment information.

 

{

        "name":"environment_updated",

        "data": { ... }

}

 


body: 
power_updated

Power Consumption Data was updated / received.

The power_updated event is sent when power consumption data is received or calculated. It is visible to the user who has access to accounts that own the circuits to which the power consumption data is related to.

The powerData property is a PowerData object containing the power consumption information

 

{

    "name":"power_updated",

    "data": { ... }

}

 


body: 
tagpoint_updated

A tagpoint value was updated.

tagpoint_updated event is sent when a tagpoint data is updated. It is sent to all users who have visibility to the tagpoint.

The tagPointData property is a TagPointData object containing latest information about the tagPoint.

 

{

        "name":"tagpoint_updated",

        "data":{ ... }

}

 


body: 

Object Types


body: 
Alarm

{

    "type": "object",

    "description": "alarm object - properties of the alarm",

    "properties": {

        "timetriggered": {

            "type": "string",

            "description": "time when the criteria for the alarm was met, in epoch (ms)"

        },

        "valuetype": {

            "type": "string",

            "description": "data type for the alarm data point value",

            "enum": [

                "Float",

                "Bool",

                "Int"

            ]

        },

        "severity": {

            "type": "integer",

            "description": "integer value which describes the severity of the alarm. higher values indicate higher severity\n• 800-899 – Urgent\n• 600-699 – High \n• 400-499 – Low \n• 200-299 – Informational\n"

        },

        "timenormalprocessed": {

            "type": "string",

            "description": "time alarm was cleared in the system. \n"

        },

        "circuit": {

            "type": "string",

            "description": "circuit number applicable to power alarms"

        },

        "alarmtype": {

            "type": "string",

            "description": "alarm type indicates the type of alarm",

            "enum": [

                "digital",

                "absolute",

                "deviation",

                "multi-state"

            ]

        },

        "tagid": {

            "type": "string",

            "description": "tag id linked to the alarm. available for alarms on infra assets. unique identifier for the tag\n"

        },

        "uom": {

            "type": "string",

            "description": "unit of measure for the alarm value"

        },

        "cage": {

            "type": "string",

            "description": "cage us id linked to the alarm. available with power alarms or environmental alarms\n"

        },

        "timeprocessed": {

            "type": "string",

            "description": "time when the alarm was created in the system."

        },

        "assetid": {

            "type": "string",

            "description": "asset id linked to the alarm"

        },

        "metro": {

            "type": "string",

            "description": "metro id linked to the alarm"

        },

        "accountno": {

            "type": "string",

            "description": "customer account number"

        },

        "conditionname": {

            "type": "string",

            "description": "condition name for the alarm"

        },

        "region": {

            "type": "string",

            "description": "region linked to the alarm"

        },

        "value": {

            "type": "string",

            "description": "data point value at which the alarm was triggered"

        },

        "cabinet": {

            "type": "string",

            "description": "cabinet us id. applicable for power alarms"

        },

        "assettype": {

            "type": "string",

            "description": "Will contain\n• template name for alarms linked to infra assets.\n• \"environmental\" for environmental alarms.\n• \"CIRCUIT\" for power alarms \n"

        },

        "ibx": {

            "type": "string",

            "description": "ibx code"

        },

        "status": {

            "type": "boolean",

            "description": "indicator whether an alarm is active"

        },

        "assetclassification": {

            "type": "string",

            "description": "asset classification",

            "enum": [

                "Electrical",

                "Mechanical",

                "Environmental",

                "Power"

            ]

        }

    }

}

 


body: 
Alert

"AlertCondition": {

    "type": "object",

    "properties": {

        "affectedCustomerAsset": {

            "type": "null"

        },

        "alertType": {

            "type": "null"

        },

        "asset": {

            "type": "string"

        },

        "assetname": {

            "type": "string"

        },

        "assettype": {

            "type": "string"

        },

        "condalerttypeid": {

            "type": "string"

        },

        "condassetclassification": {

            "type": "string"

        },

        "condassetid": {

            "type": "string"

        },

        "condcurrentvalue": {

            "type": "string"

        },

        "condeventtype": {

            "type": "string"

        },

        "condtagid": {

            "type": "string"

        },

        "customerAssets": {

            "type": "null"

        },

        "ibx": {

            "type": "string"

        },

        "infraAssets": {

            "type": "null"

        },

        "measurementType": {

            "type": "null"

        },

        "region": {

            "type": "null"

        },

        "section": {

            "type": "string"

        },

        "thresholdUnit": {

            "type": "string"

        },

        "thresholdValue": {

            "type": "string"

        },

        "thresholdValueMax": {

            "type": "string"

        },

        "thresholdValueMin": {

            "type": "string"

        },

        "uom": {

            "type": "string"

        }

    }

},

"AlertType": {

    "type": "object",

    "properties": {

        "defaultValue": {

            "type": "null"

        },

        "eventType": {

            "type": "string"

        },

        "id": {

            "type": "string"

        },

        "tagId": {

            "type": "null"

        },

        "type": {

            "type": "string"

        },

        "unit": {

            "type": "string"

        },

        "value": {

            "type": "string"

        }

    }

},

"Alert": {

    "type": "object",

    "properties": {

        "accountNo": {

            "type": "string"

        },

        "acknowledge": {

            "type": "boolean"

        },

        "affectedCustomerAsset": {

            "type": "null"

        },

        "alertType": {

            "": "#/definitions/AlertType"

        },

        "alertTypeName": {

            "type": "string"

        },

        "asset": {

            "type": "string"

        },

        "assetclassification": {

            "type": "string"

        },

        "assetname": {

            "type": "string"

        },

        "assettype": {

            "type": "string"

        },

        "conditionalAlert": {

            "": "#/definitions/AlertCondition"

        },

        "country": {

            "type": "string"

        },

        "createdOn": {

            "type": "null"

        },

        "currentvalue": {

            "type": "string"

        },

        "eventtype": {

            "type": "string"

        },

        "ibx": {

            "type": "string"

        },

        "id": {

            "type": "string"

        },

        "lastmaintenance": {

            "type": "string"

        },

        "metro": {

            "type": "string"

        },

        "modifiedOn": {

            "type": "null"

        },

        "notificationType": {

            "type": "string"

        },

        "region": {

            "type": "string"

        },

        "relatedincidents": {

            "type": "string"

        },

        "resiliency": {

            "type": "string"

        },

        "section": {

            "type": "string"

        },

        "severity": {

            "type": "string"

        },

        "tagid": {

            "type": "string"

        },

        "thresholdUnit": {

            "type": "string"

        },

        "thresholdValue": {

            "type": "string"

        },

        "thresholdValueMax": {

            "type": "string"

        },

        "thresholdValueMin": {

            "type": "string"

        },

        "timeZone": {

            "type": "string"

        },

        "timeacknowledged": {

            "type": "string"

        },

        "timeprocessed": {

            "type": "string"

        },

        "timetriggeredMilisec": {

            "type": "string"

        },

        "triggeredOn": {

            "type": "integer"

        },

        "type": {

            "type": "string"

        },

        "uom": {

            "type": "string"

        },

        "year": {

            "type": "string"

        }

    }

}

 


body: 
EnvironmentData

"EnvironmentData": {

    "type": "object",

    "properties": {

        "ibx": {

            "type": "string",

            "description": "ibx code"

        },

        "accountNo": {

            "type": "string",

            "description": "account number"

        },

        "zone": {

            "type": "string",

            "description": "zone unique space id"

        },

        "cage": {

            "type": "string",

            "description": "cage unique space id"

        },

        "cabinet": {

            "type": "string",

            "description": "cabinet unique space id"

        },

        "sensor": {

            "type": "string",

            "description": "sensor id"

        },

        "temperature": {

            "type": "string",

            "description": "current temperature"

        },

        "humidity": {

            "type": "string",

            "description": "current humidity"

        },

        "timestamp": {

            "type": "string",

            "description": "epoch timestamp when the current reading was read"

        },

        "temperatureUom": {

            "type": "string",

            "description": "unit of measure for temperature values"

        },

        "humidityUom": {

            "type": "string",

            "description": "unit of measure for humidity"

        },

        "minTemperature": {

            "type": "string",

            "description": "minimum temperature for last x(?) hours"

        },

        "maxTemperature": {

            "type": "string",

            "description": "maximum temperature for last x(?) hours"

        },

        "minHumidity": {

            "type": "string",

            "description": "minimum humidity for last x(?) hours"

        },

        "maxHumidity": {

            "type": "string",

            "description": "maximum humidity for last x(?) hours"

        }

    }

}

 


body: 
PowerData

"PowerData": {

    "type": "object",

    "properties": {

        "ibx": {

            "type": "string",

            "description": "ibx code"

        },

        "accountNo": {

            "type": "string",

            "description": "customer account number"

        },

        "levelType": {

            "type": "string",

            "description": "power hierarchy node levelType linked to the power data",

            "enum": [

                "ibx",

                "cage",

                "cabinet",

                "circuit"

            ]

        },

        "levelValue": {

            "type": "string",

            "description": "power hierarchy node levelValue linked to the power data. ibx code, \ncage unique space id, cabinet unique space id and circuit id for \nlevelType ibx, cage, cabinet, circuit resp.\n"

        },

        "isAlarm": {

            "type": "string"

        },

        "kva": {

            "type": "number",

            "description": "power consumption in kva"

        },

        "amps": {

            "type": "number",

            "description": "instantaneous current amp reading on circuits"

        },

        "cage": {

            "type": "string",

            "description": "cage unique space id"

        },

        "cabinet": {

            "type": "string",

            "description": "cabinet unique space id"

        },

        "soldKva": {

            "type": "number",

            "description": "maximum amp draw allowable on a circuit"

        },

        "cabinetRating": {

            "type": "number",

            "description": "maximum kVA draw allowed for the cabinet"

        },

        "contractualKva": {

            "type": "number",

            "description": "The maximum power draw contractually allowable in a \nprivate cage. \n"

        },

        "percentageKva": {

            "type": "number",

            "description": "calculated field kva / contractualKva"

        },

        "peakKvaLastSevenDays": {

            "type": "number"

        },

        "peakKvaLastSevenDaysPercentage": {

            "type": "number"

        },

        "peakKvaLastSevenDaysContractualKva": {

            "type": "number"

        },

        "peakKvaLastSevenDaysTime": {

            "type": "integer"

        },

        "type": {

            "type": "string",

            "description": "value to be IBX, CAGE, CABINET, primary or redundant for levelType\nibx, cage, cabinet, circuit resp.\n",

            "enum": [

                "IBX",

                "CAGE",

                "CABINET",

                "primary",

                "redundant"

            ]

        },

        "description": {

            "type": "string",

            "description": "circuit description when the levelType is circuit. null otherwise. \n"

        },

        "soldAmps": {

            "type": "integer"

        },

        "primaryKva": {

            "type": "number",

            "description": "the sum of instantaneous power draw reading on all the primary \ncircuits within the levelType.\n"

        },

        "redundantKva": {

            "type": "number",

            "description": "the sum of instantaneous power draw reading on all the redundant \ncircuits within the levelType.\n"

        },

        "kw": {

            "type": "string",

            "description": "measure of real power expressed in kilowatt applicable for ibxs\nthat have capability of energy meter reading\n"

        },

        "powerFactor": {

            "type": "string",

            "description": "The ratio between real power and apparent power in a circuit.(kW/kVA)\n"

        },

        "readingTime": {

            "type": "string",

            "description": "date-time when the latest value was read in (epoc - milliseconds). \n"

        },

        "lastUpdatedTime": {

            "type": "string",

            "description": "date-time when the latest value was updated (epoc - milliseconds).\n"

        },

        "customerName": {

            "type": "string"

        }

    }

}

 


body: 
TagPointData

"TagPointData": {

    "type": "object",

    "description": "Tag Point is a property of the Asset it is linked to.\n",

    "properties": {

        "value": {

            "type": "string",

            "description": "Current data value for the tag point\n"

        },

        "tagId": {

            "type": "string",

            "description": "ID for the tagPoint - Unique Identifier for the Tag Point\n"

        },

        "tagDisplayName": {

            "type": "string",

            "description": "Generic label for the tag point\n"

        },

        "uom": {

            "type": "string",

            "description": "Unit of measure for the data value for the tag point\n"

        },

        "alarmStatus": {

            "type": "string",

            "description": "Indicates whether there are any alarms currently active for the tag\npoint\n"

        },

        "readingTime": {

            "type": "string",

            "format": "date-time",

            "description": "date time when the tag point value was read from the device. \n"

        }

    }

}

 


body: 

Sample Code

 


body: 

IBX SmartView APIs

Refer IBX SmartView sample to download the sample code for the following APIS:

 

1. Alarms

2. Assets

3. Environments

4. Power

5. Hierarchy

6. Subscriptions 

 

Follow the instructions provided in the README.md for instructions on how to set up and configure the project. If you have trouble downloading the code, post the issue on our forum or contact api-support@equinix.com.

 


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: 

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/asset/v1/tagpoint/current?accountNo=1&ibx=CH1&tagId=CH1.Lead%20Chilled%20Water%20Manager:primarychilledwatersupplytemperature"     

-H "content-type: application/json"

-H "authorization: Bearer asxQMSbBwcNzI2fCCNwSwTh3phV2' 

 

This is an example of a success message.

 

{
    "payLoad": [
        {
            "value": "5.7",
            "tagId": "CH1.Lead Chilled Water Manager:primarychilledwatersupplytemperature",
            "tagDisplayName": "Primary Chilled Water Supply Temperature",
            "uom": "°C",
            "readingTime": "20190218225701"
        }
    ],
    "status": {
        "type": "INFO",
        "statuscode": "1000",
        "msg": "OK"
    }
}

 


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: 

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: 

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: 

404 - Invalid Endpoint

Code 404
Description Not Found
Generic Cause Invalid API path in URL or payload.
Quick Fix Verify the end-point information submitted.

 

   Error scenario example

ERROR   

CODE:       "404"
MESSAGE:    "Not Found - No message available"

PATH        "/feedsubscription/v1/subscribed"

TIMESTAMP   "1544951546619"

 

Verify end-point URL.

 

The end-point URL is incorrect. Replace endpoint subscribed with subscribe.

curl -X
GET "http://api.equinix.com/feedsubscription/v1/subscribe"

-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: 

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: 

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: 

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: 

Equinix IBX SmartView error codes

 


body: 

3001: Invalid Level Type

Error Code

3001

Description

Invalid Level Type.

Generic Cause

The levelType specified in the request in not one of the valid values.

Quick Fix Try again by changing the levelType to one of the valid values - IBX, CAGE, CABINET, CIRCUIT. If it does not work, post the issue on our forum or contact api-support@equinix.com. 

 

    Error scenario example

{
    "payLoad": {},
    "status": {
        "type": "ERROR",
        "statuscode": "3001",
        "msg": "Invalid Level Type"
    }
}

 

Retry calling the API URL.

 

curl -X 

The levelType is incorrect. Replace with the correct type.

GET "https://api.equinix.com/environment/v1/current/?accountNo=1&ibx=CH1&levelType=ibc&levelValue=CH1"     

-H "content-type: application/json"

-H "authorization: Bearer asxQMSbBwcNzI2fCCNwSwTh3phV2' 

 


body: 

4000: Internal Error

Error Code

4000

Description

Internal error.

Generic Cause

The request is missing a key input parameter.

Quick Fix Try again by reviewing the required parameters and, post the issue on our forum or contact api-support@equinix.com. 

 

    Error scenario example

{
    "payLoad": {},
    "status": {
        "type": "ERROR",
        "statuscode": "4000",
        "msg": "INTERNAL_ERROR"
    }
}

 

Retry calling the API URL.

 

curl -X 

The ibx is missing in the URL. Add the value '&ibx=CH1' and try again

 

GET "https://api.equinix.com/environment/v1/current/?accountNo=1&levelType=ibx&levelValue=CH1"  

-H "content-type: application/json"

-H "authorization: Bearer asxQMSbBwc

 


body: 

Don't Like Reading?


body: 

How about a short video? 

Equinix IBX SmartView API Overview

 

 

Calling OAuth API

 

 


body: 

Take a shot at our forum

Equinix IBX SmartView 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