The Alarm Management Open API provides endpoints to create, update, and retrieve data from the Events [em_event] and Alert [em_alert] tables.

The telecommunications Alarm Management Open API (sn_ind_tmf642) is a ServiceNow® implementation of the TM Forum Open API specification. This API is based on TMF642 Alarm Management API REST Specification Release 20, April 2020.

The calling user must have to access the sn_ind_tmf642.alarm_mgmt_integration endpoint.

This API is provided within the sn_ind_tmf642 namespace.

The TM Forum Open API specification requires a synchronous response for every inbound request it receives. Apply correlation and de-duplication in the source operational support system (OSS) before forwarding payloads to the system.

This API can be extended to make customizations around required parameters, request body validation, additional REST operations, and field mappings. For more information, see the Alarm Management Open API Developer Guide.

The Alarm Management Open API is conformance certified by TM Forum.

TMF conformance logo

Alarm Management Open API – GET /sn_ind_tmf642/alarm_mgmt/alarm

Retrieves a list of all alarm records from the Events [em_event] and Alert [em_alert] tables.

URL format

Default URL: /api/sn_ind_tmf642/alarm_mgmt/alarm

Supported request parameters

Table 1. Path parameters
Name Description
None
Table 3. Request body parameters (JSON)
Name Description
None

Headers

The following request and response headers apply to this HTTP action only, or apply to this action in a distinct way. For a list of general headers used in the REST API, see Supported REST API headers.

Table 4. Request headers
Header Description
None

Status codes

The following status codes apply to this HTTP action. For a list of possible status codes used in the REST API, see REST API HTTP response codes.

Response body parameters (JSON)

Example: cURL request

This example retrieves all alarms.

curl "https://instance.servicenow.com/api/sn_ind_tmf642/alarm_mgmt/alarm" \
--request GET \
--header "Accept:application/json" \
--user 'username':'password'

Response body.

[
   {
      "externalAlarmId": "2212331",
      "alarmType": "QualityOfServiceAlarm23",
      "perceivedSeverity": "MAJOR",
      "probableCause": "ProbB",
      "sourceSystemId": "checkSB",
      "alarmedObject": {
         "id": "vManage_000000",
         "href": " http://api/alarmedobject/000000"
      },
      "crossedThresholdInformation": {
         "direction": "111",
         "granularity": "1234",
         "indicatorName": "sdfgds",
         "indicatorUnit": "asdfdsaf",
         "observedValue": "adsfds",
         "thresholdId": "12fasdfasdfasd",
         "thresholdCrossingDescription": "S23rtring",
         "thresholdRef": "asdfasf"
      },
      "type": "QualityOfServiceAlarm",
      "ackState": "acknowledged",
      "specificProblem": "Inbound Traffic threshold crossed",
      "alarmedObjectType": "ROUTER",
      "alarmDetails": "Software Failure on SD-WAN Controller vManage_000000",
      "state": "processed",
      "alarmChangedTime": "2017-08-15T07:04:15.666Z",
      "proposedRepairActions": "Switch in standby equipment",
      "alarmReportingTime": "2017-06-15T07:04:15.666Z",
      "alarmRaisedTime": "2020-09-15T14:04:15.000Z",
      "plannedOutageIndication": "IN_SERVICE",
      "serviceAffecting": true,
      "affectedService": [
         {
            "id": "SD WAN Enterprise Solutions",
            "href": "http://api/service/vlan_dot0_dot0"
         },
         {
            "id": "Santa Clara SD WAN Application Service",
            "href": "http://api/service/vlan_dot0_dot0"
         }
      ],
      "source": "Alarm Management Open API",
      "href": "/api/sn_ind_tmf642/alarm_mgmt/alarm/001a0ca629078d10f87759e2f69e4c64_2212331",
      "id": "001a0ca629078d10f87759e2f69e4c64_2212331"
   },
   {
      "externalAlarmId": "2212331",
      "alarmType": "QualityOfServiceAlarm23",
      "perceivedSeverity": "MAJOR",
      "probableCause": "ProbB",
      "sourceSystemId": "checkSB",
      "alarmedObject": {
         "id": "vManage_000000",
         "href": " http://api/alarmedobject/000000"
      },
      "crossedThresholdInformation": {
         "direction": "111",
         "granularity": "1234",
         "indicatorName": "sdfgds",
         "indicatorUnit": "asdfdsaf",
         "observedValue": "adsfds",
         "thresholdId": "12fasdfasdfasd",
         "thresholdCrossingDescription": "S23rtring",
         "thresholdRef": "asdfasf"
      },
      "type": "QualityOfServiceAlarm",
      "ackState": "acknowledged",
      "specificProblem": "Inbound Traffic threshold crossed",
      "alarmedObjectType": "ROUTER",
      "alarmDetails": "Software Failure on SD-WAN Controller vManage_000000",
      "state": "processed",
      "alarmChangedTime": "2017-08-15T07:04:15.666Z",
      "proposedRepairActions": "Switch in standby equipment",
      "alarmReportingTime": "2017-06-15T07:04:15.666Z",
      "alarmRaisedTime": "2020-09-15T14:04:15.000Z",
      "plannedOutageIndication": "IN_SERVICE",
      "serviceAffecting": true,
      "affectedService": [
         {
            "id": "SD WAN Enterprise Solutions",
            "href": "http://api/service/vlan_dot0_dot0"
         },
         {
            "id": "Santa Clara SD WAN Application Service",
            "href": "http://api/service/vlan_dot0_dot0"
         }
      ],
      "source": "Alarm Management Open API",
      "href": "/api/sn_ind_tmf642/alarm_mgmt/alarm/001c84aa29078d10f87759e2f69e4cfa_2212331",
      "id": "001c84aa29078d10f87759e2f69e4cfa_2212331"
   }
]

