Skip to main content
Skip table of contents

API Error Codes and Responses

HTTP Status Codes

Descriptions for HTTP status codes are provided in the table in this section.

Code

Text

Description

200

OK

Success!

400

Bad Request

The request was invalid. An accompanying error message will explain further.

401

Unauthorized

Missing or invalid authentication credentials.

403

Forbidden

The request is understood, but it has been refused or access is not allowed. An accompanying error message will explain further.

406

Not Acceptable

Invalid accept type in header. Supported types are listed per route. All routes support application/json and historical data routes also support text/csv.

413

Request Entity Too Large

The response is too large. If making a request through an historical data route, try using a smaller Start and End date range.

500

Internal Server Error

An unexpected exception occurred. Contact support. Be sure to supply the x-logging-id in the response header.

API Error Messages

All error messages are returned in json. See error object for field description and sample. Definitions for the error codes are provided in the table in this section.

Code

Text

Description

100

Authentication credentials are missing or incorrect.

Corresponds with an HTTP 401.

201

Content type not supported.

Corresponds with an HTTP 406.

202

Unexpected exception.

Corresponds with an HTTP 500.

203

Requested payload is too large. Try limiting date range or number of tags in request.

Corresponds with an HTTP 413.

205

Unauthorized resource requested.

Corresponds with an HTTP 403.

1001

Empty list of tag ids presented during live data retrieval.

Corresponds with an HTTP 400. This will be returned if live data routes return no data.

1100

Missing required Tag Id.

Corresponds with an HTTP 400.

1101

Missing required start date.

Corresponds with an HTTP 400. Returned by the historical data routes when start date parameter is missing.

1103

Missing required end date.

Corresponds with an HTTP 400. Returned by the historical data routes when end date parameter is missing.

1105

Invalid end date. End date/time must be greater than start date/time.

Corresponds with an HTTP 400. Returned by the historical data routes when specified date range is invalid.

1106

Invalid interval. Supported values are Minute, QuarterHour, Hour or Day.

Corresponds with an HTTP 400. Returned by the historical data routes when the interval parameter contains a non-supported value.

1201

Missing required filter id.

Corresponds with an HTTP 400.

API Object Definitions

Filters Object

Field

Type

Description

Id

String

Unique identifier for the filter.

Name

string

Name of the filter.

Tags

Array of Tag objects

Array of Tag objects

Tag:Id

String

Unique Identifier for tag.

Tag:Name

String

Name of the tag.

Tag:Entity

String

Name of entity associated to the tag.

Tag:SiteName

String

Name of site associated with entity, otherwise, empty string.

Tag:SiteId

String

Unique identifier for site associated with entity, otherwise an empty Globally Unique Identifier (GUID). For example, 00000000-0000-0000-0000-000000000000.

Tag:Building

String

Name of building associated with entity, otherwise, empty string.

Tag:Floor

String

Name of floor associated with entity, otherwise, empty string.

Tag:Room

String

Name of room associated with entity, otherwise, empty string.

Tag:DataType

String

Contains discrete or analog.

Json Example of Filters Object

[{

"Id": "80936624-938D-4854-8476-8B191C07A897",

"Name": "filter1",

"Tags": [{

"Id": "E7D98DE2-5EA1-4FC7-A5C4-712DD00D5FC5",

"Name": "tag1",

"Entity": "entity1",

"SiteName":"testSite1",

"SiteId":"D0955B4A-E340-4C5A-8029-4B40E3620F07",

"Building": "building1",

"Floor": "floor1",

"Room": "room2",

"DataType": "analog"

}, {

"Id": "1B44BD9A-DC32-43EF-82B6-E35A63743035",

"Name": "tag2",

"Entity": "entity2",

"SiteName":"testSite2",

"SiteId":"7F4B1CDB-C628-445A-8213-DE9235A29967",

"Building": "building1",

"Floor": "floor2",

"Room": "room1",

"DataType": "discrete"

}]

}, {

"Id": "40D96DB0-1D95-485F-874D-8A00736DFE41",

"Name": "filter2",

"Tags": [{

"Id": "97E9B219-43BC-4A8B-904C-9E1EC71877BA",

"Name": "tag3",

"Entity": "entity3",

"SiteName":"testSite3",

"SiteId":"4363D000-072B-42E3-B266-9E3E2B768788",

"Building": "building2",

"Floor": "floor1",

"Room": "room1",

"DataType": "analog"

}]

}]

