4.0 Monitoring alerts
This is the reference documentation for the Monitoring alerts endpoints.
Note
You can generate an example call for each endpoint using the Try It Out button.
This call will not trigger any action on your account unless you add your authentication token to it.
components:
schemas:
MonitoringAlert:
properties:
id:
type: integer
description: The unique monitoring alert identifier.
example: '24'
ruleType:
type: string
example: sim
enum:
- sim
- company
- grouppr
- groupfptp
description: |-
<p>The monitoring alert type, which determines the level at which the alert applies:</p>
<ul>
<li><em>sim</em> - a specific subscriber exceeds a defined usage threshold</li>
<li><em>company</em> - any subscriber in the company exceeds a defined usage threshold</li>
<li><em>grouppr</em> - the combined usage of the subscribers in a specified group exceeds a defined usage threshold</li>
<li><em>groupfptp</em> - an individual subscriber within a specified group exceeds a defined usage threshold</li>
</ul>
target:
type: string
description: '<p>The subscriber or group identifier to which the alert applies:</p><ul><li><em>sim</em> - the <em>subscriberId</em>:<ul><li><em>Cellular</em> - the MSISDN</li><li><em>Non-IP</em> - the Device EUI</li><li><em>Satellite</em> - the Subscription ID</li></ul><li><em>company</em> - blank</li><li><em>grouppr</em> or <em>groupfptp</em> - the subscriber group <em>groupId</em></li></li></ul>'
example: '447000000001'
lowerThreshold:
minimum: 0
type: integer
description: 'The lower threshold required to trigger the alert, in bytes.'
example: 1048576
upperThreshold:
minimum: 0
type: integer
description: 'The upper threshold required to trigger the alert, in bytes.'
example: 2097152
dateCreated:
oneOf:
- format: date
type: string
- format: date-time
type: string
description: The date or the date and time at which the monitoring alert was created.
example: '2018-02-11T10:33:30.000Z'
required:
- id
- ruleType
- target
- lowerThreshold
- upperThreshold
- dateCreated
type: object
MonitoringAlertRecipient:
properties:
id:
type: integer
description: The unique recipient identifier.
example: '10'
email:
format: email
type: string
description: The recipient's email address.
example: alert_recipient@examples.com
required:
- email
type: object
MonitoringAlertLog:
properties:
ruleType:
type: string
description: '<p>The monitoring alert type, which determines the level at which the alert applies.</p><ul> <li><em>sim</em> - a specific subscriber exceeds a defined usage threshold</li> <li><em>company</em> - any subscriber in the company exceeds a defined usage threshold</li> <li><em>grouppr</em> - the combined usage of the subscribers in a specified group exceeds a defined usage threshold</li> <li><em>groupfptp</em> - an individual subscriber within a specified group exceeds a defined usage threshold</li> </ul>'
example: sim
target:
type: string
description: '<p>The subscriber or group identifier to which the alert applies:</p><ul><li><em>sim</em> - the <em>subscriberId</em>:<ul><li><em>Cellular</em> - the MSISDN</li><li><em>Non-IP</em> - the Device EUI</li><li><em>Satellite</em> - the Subscription ID</li></ul><li><em>company</em> - blank</li><li><em>grouppr</em> or <em>groupfptp</em> - the subscriber group <em>groupId</em></li></li></ul>'
example: '447000000001'
limitBoundary:
type: string
description: 'The threshold that triggered the alert, either upper or lower.'
example: upper
dateCreated:
oneOf:
- format: date
type: string
- format: date-time
type: string
description: The date or the date and time at which the log was created.
example: '2018-02-11T10:33:30.000Z'
required:
- ruleType
- target
- limitBoundary
- dateCreated
type: object
MonitoringAlertToEdit:
properties:
lowerThreshold:
minimum: 0
type: integer
description: 'The lower threshold required to trigger the alert, in bytes.'
example: 1048576
upperThreshold:
minimum: 0
type: integer
description: 'The upper threshold required to trigger the alert, in bytes.'
example: 2097152
MonitoringAlertToCreate:
properties:
ruleType:
type: string
example: sim
enum:
- sim
- company
- grouppr
- groupfptp
description: |-
<p>The monitoring alert type, which determines the level at which the alert applies:</p>
<ul>
<li><em>sim</em> - a specific subscriber exceeds a defined usage threshold</li>
<li><em>company</em> - any subscriber in the company exceeds a defined usage threshold</li>
<li><em>grouppr</em> - the combined usage of subscribers in a specified group exceeds a defined usage threshold</li>
<li><em>groupfptp</em> - an individual subscriber within a specified group exceeds a defined usage threshold</li>
</ul>
target:
type: string
description: '<p>The subscriber or group identifier to which the alert applies:</p><ul><li><em>sim</em> - the <em>subscriberId</em>:<ul><li><em>Cellular</em> - the MSISDN</li><li><em>Non-IP</em> - the Device EUI</li><li><em>Satellite</em> - the Subscription ID</li></ul><li><em>company</em> - blank</li><li><em>grouppr</em> or <em>groupfptp</em> - the subscriber group <em>groupId</em></li></li></ul>'
example: '447000000001'
lowerThreshold:
minimum: 0
type: integer
description: 'The lower threshold required to trigger the alert, in bytes.'
example: 1048576
upperThreshold:
minimum: 0
type: integer
description: 'The upper threshold required to trigger the alert, in bytes.'
example: 2097152
required:
- ruleType
- target
- lowerThreshold
- upperThreshold
type: object
MonitoringAlertRecipientToCreate:
properties:
email:
format: email
type: string
description: The recipient's email address.
example: alert_recipient@examples.com
required:
- email
type: object
info:
title: Monitoring alerts
version: 4.0.0
description: |-
<p>Manage monitoring alerts for your company.</p><p><em>Monitoring alerts</em> enable you to send automated email notifications when subscriber data usage exceeds either an upper or lower threshold.</p><p>For example, you might want to send notifications when data usage:</p><ul><li>Approaches the maximum allowed for a tariff (usage exceeds the lower threshold)</li><li>Exceeds the maximum allowed for a tariff (usage exceeds the upper threshold)</li></ul><p><strong>Note</strong>: Subscribers are <em>not</em> automatically barred when they exceed a defined usage threshold. The account holder should take appropriate action when an alert is triggered.</p></ul><p>You can use these endpoints to create the following types of alerts.</p><table border="1"><tr><th>Type</th><th>ruleType</th><th>Applies to</th><th>Triggered by</th></tr><tr><td style="padding:10px;">Individual</td><td style="padding:10px;"><em>sim</em></td><td style="padding:10px;">Specified subscriber</td><td style="padding:10px;">Specified subscriber's data usage</td></tr><tr><td style="padding:10px;">Company</td><td style="padding:10px;"><em>company</em></td><td style="padding:10px;">All subscribers within your company</td><td style="padding:10px;">Any individual subscriber's data usage</td></tr><tr><td style="padding:10px;">Group (aggregate)</td><td style="padding:10px;"><em>grouppr</em></td><td style="padding:10px;">All subscribers assigned to the specified group</td><td style="padding:10px;">Combined data usage for all subscribers in the group</td></tr><tr><td style="padding:10px;">Group (individual)</td><td style="padding:10px;"><em>groupfptp</em></td><td style="padding:10px;">All subscribers assigned to the specified group</td><td style="padding:10px;">Data usage of any individual subscriber in the group</td></tr></table>
<p>You can also use these endpoints to:</p><ul><li>Edit and delete monitoring alerts</li><li>Add, edit and delete alert recipients</li><li>Retrieve a list of the monitoring alerts that are set up</li><li>Retrieve a log of any monitoring alerts that were triggered</li></ul>
openapi: 3.0.0
servers:
- url: 'https://api.iot-x.com'
paths:
/alerts:
post:
operationId: MonitoringAlertsController.addMonitoringAlert
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MonitoringAlertToCreate'
description: MonitoringAlertToCreate
required: false
responses:
'200':
content:
application/json:
schema:
type: object
properties:
contents:
type: array
items:
$ref: '#/components/schemas/MonitoringAlert'
description: Success - the monitoring alert was created.
'400':
content:
application/json:
schema:
type: object
properties:
error:
type: object
properties:
message:
type: string
code:
type: string
description: Error - invalid request.
'404':
content:
application/json:
schema:
type: object
properties:
error:
type: object
properties:
message:
type: string
code:
type: string
description: Error - resource not found.
summary: Creates a monitoring alert.
tags:
- Monitoring alerts
description: '<p>You can create a monitoring alert for the entire company, groups of subscribers or specific subscribers.</p><p><br>To use this endpoint, your user account must have the <strong>View Monitoring Alerts</strong> and <strong>Add Monitoring Alerts</strong> permissions enabled.</p>'
get:
operationId: MonitoringAlertsController.getMonitoringAlerts
parameters:
- name: offset
in: query
description: '<p>Offsets the returned results to begin at a particular record count.</p><p>For example, setting this to 10 causes the query to skip the first ten records in the data set.</p>'
schema:
type: number
- name: limit
in: query
description: 'Specifies the upper limit of the number of results to return. This filter has an upper limit of 100. <p>For example, setting this to 10 limits the query to returning a maximum of ten records.</p><p>If no limit is set, the query will return a maximum of 25 records.</p>'
schema:
type: number
- name: orderBy
in: query
description: 'Order the results by a particular field in either ascending or descending order. <p>This parameter supports multiple fields for sorting, for example, ''name ASC, created DESC''.</p>'
schema:
type: string
- name: filter
in: query
description: 'Filter the results the query returns. <p>For example, to retrieve all users called Tom, with an age above 21, set the filter to - ''name eq "Tom" and age gt 21''.</p>'
schema:
type: string
responses:
'200':
content:
application/json:
schema:
type: object
properties:
contents:
type: array
items:
$ref: '#/components/schemas/MonitoringAlert'
description: Success - returns a list of monitoring alerts that are set up.
summary: Returns a list of the monitoring alerts that are set up.
description: '<p>Retrieves a list of the monitoring alerts that are set up, including the details of each alert.</p><p><br>To use this endpoint, your user account must have the <strong>View Monitoring Alerts</strong> and <strong>View a User''s Details</strong> permissions enabled.'
tags:
- Monitoring alerts
'/alerts/{id}':
delete:
operationId: MonitoringAlertsController.deleteMonitoringAlert
parameters:
- in: path
name: id
description: The unique monitoring alert identifier.
required: true
schema:
type: number
responses:
'200':
content:
application/json:
schema:
type: object
properties:
contents:
type: array
items:
$ref: '#/components/schemas/MonitoringAlert'
description: Success - the monitoring alert was deleted.
'404':
content:
application/json:
schema:
type: object
properties:
error:
type: object
properties:
message:
type: string
code:
type: string
description: Error - resource not found.
summary: Deletes a monitoring alert.
tags:
- Monitoring alerts
description: '<p>Deletes the specified monitoring alert.</p><p><br>To use this endpoint, your user account must have the <strong>View Monitoring Alerts</strong> and <strong>Delete Monitoring Alerts</strong> permissions enabled.</p>'
patch:
operationId: MonitoringAlertsController.editMonitoringAlert
parameters:
- in: path
name: id
description: The unique monitoring alert identifier.
required: true
schema:
type: number
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MonitoringAlertToEdit'
description: MonitoringAlertToEdit
required: false
responses:
'200':
content:
application/json:
schema:
type: object
properties:
contents:
type: array
items:
$ref: '#/components/schemas/MonitoringAlert'
description: Success - the monitoring alert was edited.
'400':
content:
application/json:
schema:
type: object
properties:
error:
type: object
properties:
message:
type: string
code:
type: string
description: Error - invalid request.
'404':
content:
application/json:
schema:
type: object
properties:
error:
type: object
properties:
message:
type: string
code:
type: string
description: Error - resource not found.
summary: Edits a monitoring alert.
tags:
- Monitoring alerts
description: '<p>Edits the specified monitoring alert. You can use this endpoint to edit the upper and lower usage thresholds at which the alert is triggered.</p><p><br>To use this endpoint, your user account must have the <strong>View Monitoring Alerts</strong> and <strong>Edit Monitoring Alerts</strong> permissions enabled.</p>'
/alerts/recipients:
post:
operationId: MonitoringAlertRecipientController.addMonitoringAlertRecipient
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MonitoringAlertRecipientToCreate'
description: MonitoringAlertRecipientToCreate
required: false
responses:
'200':
content:
application/json:
schema:
type: object
properties:
contents:
type: array
items:
$ref: '#/components/schemas/MonitoringAlertRecipient'
description: Success - the recipient was created.
'400':
content:
application/json:
schema:
type: object
properties:
error:
type: object
properties:
message:
type: string
code:
type: string
description: Error - invalid request.
summary: Creates a monitoring alert recipient.
tags:
- Monitoring alert recipient
description: '<p>You can use this endpoint to create an alert recipient by specifying their email address. Recipients receive notifications for all of the monitoring alerts defined for your company.</p><p><br>Because alert emails can be blocked by spam filters or rejected by a server outright, we recommend that you create a test alert and ensure that emails from the platform are whitelisted.</p><p><br>To use this endpoint, your user account must have the <strong>View Monitoring Alerts</strong> and <strong>View a User''s Details</strong> permissions enabled.</p>'
'/alerts/recipients/{id}':
delete:
operationId: MonitoringAlertRecipientController.deleteMonitoringAlertRecipient
parameters:
- in: path
name: id
description: The unique recipient identifier.
required: true
schema:
type: number
responses:
'200':
content:
application/json:
schema:
type: object
properties:
contents:
type: array
items:
$ref: '#/components/schemas/MonitoringAlertRecipient'
description: Success - the recipient was deleted.
'404':
content:
application/json:
schema:
type: object
properties:
error:
type: object
properties:
message:
type: string
code:
type: string
description: Error - resource not found.
summary: Deletes a monitoring alert recipient.
tags:
- Monitoring alert recipient
description: '<p>Deletes the specified alert recipient.</p><p><br>To use this endpoint, your user account must have the <strong>View Monitoring Alerts</strong> and <strong>View a User''s Details</strong> permissions enabled.</p>'
patch:
operationId: MonitoringAlertRecipientController.editMonitoringAlertRecipient
parameters:
- in: path
name: id
description: The unique recipient identifier.
required: true
schema:
type: number
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MonitoringAlertRecipientToCreate'
description: MonitoringAlertRecipientToEdit
required: false
responses:
'200':
content:
application/json:
schema:
type: object
properties:
contents:
type: array
items:
$ref: '#/components/schemas/MonitoringAlertRecipient'
description: Success - the recipient was edited.
'400':
content:
application/json:
schema:
type: object
properties:
error:
type: object
properties:
message:
type: string
code:
type: string
description: Error - invalid request.
'404':
content:
application/json:
schema:
type: object
properties:
error:
type: object
properties:
message:
type: string
code:
type: string
description: Error - resource not found.
summary: Edits a monitoring alert recipient.
tags:
- Monitoring alert recipient
description: '<p>Edits the specified alert recipient''s email address.</p><p><br>To use this endpoint, your user account must have the <strong>View Monitoring Alerts</strong> and <strong>View a User''s Details</strong> permissions enabled.</p>'
/alerts/logs:
get:
operationId: MonitoringAlertLogController.getMonitoringAlertLogs
parameters:
- name: orderBy
in: query
description: 'Order the results by a particular field in either ascending or descending order. <p>This parameter supports multiple fields for sorting, for example, ''name ASC, created DESC''.</p>'
schema:
type: string
- name: filter
in: query
description: 'Filter the results the query returns. <p>For example, to retrieve all users called Tom, with an age above 21, set the filter to - ''name eq "Tom" and age gt 21''.</p>'
schema:
type: string
responses:
'200':
content:
application/json:
schema:
type: object
properties:
contents:
type: array
items:
$ref: '#/components/schemas/MonitoringAlertLog'
description: Success - returns a list of monitoring alert logs.
summary: Returns a list of monitoring alert logs.
tags:
- Monitoring alert log
description: '<p>The monitoring alert logs provide a historical record of the monitoring alerts that have been triggered for your company.</p><p><br>To use this endpoint, your user account must have the <strong>View Monitoring Alerts</strong> permission enabled.</p>'