Skip to main content

Streaming Subscription API (1.0)

Download OpenAPI specification:Download

IBX SmartView's subscription API allows users to subscribe to near real-time message feeds for events occurring within an IBX. Users can specify the types of messages to receive for each IBX. Users are able to view all subscriptions within their organization and update any subscription to modify the message feed being received.

Get all subscription endpoint

The endpoint allows users to fetch details for all streaming subscriptions for a given organization.

header Parameters
Authorization
required
string

The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.

Responses

Response Schema: application/json
Array
id
string
status
string
Enum: "PENDING" "ACTIVE" "FAILED" "DELETE_IN_PROGRESS" "DELETED"
object (MessageType)

Message type for a given subscription

Array of objects (Asset)

List of asset message type to subscribe

Array of objects (Environmental)

List of environmental message type to subscribe

Array of objects (PowerMessage)

List of power message type to subscribe

Array of objects (MeteredPower)

List of metered power message type to subscribe

Array of objects (SystemAlert)

List of system alert message type to subscribe

Array of objects (CustomAlert)

List of custom alert message type to subscribe

object (Channel)

Subscription can be created using one channel.

channelType
string
Enum: "AWS_IOT_CORE" "WEBHOOK" "AZURE"
object (AwsIotCoreChannelConfiguration)

The configuration for an 'AWS_IOT_CORE' channel

object (WebhookChannelConfiguration)

The configuration for a 'WEBHOOK' channel

object (AzureChannelConfiguration)

The configuration for an 'AZURE' channel

orgId
string
createdBy
string
createdDateTime
string <date-time>
updatedBy
string
updatedDateTime
string <date-time>

Response samples

Content type
application/json
[
  • {
    }
]

Create subscription endpoint

The endpoint allows users to define and create a new streaming subscription for a given organization.

header Parameters
Authorization
required
string

The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.

Request Body schema: application/json
object (MessageType)

Message type for a given subscription

Array of objects (Asset)

List of asset message type to subscribe

Array
accountNumber
required
string
ibx
required
Array of strings unique
assetClassification
Array of strings [ 1 .. 2147483647 ] items unique
Items Enum: "MECHANICAL" "ENVIRONMENTAL" "ELECTRICAL"

Asset Classification value if specified, otherwise all allowable classifications

assetId
Array of strings [ 1 .. 2147483647 ] items unique
Array of objects (Environmental)

List of environmental message type to subscribe

Array
accountNumber
required
string
ibx
required
Array of strings unique
level
Array of strings [ 1 .. 3 ] items unique
Items Enum: "ZONE" "IBX" "CAGE"

This field is not required. If not provided in the request, subscription will include all environmental messages at the IBX, zone, and cage levels. If granularity is specified, at least one level must be provided.

Array of objects (PowerMessage)

List of power message type to subscribe

Array
accountNumber
required
string
ibx
required
Array of strings unique
Array of objects (MeteredPower)

List of metered power message type to subscribe

Array
streamId
required
string

unique message id

ibx
required
string

ibx

required
object (MeteredPowerAssetDetails)

asset details

cage
string

cage

cageSerialNo
string

cage serial number

accountNumber
string

account number

required
object (MeteredPowerTagDetails)

tag details

required
object (MeteredPowerValueWithUnit)

reading details

readingTime
string

message reading time

dataQuality
string

data quality: Good | Bad | Uncertain

Array of objects (SystemAlert)

List of system alert message type to subscribe

Array
accountNumber
required
string
ibx
required
Array of strings unique
Array of objects (CustomAlert)

List of custom alert message type to subscribe

Array
accountNumber
required
string
ibx
required
Array of strings unique
user
string
object (Channel)

Subscription can be created using one channel.

channelType
string
Enum: "AWS_IOT_CORE" "WEBHOOK" "AZURE"
object (AwsIotCoreChannelConfiguration)

The configuration for an 'AWS_IOT_CORE' channel

url
required
string
object (WebhookChannelConfiguration)

The configuration for a 'WEBHOOK' channel

sslCertificate
string
url
required
string
numberOfRetries
integer <int32> [ 1 .. 5 ]
numberOfConcurrentCalls
integer <int32> [ 20 .. 50 ]
batchSize
integer <int32> [ 5 .. 20 ]
object (AzureChannelConfiguration)

The configuration for an 'AZURE' channel

numberOfRetries
integer <int32> [ 1 .. 5 ]
numberOfConcurrentCalls
integer <int32> [ 20 .. 50 ]
batchSize
integer <int32> [ 5 .. 20 ]

Responses

Response Headers
Location
string

Location of created subscription. For Example: /smartview/v2/streaming/subscriptions/607460b4e4a78360425bca56

Request samples

Content type
application/json
{
  • "messageType": {
    },
  • "channel": {}
}

Response samples