Alarm Management Open API – GET /sn_ind_tmf642/alarm_mgmt/alarm/{id}

Retrieves a specified alarm record from the Events [em_event] or Alert [em_alert] table.

URL format

Default URL: /api/sn_ind_tmf642/alarm_mgmt/alarm/{id}

Supported request parameters

Table 7. Path parameters
Name Description
id Unique identifier of the record to retrieve.

Data type: String

Table: In the Message key field of the Events [em_event] table.

Table 8. Query parameters
Name Description
fields List of fields to return in the response. Invalid fields are ignored.
Valid fields:
  • alarmedObject
  • alarmRaisedTime
  • alarmType
  • crossedThresholdInformation
  • externalAlarmId
  • id
  • perceivedSeverity
  • probableCause
  • source
  • sourceSystemId
  • state
  • type

Default value: All fields

Data type: String

Table 9. Request body parameters (JSON)
Name Description
None

Headers

The following request and response headers apply to this HTTP action only, or apply to this action in a distinct way. For a list of general headers used in the REST API, see Supported REST API headers.

Table 10. Request headers
Header Description
Accept Data format of the response body. Only supports application/json.
Table 11. Response headers
Header Description
None

Status codes

The following status codes apply to this HTTP action. For a list of possible status codes used in the REST API, see REST API HTTP response codes.

Table 12. Status codes
Status code Description
200 Successful. The request was successfully processed.
400 Bad Request. A bad request type or malformed request was detected for one or more of the following reasons.
  • Invalid path parameter.
  • Invalid URI.
404 Record not found. A record associated with the specified ID is not found in the Event [em_event] or Alert [em_alert] table.

Response body parameters (JSON)

Example: cURL request

This example retrieves an alarm.

curl "https://instance.servicenow.com/api/sn_ind_tmf642/alarm_mgmt/alarm/001a0ca629078d10f87759e2f69e4c64_2212331" \
--request GET \
--header "Accept:application/json" \
--user 'username':'password'

Response body.