Historical Data Object

Field

Type

Description

SiteId

String

Unique identifier for the site associated with the entity, otherwise, empty GUID. For example, 00000000-0000-0000-0000-000000000000.

SiteName

String

Can contain one of the following:

  1. Name of the site associated with entity or empty string.

  2. “Given tag is not authorized.” This occurs when authenticated user is not authorized to view the entity associated with tag.

TagId

String

Unique identifier for tag.

SiteDateTime

String

The date/time for data point expressed in the site time zone.

DateTimeUTC

String

Date/time for the data point expressed in UTC.

Mean

Number

The average value over the interval. For cumulative data, this will represent the delta over the interval.

Min

Number

Minimum value over interval.

Max

Number

Maximum value over interval.

Median

Number

Median value over interval.

Total

Number

Sample value at earliest time unit for sample, rather than the sum of the values over the interval of the sample.

StDev

Number

Standard deviation over interval.

SampleSize

Integer

Expected number of data points used to evaluate interval.

ActualSampleSize

Integer

Actual number of data points used to evaluate interval.

Quality integer

Integer

Not implemented.

MinTsUTC

String

Date/time Min value captured.

MaxTsUTC

String

Date/time Max value captured.

SampleTsUTC

String

Date/time the SampleValue was captured.

Sample

Number

The earliest value within the sample interval. For an interval of Minute this is the first (00) second, for all other intervals this is the first minute.

Json Example of Historical Data Object

[{

"SiteId": "628A126D-9CEA-4DCD-B267-0EF0CA3A03A3",

"SiteName": "Site1",

"TagId": "EFB83F06-C4AA-43D1-84AF-93EA66FA357E",

"SiteDateTime": "2016-07-27T15:30:00",

"DateTimeUTC": "2016-07-27T19:30:00",

"Mean": 7.168,

"Min": 0,

"Max": 89.6,

"Median": 0,

"Total": 6451.2,

"StDev": 9.253848209,

"SampleSize": 900,

"ActualSampleSize": 5,

"Quality": 1

}, {

"SiteId": "13DA3496-7E4D-4B0F-A2F6-B6A06203A4AE",

"SiteName": "Site2",

"TagId": "DFBAF0B0-7581-41AA-8782-5C9B760A5F27",

"SiteDateTime": "2016-07-27T15:45:00",

"DateTimeUTC": "2016-07-27T19:45:00",

"Mean": 0.798134359,

"Min": 0.794062495,

"Max": 0.803437471,

"Median": 0,

"Total": 718.3209234,

"StDev": 0.001301139,

"SampleSize": 900,

"ActualSampleSize": 532,

"Quality": 1

}]

Live Data Object

Field

Type

Description

TimeStampUTC

String

The date/time in UTC corresponding to live value.

LiveData

Array of Tag/Value pairs

Array of Tag/Value pairs.

TagId

String

Unique identifier for tag.

Value

String

Can contain one of the following:

  1. Live tag value.

  2. “Given tag is not authorized.” Occurs when authenticated user is not authorized to view entity associated with tag.

  3. “Given tag is invalid.” Occurs when not capturing data for the tag.

Json Example of Live Data Object

{

"TimeStampUTC": "2016-07-25 00:00:00",

"LiveData": [{

"TagId": "0C92C503-DDCE-45A3-92CE-EB2A75FB2333",

"Value": 1

}, {

"TagId": "82351CC2-21E3-4908-BE86-B991B742506D",

"Value": 162.391667683919

}, {

"TagId": "E7D98DE2-5EA1-4FC7-A5C4-712DD00D5FC5",

"Value": 278.5

}]

}

Error Object

Field

Type

Description

Status

String

HTTP status code for the response. See list of possible HTTP status codes.