Content type
application/json
{
  • "errorCode": "EQIX-ES-5000422",
  • "errorMessage": "Unprocessable Entity",
  • "correlationId": "06ce37f6-12af-4f47-9d15-e4f8fc77e1c5",
  • "details": "The submitted payload does not meet validation criteria.",
  • "help": " ",
  • "additionalInfo": {
    }
}

Get subscription endpoint

The endpoint allows users to fetch details for a given streaming subscription for a given organization.

path Parameters
id
required
string
header Parameters
Authorization
required
string

The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.

Responses

Response Schema: application/json
id
string
status
string
Enum: "PENDING" "ACTIVE" "FAILED" "DELETE_IN_PROGRESS" "DELETED"
object (MessageType)

Message type for a given subscription

Array of objects (Asset)

List of asset message type to subscribe

Array
accountNumber
required
string
ibx
required
Array of strings unique
assetClassification
Array of strings [ 1 .. 2147483647 ] items unique
Items Enum: "MECHANICAL" "ENVIRONMENTAL" "ELECTRICAL"

Asset Classification value if specified, otherwise all allowable classifications

assetId
Array of strings [ 1 .. 2147483647 ] items unique
Array of objects (Environmental)

List of environmental message type to subscribe

Array
accountNumber
required
string
ibx
required
Array of strings unique
level
Array of strings [ 1 .. 3 ] items unique
Items Enum: "ZONE" "IBX" "CAGE"

This field is not required. If not provided in the request, subscription will include all environmental messages at the IBX, zone, and cage levels. If granularity is specified, at least one level must be provided.

Array of objects (PowerMessage)

List of power message type to subscribe

Array
accountNumber
required
string
ibx
required
Array of strings unique
Array of objects (MeteredPower)

List of metered power message type to subscribe

Array
streamId
required
string

unique message id

ibx
required
string

ibx

required
object (MeteredPowerAssetDetails)

asset details

cage
string

cage

cageSerialNo
string

cage serial number

accountNumber
string

account number

required
object (MeteredPowerTagDetails)

tag details

required
object (MeteredPowerValueWithUnit)

reading details

readingTime
string

message reading time

dataQuality
string

data quality: Good | Bad | Uncertain

Array of objects (SystemAlert)

List of system alert message type to subscribe

Array
accountNumber
required
string
ibx
required
Array of strings unique
Array of objects (CustomAlert)

List of custom alert message type to subscribe

Array
accountNumber
required
string
ibx
required
Array of strings unique
user
string
object (Channel)

Subscription can be created using one channel.

channelType
string
Enum: "AWS_IOT_CORE" "WEBHOOK" "AZURE"
object (AwsIotCoreChannelConfiguration)

The configuration for an 'AWS_IOT_CORE' channel

url
required
string
object (WebhookChannelConfiguration)

The configuration for a 'WEBHOOK' channel

sslCertificate
string
url
required
string
numberOfRetries
integer <int32> [ 1 .. 5 ]
numberOfConcurrentCalls
integer <int32> [ 20 .. 50 ]
batchSize
integer <int32> [ 5 .. 20 ]
object (AzureChannelConfiguration)

The configuration for an 'AZURE' channel

numberOfRetries
integer <int32> [ 1 .. 5 ]
numberOfConcurrentCalls
integer <int32> [ 20 .. 50 ]
batchSize
integer <int32> [ 5 .. 20 ]
orgId
string
createdBy
string
createdDateTime
string <date-time>
updatedBy
string
updatedDateTime
string <date-time>

Response samples

Content type
application/json
{
  • "id": "string",
  • "status": "PENDING",
  • "messageType": {
    },
  • "channel": {},
  • "orgId": "string",
  • "createdBy": "string",
  • "createdDateTime": "2019-08-24T14:15:22Z",
  • "updatedBy": "string",
  • "updatedDateTime": "2019-08-24T14:15:22Z"
}

Update subscription endpoint

The endpoint allows users to modify and update an existing streaming subscription for a given organization. Request payload replaces current subscription.

path Parameters
id
required
string
header Parameters
Authorization
required
string

The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.

Request Body schema: application/json
object (MessageType)

Message type for a given subscription

Array of objects (Asset)

List of asset message type to subscribe

Array
accountNumber
required
string
ibx
required
Array of strings unique
assetClassification
Array of strings [ 1 .. 2147483647 ] items unique
Items Enum: "MECHANICAL" "ENVIRONMENTAL" "ELECTRICAL"

Asset Classification value if specified, otherwise all allowable classifications

assetId
Array of strings [ 1 .. 2147483647 ] items unique
Array of objects (Environmental)

List of environmental message type to subscribe

Array
accountNumber
required
string
ibx
required
Array of strings unique
level
Array of strings [ 1 .. 3 ] items unique
Items Enum: "ZONE" "IBX" "CAGE"

This field is not required. If not provided in the request, subscription will include all environmental messages at the IBX, zone, and cage levels. If granularity is specified, at least one level must be provided.