{
   "externalAlarmId": "2212331",
   "alarmType": "QualityOfServiceAlarm23",
   "perceivedSeverity": "MAJOR",
   "probableCause": "ProbB",
   "sourceSystemId": "checkSB",
   "alarmedObject": {
      "id": "vManage_000000",
      "href": " http://api/alarmedobject/000000"
   },
   "crossedThresholdInformation": {
      "direction": "111",
      "granularity": "1234",
      "indicatorName": "ind_name",
      "indicatorUnit": "ind_unit",
      "observedValue": "232",
      "thresholdId": "200",
      "thresholdCrossingDescription": "sample_description",
      "thresholdRef": "sample_ref"
   },
   "type": "QualityOfServiceAlarm",
   "ackState": "acknowledged",
   "specificProblem": "Inbound Traffic threshold crossed",
   "alarmedObjectType": "ROUTER",
   "alarmDetails": "Software Failure on SD-WAN Controller vManage_000000",
   "state": "processed",
   "alarmChangedTime": "2017-08-15T07:04:15.666Z",
   "proposedRepairActions": "Switch in standby equipment",
   "alarmReportingTime": "2017-06-15T07:04:15.666Z",
   "alarmRaisedTime": "2020-09-15T14:04:15.000Z",
   "plannedOutageIndication": "IN_SERVICE",
   "serviceAffecting": true,
   "affectedService": [
      {
         "id": "SD WAN Enterprise Solutions",
         "href": "http://api/service/vlan_dot0_dot0"
      },
      {
         "id": "Santa Clara SD WAN Application Service",
         "href": "http://api/service/vlan_dot0_dot0"
      }
   ],
   "source": "Alarm Management Open API",
   "href": "/api/sn_ind_tmf642/alarm_mgmt/alarm/001a0ca629078d10f87759e2f69e4c64_2212331",
   "id": "001a0ca629078d10f87759e2f69e4c64_2212331"
}

Alarm Management Open API – PATCH /sn_ind_tmf642/alarm_mgmt/alarm/{id}

Updates a specified alarm and any associated alert.

This endpoint writes the response body to the Additional Info field of the event record in the Events [em_event] table.

URL format

Default URL: /api/sn_ind_tmf642/alarm_mgmt/alarm/{id}

Supported request parameters

Table 13. Path parameters
Name Description
id Unique identifier of the record to update.

Data type: String

Table: In the Message key field of the Events [em_event] table.

Table 14. Query parameters
Name Description
None

Headers

The following request and response headers apply to this HTTP action only, or apply to this action in a distinct way. For a list of general headers used in the REST API, see Supported REST API headers.

Table 16. Request headers
Header Description
Accept Data format of the response body. Only supports application/json.
Content-Type Data format of the request body. Only supports application/json.
Table 17. Response headers
Header Description
None

Status codes

The following status codes apply to this HTTP action. For a list of possible status codes used in the REST API, see REST API HTTP response codes.

Table 18. Status codes
Status code Description
201 Successful. The request was successfully processed.
400 Bad request.

Possible reasons:

  • Invalid payload. Missing required alarm ID.
  • Invalid payload. Required field missing:<field name>.
  • Invalid payload. Missing required object.
  • Event not created, failed.
  • Unable to clear event.
  • Unable to update event.
  • The event doesn’t exist.

Response body parameters (JSON)

Name Description
alarmChangedTime Date and time the alarm changed in GMT on the alarm-owning system. This value updates when changes to the alarm from the alarmed resource occur or a change from a client update triggers the alarm. This value is required in the response.

Data type: String

href URL reference to the alarm.

Data type: String

id Unique identifier of the alarm. Value determined by the system owning the alarm.

Data type: String

Example: cURL request

In this example, the severity is reduced to MINOR.

curl "https://<instance>.service-now.com/api/sn_ind_tmf642/alarm_mgmt/alarm/6e116bb8db09201087b9a8394b961950_<external-alarm-id>" \
--request PATCH \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--data "{
     \"href\":\"http://api/alarm/ROUTER_IF@Cisco-0000-0-0-0-0-00-00-0-- Xz0/00@00\",
     \"externalAlarmId\":\"<external-alarm-id>\",
     \"alarmType\":\"QualityOfServiceAlarm\",
     \"type\":\"QualityOfServiceAlarm\",
     \"ackState\":\"acknowledged\",
     \"perceivedSeverity\":\"MINOR\",
     \"probableCause\":\"Threshold crossed\",
     \"specificProblem\":\"Inbound Traffic threshold crossed\",
     \"alarmedObjectType\":\"ROUTER\",
     \"alarmedObject\":{
        \"id\":\"vManage_000000\",
        \"href\":\" http://api/alarmedobject/000000\"
     },
     \"sourceSystemId\":\"SOURCE_SYSTEM_vManage_00000_000_00\",
     \"alarmDetails\":\"Software Failure on SD-WAN Controller vManage_000000\",
     \"alarmEscalation\": false,
     \"state\":\"RAISED\",
     \"alarmChangedTime\":\"2017-08-15T07:04:15.666Z\",
     \"proposedRepairActions\":\"Switch in standby equipment\",
     \"alarmReportingTime\":\"2017-06-15T07:04:15.666Z\",
     \"alarmRaisedTime\":\"2020-09-15T07:04:15.666Z\",
     \"plannedOutageIndication\":\"IN_SERVICE\",
     \"serviceAffecting\":true,
     \"affectedService\":[
        {
           \"id\":\"SD WAN Enterprise Solutions\",
           \"href\":\"http://api/service/vlan_dot0_dot0\"
        },
        {
           \"id\":\"Santa Clara SD WAN Application Service\",
           \"href\":\"http://api/service/vlan_dot0_dot0\"
        }
     ] 
 }" \
--user 'user:'password'

