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&#58;</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&#58;</p><ul><li><em>sim</em> - the <em>subscriberId</em>&#58;<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&#58;</p><ul><li><em>sim</em> - the <em>subscriberId</em>&#58;<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&#58;</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&#58;</p><ul><li><em>sim</em> - the <em>subscriberId</em>&#58;<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&#58;</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&#58;</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>'