Messages

Array of message objects

Array of message objects

Message:Message string

String

Description of error. See list of error messages and associated codes.

Message:ErrorCode

String

Code associated to the error.

Json Example of Error Object

{

"status":"406",

"messages":[{

"message":"Content type not supported.",

"errorCode":"201"

}]

}

Historical Data POST Object Definition

There are two sample types supported for a post, a single data point which contains a tagId, timestamp, value and an aggregated type which contains additional fields such as min/max/mean and so on. over an interval. When posting an aggregated sample, all aggregated fields are required as provided in this table.

Field

Type

Required

Description

insertType

String

Yes

Only supports ‘insertNew’ which means a new record will be added. If the record already exists, the data point will be ignored. May support updates in the future.

interval

String

Yes

Defines type of sample being posted. Supported values are minute, quarter-hour, hour and day.

timeZoneSource

String

Yes

Source of time zones for timestamps in the posted payload. Supported values are site and UTC. When set to UTC, there will be no conversion done on posted timestamps. When set to site, the time zone associated to the tag’s site will be used to convert the timestamp to UTC for persistence.

timeStamp

String

Yes

Timestamp for samples in the post. Can provide multiple timestamps/data points per payload.

tagId

String

Yes

Aurora internal identifier for data point.

value

String

Yes

Actual value for data point.

mean

String

Only when part of an aggregated sample

Average value for data point over an interval.

min

String

Only when part of an aggregated sample

Minimum value for data point over an interval.

max

String

Only when part of an aggregated sample

Maximum value for data point over an interval.

median

String

Only when part of an aggregated sample

Median value for data point over an interval.

stDev

String

Only when part of an aggregated sample

Standard deviation for data point over the interval.

sampleSize

Number

Only when part of an aggregated sample

Number of actual data points used to calculate aggregated values over the interval.

quality

Number

Only when part of an aggregated sample

If there were actual data points used to calculate the aggregated values, this should be set to 0. If only estimated data points were used, then set to 1.

minTimeStamp

String

Only when part of an aggregated sample

Timestamp associated with minimum value over the interval.

maxTimeStamp

String

Only when part of an aggregated sample

Timestamp associated with maximum value over the interval.

Historical Data Post Sample

{

"insertType": "insertNew",

"interval": "Day",

"timeZoneSource": "Site",

"intervalData": [{

"timeStamp": "2017-12-05 00:00:00",

"tagData": [{

"tagId": "18D906E3-41B2-4E93-A434-75B7B8281767",

"value": "18380",

"mean": "18370",

"min": "18350",

"max": "18380",

"median": "18350",

"stDev": "1.5",

"sampleSize": 59,

"quality": 1,

"minTimeStamp": "2017-12-05 00:00:59",

"maxTimeStamp": "2017-12-05 00:00:00"

}]

}

,{

"timeStamp": "2017-12-04 00:00:00",

"tagData": [{

"tagId": "18D906E3-41B2-4E93-A434-75B7B8281767",

"value": "18390"

}]

}

,{

"timeStamp": "2017-12-03 00:00:00",

"tagData": [{

"tagId": "18D906E3-41B2-4E93-A434-75B7B8281767",

"value": "18400"

}]

}

,{

"timeStamp": "2017-12-05 00:00:00",

"tagData": [{

"tagId": "722612A6-D4CD-4C67-8C16-13EB2B102CAB",

"value": "9987"

}]

}]

}

Alarm Data Object Definition

Field

Type

Description

Id

String

Unique identifier for alarm instance.

AlarmType

String

Possible values: sys (for system), dig (for digital), hihi, hi, lolo, lo, run.

Tag

String

If alarm is on a specific tag, this is the tag name, otherwise, empty string.

TagId

String

If alarm is on a specific tag, this is the unique identifier for tag.

Description

String

Description of the alarm.

Value

String

Value that triggered the alarm.

CurrentValue

String

Current value for data point that triggered an alarm.

ValueFriendlyName

String

For alarms of type hihi, hi, lolo and lo. Distinct friendly names can be configured for alarms.

Status