Response body.

{
  "result": {
    "alarmChangedTime": "2017-08-15T07:04:15.666Z",
    "id": "6e116bb8db09201087b9a8394b961950_<external-alarm-id>"
  }
}

Alarm Management Open API – POST /sn_ind_tmf642/alarm_mgmt/alarm

Creates an alarm record in the Events [em_event] table.

When the alarm record is created, an ID for the alarm is added in the Message key field.

An alert record might also be created based on Alert management rules.

This endpoint writes the response body to the Additional Info field of the event record in the Events [em_event] table.

URL format

Default URL: /api/sn_ind_tmf642/alarm_mgmt/alarm

Supported request parameters

Table 19. Path parameters
Name Description
None
Table 20. Query parameters
Name Description
None

Headers

The following request and response headers apply to this HTTP action only, or apply to this action in a distinct way. For a list of general headers used in the REST API, see Supported REST API headers.

Table 22. Request headers
Header Description
Accept Data format of the response body. Only supports application/json.
Content-Type Data format of the request body. Only supports application/json.
Table 23. Response headers
Header Description
None

Status codes

The following status codes apply to this HTTP action. For a list of possible status codes used in the REST API, see REST API HTTP response codes.

Table 24. Status codes
Status code Description
201 Successful. The request was successfully processed.
400 Bad request.

Possible reasons:

  • Invalid payload. Missing required alarm ID.
  • Invalid payload. Required field missing:<field name>.
  • Invalid payload. Missing required object.
  • Event not created, failed.
  • Unable to clear event.
  • Unable to update event.
  • The event doesn’t exist.

Response body parameters (JSON)

Example: cURL request

This example creates an alarm.

curl "https://<instance>.service-now.com/api/sn_ind_tmf642/alarm_mgmt/alarm" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--data "{
     "href":"http://api/alarm/ROUTER_IF@Cisco-0000-0-0-0-0-00-00-0-- Xz0/00@00",
     "externalAlarmId":"<external-alarm-id>",
     "alarmType":"QualityOfServiceAlarm",
     "type":"QualityOfServiceAlarm",
     "ackState":"acknowledged",
     "perceivedSeverity":"CRITICAL",
     "probableCause":"Threshold crossed",
     "specificProblem":"Inbound Traffic threshold crossed",
     "alarmedObjectType":"ROUTER",
     "alarmedObject":{
        "id":"vManage_000000",
        "href":" http://api/alarmedobject/000000"
     },
     "sourceSystemId":"SOURCE_SYSTEM_vManage_00000_000_00",
     "alarmDetails":"Software Failure on SD-WAN Controller vManage_000000",
     "state":"RAISED",
     "alarmChangedTime":"2017-08-15T07:04:15.666Z",
     "proposedRepairActions":"Switch in standby equipment",
     "alarmReportingTime":"2017-06-15T07:04:15.666Z",
     "alarmRaisedTime":"2020-09-15T07:04:15.666Z",
     "plannedOutageIndication":"IN_SERVICE",
     "serviceAffecting":true,
     "affectedService":[
        {
           "id":"SD WAN Enterprise Solutions",
           "href":"http://api/service/vlan_dot0_dot0"
        },
        {
           "id":"Santa Clara SD WAN Application Service",
           "href":"http://api/service/vlan_dot0_dot0"
        }
     ] 
 }" \
--user 'user':'password'