Array of objects (PowerMessage)

List of power message type to subscribe

Array
accountNumber
required
string
ibx
required
Array of strings unique
Array of objects (MeteredPower)

List of metered power message type to subscribe

Array
streamId
required
string

unique message id

ibx
required
string

ibx

required
object (MeteredPowerAssetDetails)

asset details

cage
string

cage

cageSerialNo
string

cage serial number

accountNumber
string

account number

required
object (MeteredPowerTagDetails)

tag details

required
object (MeteredPowerValueWithUnit)

reading details

readingTime
string

message reading time

dataQuality
string

data quality: Good | Bad | Uncertain

Array of objects (SystemAlert)

List of system alert message type to subscribe

Array
accountNumber
required
string
ibx
required
Array of strings unique
Array of objects (CustomAlert)

List of custom alert message type to subscribe

Array
accountNumber
required
string
ibx
required
Array of strings unique
user
string
object (Channel)

Subscription can be created using one channel.

channelType
string
Enum: "AWS_IOT_CORE" "WEBHOOK" "AZURE"
object (AwsIotCoreChannelConfiguration)

The configuration for an 'AWS_IOT_CORE' channel

url
required
string
object (WebhookChannelConfiguration)

The configuration for a 'WEBHOOK' channel

sslCertificate
string
url
required
string
numberOfRetries
integer <int32> [ 1 .. 5 ]
numberOfConcurrentCalls
integer <int32> [ 20 .. 50 ]
batchSize
integer <int32> [ 5 .. 20 ]
object (AzureChannelConfiguration)

The configuration for an 'AZURE' channel

numberOfRetries
integer <int32> [ 1 .. 5 ]
numberOfConcurrentCalls
integer <int32> [ 20 .. 50 ]
batchSize
integer <int32> [ 5 .. 20 ]

Responses

Request samples

Content type
application/json
{
  • "messageType": {
    },
  • "channel": {}
}

Response samples

Content type
application/json
{
  • "errorCode": "EQIX-ES-5000422",
  • "errorMessage": "Unprocessable Entity",
  • "correlationId": "06ce37f6-12af-4f47-9d15-e4f8fc77e1c5",
  • "details": "The submitted payload does not meet validation criteria.",
  • "help": " ",
  • "additionalInfo": {
    }
}

Delete subscription endpoint

The endpoint allows users to delete and remove an existing streaming subscription for a given organization.

path Parameters
id
required
string
header Parameters
Authorization
required
string

The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.

Responses

Get subscription data via REST

obtain API+ near real time data via a simple REST endpoint by employing subscription ID alongside other specified criteria, enabling a comprehensive and targeted approach to data retrieval. Subscription data endpoint works for all channels and not just REST channel.

path Parameters
subscriptionId
required
string

Subscription ID

query Parameters
ibxs
Array of strings

Filter, set of IBXs

messageTypes
Array of strings
Items Enum: "ALARM" "ALERT" "ENVIRONMENTAL" "METERED_POWER" "POWER" "TAG_POINT"

Filter, set of message types

streamIds
Array of strings

Filter, set of stream IDs

offset
integer <int32>
Default: 0

Pagination, offset of the first item

limit
integer <int32>
Default: 250

Pagination, limit of items returned

header Parameters
Authorization
required
string

The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.

Responses

Response Schema: application/json
Array of objects (AlarmMessageData)

alarm message data

Array
type
required
string
Default: "system-alert"

message type

required
object (Alarm)

message data

Array of objects (AlertMessageData)

alert message data

Array
type
required
string
Default: "custom-alert"

message type

required
object (Alert)

message data

Array of objects (EnvironmentMessageData)

environment message data

Array
type
required
string
Default: "environmental"

message type

required
object (Environment)

message data

Array of objects (MeteredPowerMessageData)

metered-power message data

Array
type
required
string
Default: "metered-power"

message type

required
object (MeteredPower)

message data

Array of objects (PowerMessageData)

power message data

Array
type
required
string
Default: "power"

message type

required
object (Power)

message data

Array of objects (TagPointMessageData)

tag-point message data

Array
type
required
string
Default: "tag-point"

message type

required
object (TagPoint)

message data

object (Pagination)

pagination

offset
required
integer <int32>

offset of the first item in the given page

limit
required
integer <int32>

limit specifies the maximum limit of items returned

total
required
integer <int32>

number of total records

next
string

relative URL to the next page, has value only when next page exists

previous
string

relative URL to the previous page, has value only when previous page exists

Response samples

Content type
application/json
{
  • "alarmMessageData": [
    ],
  • "alertMessageData": [
    ],
  • "environmentMessageData": [
    ],
  • "meteredPowerMessageData": [
    ],
  • "powerMessageData": [
    ],
  • "tagPointMessageData": [
    ],
  • "pagination": {
    }
}