String

Current state of the alarm. Possible values are: Cleared, Acknowledged, Unacknowledged.

SiteId

String

If related to a site, this is the unique identifier for site.

Site

String

If related to a site, this is the site name.

BuildingId

String

If related to an entity mapped to a building, this is the unique identifier for building.

Building

String

If related to an entity mapped to a building, this is the building name.

FloorId

String

If related to an entity mapped to a floor, this is the unique identifier for floor.

Floor

String

If related to an entity mapped to a floor, this is the floor name.

RoomId

String

If related to an entity mapped to a room, this is the unique identifier for room.

Room

String

If related to an entity mapped to a room, this is the room name.

EntityId

String

If related to an entity, this is the unique identifier for the entity.

Entity

String

If related to an entity, this is the entity name.

Device

String

If related to a device, this is the device name.

DateTimeInitiatedUtc

String

Date and time the alarm was initiated in UTC.

DateTimeAcknowledgedUtc

String

If acknowledged, this is the date and time the alarm was acknowledged in UTC.

DateTimeClearedUtc

String

If cleared, this is the date and time the alarm cleared in UTC.

UserAcknowledged

String

If acknowledged by a user, a userid will be indicated.

Url

String

URL to retrieve state of this alarm.

Alarm Data Object GET Response Sample

{

"TimeStampUtc": "2018-02-12T17:34:23.6502952Z",

"AlarmData": [

{

"Id": "c7091524-54c5-43e2-b965-5de5e3317b61",

"AlarmType": "dig",

"Tag": "ConnectedToEmergency",

"TagId": "2ff0b25e-b2e0-4da6-9627-05ac22146dab",

"Description": "Connected To Emergency",

"Value": "True",

"CurrentValue": "False",

"ValueFriendlyName": "Closed",

"Status": "Cleared",

"SiteId": "4b0cbbed-bb0d-4b9e-a2ab-f2d2f561f76c",

"Site": "fake site",

"BuildingId": "ebe8ca5c-1f92-4b00-a4b1-3ead85563efd",

"Building": "Robertson Surgery Center",

"FloorId": "011c855f-4c3a-4e54-9d2c-a84cf360cd1e",

"Floor": "Ground",

"RoomId": "30d977e6-4b96-42f8-8a8c-65d97bd39acd",

"Room": "Outside",

"EntityId": "9e86c496-c9c2-4f34-bd5c-d1c30cc0c880",

"Entity": "Kep_ATS5",

"Device": "GIM",

"DateTimeInitiatedUtc": "02/06/2018 19:15:50",

"DateTimeAcknowledgedUtc": "",

"DateTimeClearedUtc": "02/06/2018 19:21:59",

"UserAcknowledged": "",

"Url": "/api/v1/alarms/c7091524-54c5-43e2-b965-5de5e3317b61"

},

{

"Id": "020f34bb-3560-4731-8005-1b9403f723ff",

"AlarmType": "lo",

"Tag": "FuelLevel",

"TagId": "db73f43b-79c3-45a9-b981-74f74685e5ca",

"Description": "",

"Value": "500.000",

"CurrentValue": "550",

"ValueFriendlyName": "",

"Status": "Unacknowledged",

"SiteId": "",

"Site": "",

"BuildingId": "1afbff47-0ea8-4f14-8851-a34e5edfe7c1",

"Building": "MSK Main Hospital",

"FloorId": "96fc5236-52a7-4d81-96aa-c5c824dd315b",

"Floor": "Ground",

"RoomId": "6cb9f8a0-93be-4be1-8c95-ab1f07cc530a",

"Room": "Outside",

"EntityId": "a3c97491-4c7c-4375-86f3-b8345c72e7bd",

"Entity": "Kep_Fuel1",

"Device": "FIM",

"DateTimeInitiatedUtc": "10/24/2017 15:40:19",

"DateTimeAcknowledgedUtc": "",

"DateTimeClearedUtc": "",

"UserAcknowledged": "",

"Url": "/api/v1/alarms/020f34bb-3560-4731-8005-1b9403f723ff"

}

]

}

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.