API Integrations

Critical Labs can send alert and cleared alert notifications to any service that meets the following criteria:

  • Has an endpoint to send alerts to that supports the POST type
  • Supports JSON payloads
  • Has one of the following authentication schemes:
    • Basic
    • OAuth2
    • Schemes using the Authorization header

At the present time, API integrations can be viewed by full access users but can only be modified or added by Critical Labs support staff. To setup an API integration, please contact us.

The structure of the JSON payload is customizable. The payload template supports a number of variables that will be substituted with the appropriate data when an alert is sent. The following variables are currently supported:

  • GATEWAY_NAME - the name of the Critical Labs gateway to which this device reports
  • GATEWAY_IP - the ip address of the Critical Labs gateway to which this device reports
  • DEVICE_NAME - the name of the device which is reporting an alarm
  • DEVICE_IP - the ip address of the device which is reporting an alarm
  • ALARM_NAME - the name of the alarm, eg. Temperature, System Status
  • ALARM_STATUS - the status of the alarm. Possible values are: Warning, Critical, Cleared, Disconnected
  • MESSAGE_TYPE - the message type. Will be either Alarm, Cleared, or Device Disconnect
  • TIMESTAMP - the UTC string timestamp of the recorded alarm time
  • ALARM_DETAIL - used with the System Status alarm to provide the detail of the problem that triggered the System Status alarm. Present if known
  • ALARM_VALUE - the value that triggered the alarm
  • ALARM_VALUE_UNIT - the value that triggered the alarm, along with the unit of measure

Alarms can only be setup and managed by Critical Labs staff at the present time. Alarm notifications are setup in the same way that notifications are setup for users: they trigger by dashboard view. See Setting up Alerts for more information on how notifications are assigned.