Response body.

{
     "href":"http://api/alarm/ROUTER_IF@Cisco-0000-0-0-0-0-00-00-0-- Xz0/00@00",
     "externalAlarmId":"<external-alarm-id>",
     "alarmType":"QualityOfServiceAlarm",
     "type":"QualityOfServiceAlarm",
     "ackState":"acknowledged",
     "perceivedSeverity":"CRITICAL",
     "probableCause":"Threshold crossed",
     "specificProblem":"Inbound Traffic threshold crossed",
     "alarmedObjectType":"ROUTER",
     "alarmedObject":{
        "id":"vManage_000000",
        "href":" http://api/alarmedobject/000000"
     },
     "sourceSystemId":"SOURCE_SYSTEM_vManage_00000_000_00",
     "alarmDetails":"Software Failure on SD-WAN Controller vManage_000000",
     "state":"RAISED",
     "alarmChangedTime":"2017-08-15T07:04:15.666Z",
     "proposedRepairActions":"Switch in standby equipment",
     "alarmReportingTime":"2017-06-15T07:04:15.666Z",
     "alarmRaisedTime":"2020-09-15T07:04:15.666Z",
     "plannedOutageIndication":"IN_SERVICE",
     "serviceAffecting":true,
     "affectedService":[
        {
           "id":"SD WAN Enterprise Solutions",
           "href":"http://api/service/vlan_dot0_dot0"
        },
        {
           "id":"Santa Clara SD WAN Application Service",
           "href":"http://api/service/vlan_dot0_dot0"
        }
     ] 
 }

Alarm Management Open API – POST /sn_ind_tmf642/alarm_mgmt/alarm/{id}/clear

Clears a specified alarm and closes any associated alert.

URL format

Default URL: /api/sn_ind_tmf642/alarm_mgmt/alarm/{id}/clear

Supported request parameters

Table 25. Path parameters
Name Description
id Unique identifier of the alarm to clear.

Data type: String

Table: In the Message key field of the Events [em_events] table.

Table 26. Query parameters
Name Description
None
Table 27. Request body parameters (JSON)
Name Description
alarmClearedTime Date and time at which the alarm clears at the source.

Data type: String

Table: In the Time of event field of the Events [em_events] table.

clearSystemId Required. Name of the instance from which the alarmCleared operation was invoked.

Data type: String

clearUserId Required. Unique ID of the user who invoked the alarmCleared operation.

Data type: String

Headers

The following request and response headers apply to this HTTP action only, or apply to this action in a distinct way. For a list of general headers used in the REST API, see Supported REST API headers.

Table 28. Request headers
Header Description
Accept Data format of the response body. Only supports application/json.
Content-Type Data format of the request body. Only supports application/json.
Table 29. Response headers
Name Description
None

Status codes

The following status codes apply to this HTTP action. For a list of possible status codes used in the REST API, see REST API HTTP response codes.

Table 30. Status codes
Status code Description
201 Successful. The request was successfully processed.
400 Bad request.

Possible reasons:

  • Invalid payload. Missing required alarm ID.
  • Invalid payload. Required field missing:<field name>.
  • Invalid payload. Missing required object.
  • Event not created, failed.
  • Unable to clear event.
  • Unable to update event.
  • The event doesn’t exist.

Response body parameters (JSON)

Example: cURL request

This example clears an alarm.

curl "https://<instance>.service-now.com/api/sn_ind_tmf642/alarm_mgmt/alarm/6e116bb8db09201087b9a8394b961950_<external-alarm-id>/clear" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--data "{
  \"alarmClearedTime\": \"2017-08-15 06:04:15\",
  \"clearSystemId\": \"<source_instance_name>\",
  \"clearUserId\": \"SOURCE_SYSTEM_vManage_00000_000_00\" 
}" \
--user 'user':'password'

Response body.

{
  "result": {
    "alarmClearedTime": "2017-08-15 06:04:15",
    "clearSystemId": "<source_instance_name>",
    "clearUserId": "SOURCE_SYSTEM_vManage_00000_000_00",
    "id": "6e116bb8db09201087b9a8394b961950_<external-alarm-id>"
  }
}