Skip to content
Release: Australia · Updated: 2026-03-12 · Official documentation · View source

Alarm Management Open API

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 the TMF642 Alarm Management API User Guide v5.0.0, September 2023.

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.

Image omitted: tmf-conformance.png
TMF conformance logo

Parent Topic:REST API reference

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

NameDescription
None 
NameDescription
alarmRaisedTimeDate the alarm was raised. Only alarms with a date matching the value of this parameter are returned in the response.Data type: String
fieldsList 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: All fields Data type: String
idAlarm ID. Only alarms with an ID matching the value of this parameter are returned in the response.Data type: String Table: In the Message key field in the Events \[em\_event\] table.
limit

Maximum number of records to return. For requests that exceed this number of records, use the offset parameter to paginate record retrieval. Default: 1000

Maximum: 2000

Data type: Number

offsetStarting index at which to begin retrieving records. Use this value to paginate record retrieval. This functionality enables the retrieval of all records, regardless of the number of records, in small manageable chunks.Data type: Number Default: 0
probableCauseProbable cause of the alarm. Only alarms with a probable cause matching the value of this parameter are returned in the response.Data type: String
stateAlarm state. Only alarms with a state matching the value of this parameter are returned in the response.Data type: String
sourceSystemIdSource system ID of the alarm. Only alarms with a source system ID matching the value of this parameter are returned in the response.Data type: String
NameDescription
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.

HeaderDescription
None 
HeaderDescription
Content-RangeRange of content returned in a paginated call. For example, if offset=2 and limit=3, the value of the Content-Range header is items 3-5.
Content-TypeData format of the response body. Only supports application/json.
X-Total-CountFor paginated queries, this header specifies the total number of records available on the server.

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.

Status codeDescription
200Request successfully processed. Full resource returned in response \(no pagination\).
206Partial resource returned in response \(with pagination\).
400Bad request. Possible reasons: - Invalid path parameter - Invalid URI
404Record not found. No records matching the query parameters are found in the table.

Response body parameters (JSON)

NameDescription
affectedServiceList of one or more services affected by the alarm.Data type: Array of Objects
"affectedService":[
  {
    "href": "String",
    "id": "String"
  },
]
affectedService.hrefURL reference that provides details of the affected service.Data type: String
affectedService.idIdentifier of the service affected by the alarm. This value maps to the affected configuration item \(CI\) on the alert. Data type: String
alarmDetailsAdditional details about the alarm.Data type: String
alarmedObjectDetails of the alarm object.
"alarmedObject":
{
  "href": "String",
  "id": "String"
}
Data type: Object
alarmedObject.idUnique identifier of the alarm object. This value maps to a CI in the system. Data type: String
alarmedObject.hrefURL reference to get the details of the alarm object. Data type: String
alarmedObjectTypeType or class of object associated with the event.Data type: String
alarmRaisedTimeDate and time at which the alarm occurs at its source.Data type: String
alarmReportingTime

Date and time at which the OSS reports its alarm.This value might differ from the alarmRaisedTime value. For example, if an element management system (EMS) maintains the alarm list:

  • The alarmRaisedTime is the time of alarm detection by the network element (NE).
  • The alarmReportingTime is the alarm report time of storage in the EMS alarm list.

Data type: String

alarmTypeAlarm category. Data type: String
crossedThresholdInformationDetails about the crossed threshold.Data type: Object
"crossedThresholdInformation":
{
  "direction": "String",
  "granularity": "String",
  "indicatorName": "String",
  "indicatorUnit": "String",
  "observedValue": "String",
  "thresholdCrossingDescription": "String",
  "thresholdId": "String",
  "thresholdRef": "String"
}
crossedThresholdInformation.directionThreshold crossing direction.Valid values: - DOWN - UP Data type: String
crossedThresholdInformation.granularityGranularity at which the indicator is evaluated for threshold crossing. For example, `5MINUTES`.Data type: String
crossedThresholdInformation.indicatorNameName of the indicator that crosses the alarm threshold.Data type: String
crossedThresholdInformation.indicatorUnitMeasurement unit of the indicator corresponding to the crossed threshold.Data type: String
crossedThresholdInformation.observedValueNumber identifying the indicator crossing the threshold.Data type: String
crossedThresholdInformation.thresholdCrossingDescriptionMore threshold details of the threshold crossing alarm.Data type: String
crossedThresholdInformation.thresholdIdUnique identifier of the threshold that caused the alarm. Data type: String
crossedThresholdInformation.thresholdRefURL of the threshold object.Data type: String
externalAlarmIdUnique identifier for the alarm from the source system posting the alarm. Data type: String
hrefURL of the resource.Data type: String
idUnique identifier for the system to identify and process the alarm payload as an event. Data type: String
perceivedSeverityAlarm severity. Valid values: - CLEAR - CRITICAL - MAJOR - MINOR - WARNING Data type: String
plannedOutageIndicationIndicates that the managed object for this alarm is in a planned outage state. For example, planned maintenance or out-of-service.Data type: String
probableCauseMost likely situation to trigger the alarm. Use with alarmType to qualify the alarm. Data type: String
proposedRepairActionsIf available to the system, provides a repair action to resolve the issue that triggers the alarm.Data type: String
serviceAffectingFlag that indicates whether the alarm affects service.Valid values: - true: Alarm affects service performance or availability. - false: Alarm doesn't affect service. Default: false Data type: Boolean
sourceSystemIdInstance ID of the source alarm. Data type: String
specificProblemSpecific problem that triggers the alarm. Use with the probableCause tparameter o qualify the alarm.Data type: String
stateAlarm state.Valid values: - Error - Ignored - Ready - Processed If an invalid value is provided, the state is set to `Ready`. If the state is `Ready`, an alert is created in the Alert \[em\_alert\] table and the state then becomes `Processed`. If the state is `Processed`, `Ignored`, or `Error` no alert is created. Default value: Ready Data type: String

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

NameDescription
idUnique identifier of the record to retrieve.Data type: String Table: In the Message key field of the Events \[em\_event\] table.
NameDescription
fieldsList 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
NameDescription
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.

HeaderDescription
AcceptData format of the response body. Only supports application/json.
HeaderDescription
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.

Status codeDescription
200Successful. The request was successfully processed.
400Bad Request. A bad request type or malformed request was detected for one or more of the following reasons.- Invalid path parameter. - Invalid URI.
404Record 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)

NameDescription
affectedServiceList of one or more services affected by the alarm.Data type: Array of Objects
"affectedService":[
  {
    "href": "String",
    "id": "String"
  },
]
affectedService.hrefURL reference that provides details of the affected service.Data type: String
affectedService.idIdentifier of the service affected by the alarm. This value maps to the affected configuration item \(CI\) on the alert. Data type: String
alarmDetailsAdditional details about the alarm.Data type: String
alarmedObjectDetails of the alarm object. Data type: Object
"alarmedObject":
{
  "href": "String",
  "id": "String"
}
alarmedObject.idUnique identifier of the alarm object. This value maps to a CI in the system. Data type: String
alarmedObject.hrefURL reference to get the details of the alarm object. Data type: String
alarmedObjectTypeType or class of object associated with the event.Data type: String
alarmRaisedTimeDate and time at which the alarm occurs at its source.Data type: String
alarmReportingTime

Date and time at which the OSS reports its alarm.This value might differ from the alarmRaisedTime value. For example, if an element management system (EMS) maintains the alarm list:

  • The alarmRaisedTime is the time of alarm detection by the network element (NE).
  • The alarmReportingTime is the alarm report time of storage in the EMS alarm list.

Data type: String

alarmTypeAlarm category. Data type: String
crossedThresholdInformationDetails about the crossed threshold.Data type: Object
"crossedThresholdInformation":
{
  "direction": "String",
  "granularity": "String",
  "indicatorName": "String",
  "indicatorUnit": "String",
  "observedValue": "String",
  "thresholdCrossingDescription": "String",
  "thresholdId": "String",
  "thresholdRef": "String"
}
crossedThresholdInformation.directionThreshold crossing direction.Valid values: - DOWN - UP Data type: String
crossedThresholdInformation.granularityGranularity at which the indicator is evaluated for threshold crossing. For example, `5MINUTES`.Data type: String
crossedThresholdInformation.indicatorNameName of the indicator that crosses the alarm threshold.Data type: String
crossedThresholdInformation.indicatorUnitMeasurement unit of the indicator corresponding to the crossed threshold.Data type: String
crossedThresholdInformation.observedValueNumber identifying the indicator crossing the threshold.Data type: String
crossedThresholdInformation.thresholdCrossingDescriptionMore threshold details of the threshold crossing alarm.Data type: String
crossedThresholdInformation.thresholdIdUnique identifier of the threshold that caused the alarm. Data type: String
crossedThresholdInformation.thresholdRefURL of the threshold object.Data type: String
externalAlarmIdUnique identifier for the alarm from the source system posting the alarm. Data type: String
hrefURL of the resource.Data type: String
idUnique identifier for the system to identify and process the alarm payload as an event. Data type: String
perceivedSeverityAlarm severity. Valid values: - CLEAR - CRITICAL - MAJOR - MINOR - WARNING Data type: String
plannedOutageIndicationIndicates that the managed object for this alarm is in a planned outage state. For example, planned maintenance or out-of-service.Data type: String
probableCauseMost likely situation to trigger the alarm. Use with alarmType to qualify the alarm. Data type: String
proposedRepairActionsIf available to the system, provides a repair action to resolve the issue that triggers the alarm.Data type: String
serviceAffectingFlag that indicates whether the alarm affects service.Valid values: - true: Alarm affects service performance or availability. - false: Alarm doesn't affect service. Default: false Data type: Boolean
sourceSystemIdInstance ID of the source alarm. Data type: String
specificProblemSpecific problem that triggers the alarm. Use with the probableCause tparameter o qualify the alarm.Data type: String
stateAlarm state.Valid values: - Error - Ignored - Ready - Processed If an invalid value is provided, the state is set to `Ready`. If the state is `Ready`, an alert is created in the Alert \[em\_alert\] table and the state then becomes `Processed`. If the state is `Processed`, `Ignored`, or `Error` no alert is created. Default value: Ready Data type: String

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

NameDescription
idUnique identifier of the record to update.Data type: String Table: In the Message key field of the Events \[em\_event\] table.
NameDescription
None 
NameDescription
affectedServiceList of one or more services affected by the alarm.Data type: Array of Objects
"affectedService":[
  {
    "href": "String",
    "id": "String"
  },
]
affectedService.hrefURL reference that provides details of the affected service.Data type: String
affectedService.idRequired. Identifier of the service affected by the alarm. This value maps to the affected configuration item \(CI\) on the alert. Data type: String
alarmChangedTimeIndicates the last date and time the alarm changed on the alarm-owning system. Any change to the alarm updates this value whether coming from the alarmed resource or triggered by a change from the client.Data type: String
alarmDetailsAdditional details about the alarm.Data type: String
alarmEscalationFlag that indicates an escalation in alarm severity. Valid values: - true: There is an escalation in alarm severity. - false: The alarm severity is the same or lower. Default: false Data type: Boolean
crossedThresholdInformationDetails about the crossed threshold.Data type: Object
"crossedThresholdInformation":
{
  "direction": "String",
  "granularity": "String",
  "indicatorName": "String",
  "indicatorUnit": "String",
  "observedValue": "String",
  "thresholdCrossingDescription": "String",
  "thresholdId": "String",
  "thresholdRef": "String"
}
crossedThresholdInformation.directionThreshold crossing direction.Valid values: - DOWN - UP Data type: String
crossedThresholdInformation.granularityGranularity at which the indicator is evaluated for threshold crossing. For example, `5MINUTES`.Data type: String
crossedThresholdInformation.indicatorNameName of the indicator that crosses the alarm threshold.Data type: String
crossedThresholdInformation.indicatorUnitMeasurement unit of the indicator corresponding to the crossed threshold.Data type: String
crossedThresholdInformation.observedValueNumber identifying the indicator crossing the threshold.Data type: String
crossedThresholdInformation.thresholdCrossingDescriptionMore threshold details of the threshold crossing alarm.Data type: String
crossedThresholdInformation.thresholdIdRequired.Unique identifier of the threshold that caused the alarm. Data type: String
crossedThresholdInformation.thresholdRefURL of the threshold object.Data type: String
hrefURL reference to the alarm.Data type: String
perceivedSeverityRequired. Alarm severity. Valid values: - CLEAR - CRITICAL - MAJOR - MINOR - WARNING Data type: String
plannedOutageIndicationIndicates that the managed object for this alarm is in a planned outage state. For example, planned maintenance or out-of-service.Data type: String
probableCause

Required. Most likely situation to trigger the alarm. Use with alarmType to qualify the alarm.

Data type: String

proposedRepairActionsIf available to the system, provides a repair action to resolve the issue that triggers the alarm.Data type: String
serviceAffectingFlag that indicates whether the alarm affects service.Valid values: - true: Alarm affects service performance or availability. - false: Alarm doesn't affect service. Default: false Data type: Boolean
specificProblemSpecific problem that triggers the alarm. Use with the probableCause tparameter o qualify the alarm.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.

HeaderDescription
AcceptData format of the response body. Only supports application/json.
Content-TypeData format of the request body. Only supports application/json.
HeaderDescription
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.

Status codeDescription
201Successful. The request was successfully processed.
400Bad 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)

NameDescription
alarmChangedTimeDate 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
hrefURL reference to the alarm.Data type: String
idUnique identifier of the alarm. Value determined by the system owning the alarm.Data type: String

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

NameDescription
None 
NameDescription
None 
NameDescription
affectedServiceList of one or more services affected by the alarm.Data type: Array of Objects
"affectedService":[
  {
    "href": "String",
    "id": "String"
  },
]
affectedService.hrefURL reference that provides details of the affected service.Data type: String
affectedService.idRequired. Identifier of the service affected by the alarm. This value maps to the affected configuration item \(CI\) on the alert. Data type: String
alarmDetailsAdditional details about the alarm.Data type: String
alarmedObjectRequired. Details of the alarm object.
"alarmedObject":
{
  "href": "String",
  "id": "String"
}
Data type: Object
alarmedObject.idRequired. Unique identifier of the alarm object. This value maps to a CI in the system. Data type: String
alarmedObject.hrefURL reference to get the details of the alarm object. Data type: String
alarmedObjectTypeType or class of object associated with the event.Data type: String
alarmRaisedTimeDate and time at which the alarm occurs at its source.Data type: String
alarmReportingTime

Date and time at which the OSS reports its alarm.This value might differ from the alarmRaisedTime value. For example, if an element management system (EMS) maintains the alarm list:

  • The alarmRaisedTime is the time of alarm detection by the network element (NE).
  • The alarmReportingTime is the alarm report time of storage in the EMS alarm list.

Data type: String

alarmTypeRequired. Alarm category. Data type: String
crossedThresholdInformationDetails about the crossed threshold.Data type: Object
"crossedThresholdInformation":
{
  "direction": "String",
  "granularity": "String",
  "indicatorName": "String",
  "indicatorUnit": "String",
  "observedValue": "String",
  "thresholdCrossingDescription": "String",
  "thresholdId": "String",
  "thresholdRef": "String"
}
crossedThresholdInformation.directionThreshold crossing direction.Valid values: - DOWN - UP Data type: String
crossedThresholdInformation.granularityGranularity at which the indicator is evaluated for threshold crossing. For example, `5MINUTES`.Data type: String
crossedThresholdInformation.indicatorNameName of the indicator that crosses the alarm threshold.Data type: String
crossedThresholdInformation.indicatorUnitMeasurement unit of the indicator corresponding to the crossed threshold.Data type: String
crossedThresholdInformation.observedValueNumber identifying the indicator crossing the threshold.Data type: String
crossedThresholdInformation.thresholdCrossingDescriptionMore threshold details of the threshold crossing alarm.Data type: String
crossedThresholdInformation.thresholdIdRequired.Unique identifier of the threshold that caused the alarm. Data type: String
crossedThresholdInformation.thresholdRefURL of the threshold object.Data type: String
externalAlarmIdRequired. Unique identifier for the alarm from the source system posting the alarm. Data type: String
idUnique identifier for the system to identify and process the alarm payload as an event. This value must be empty if used in the payload. The system generates this unique ID for the event and sends it as part of the response payload. Data type: String
perceivedSeverityRequired. Alarm severity. Valid values: - CLEAR - CRITICAL - MAJOR - MINOR - WARNING Data type: String
plannedOutageIndicationIndicates that the managed object for this alarm is in a planned outage state. For example, planned maintenance or out-of-service.Data type: String
probableCause

Required. Most likely situation to trigger the alarm. Use with alarmType to qualify the alarm.

Data type: String

proposedRepairActionsIf available to the system, provides a repair action to resolve the issue that triggers the alarm.Data type: String
serviceAffectingFlag that indicates whether the alarm affects service.Valid values: - true: Alarm affects service performance or availability. - false: Alarm doesn't affect service. Default: false Data type: Boolean
sourceSystemIdRequired. Instance ID of the source alarm. Data type: String
specificProblemSpecific problem that triggers the alarm. Use with the probableCause tparameter o qualify the alarm.Data type: String
stateAlarm state.Valid values: - Error - Ignored - Ready - Processed If an invalid value is provided, the state is set to `Ready`. If the state is `Ready`, an alert is created in the Alert \[em\_alert\] table and the state then becomes `Processed`. If the state is `Processed`, `Ignored`, or `Error` no alert is created. Default value: Ready 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.

HeaderDescription
AcceptData format of the response body. Only supports application/json.
Content-TypeData format of the request body. Only supports application/json.
HeaderDescription
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.

Status codeDescription
201Successful. The request was successfully processed.
400Bad 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)

NameDescription
affectedServiceList of one or more services affected by the alarm.Data type: Array of Objects
"affectedService":[
  {
    "href": "String",
    "id": "String"
  },
]
affectedService.hrefURL reference that provides details of the affected service.Data type: String
affectedService.idIdentifier of the service affected by the alarm. This value maps to the affected configuration item \(CI\) on the alert. Data type: String
alarmDetailsAdditional details about the alarm.Data type: String
alarmedObjectDetails of the alarm object.
"alarmedObject":
{
  "href": "String",
  "id": "String"
}
Data type: Object
alarmedObject.idUnique identifier of the alarm object. This value maps to a CI in the system. Data type: String
alarmedObject.hrefURL reference to get the details of the alarm object. Data type: String
alarmedObjectTypeType or class of object associated with the event.Data type: String
alarmRaisedTimeDate and time at which the alarm occurs at its source.Data type: String
alarmReportingTime

Date and time at which the OSS reports its alarm.This value might differ from the alarmRaisedTime value. For example, if an element management system (EMS) maintains the alarm list:

  • The alarmRaisedTime is the time of alarm detection by the network element (NE).
  • The alarmReportingTime is the alarm report time of storage in the EMS alarm list.

Data type: String

alarmTypeAlarm category. Data type: String
crossedThresholdInformationDetails about the crossed threshold.Data type: Object
"crossedThresholdInformation":
{
  "direction": "String",
  "granularity": "String",
  "indicatorName": "String",
  "indicatorUnit": "String",
  "observedValue": "String",
  "thresholdCrossingDescription": "String",
  "thresholdId": "String",
  "thresholdRef": "String"
}
crossedThresholdInformation.directionThreshold crossing direction.Valid values: - DOWN - UP Data type: String
crossedThresholdInformation.granularityGranularity at which the indicator is evaluated for threshold crossing. For example, `5MINUTES`.Data type: String
crossedThresholdInformation.indicatorNameName of the indicator that crosses the alarm threshold.Data type: String
crossedThresholdInformation.indicatorUnitMeasurement unit of the indicator corresponding to the crossed threshold.Data type: String
crossedThresholdInformation.observedValueNumber identifying the indicator crossing the threshold.Data type: String
crossedThresholdInformation.thresholdCrossingDescriptionMore threshold details of the threshold crossing alarm.Data type: String
crossedThresholdInformation.thresholdIdUnique identifier of the threshold that caused the alarm. Data type: String
crossedThresholdInformation.thresholdRefURL of the threshold object.Data type: String
externalAlarmIdUnique identifier for the alarm from the source system posting the alarm. Data type: String
hrefURL of the resource.Data type: String
idUnique identifier for the system to identify and process the alarm payload as an event. Data type: String
perceivedSeverityAlarm severity. Valid values: - CLEAR - CRITICAL - MAJOR - MINOR - WARNING Data type: String
plannedOutageIndicationIndicates that the managed object for this alarm is in a planned outage state. For example, planned maintenance or out-of-service.Data type: String
probableCauseMost likely situation to trigger the alarm. Use with alarmType to qualify the alarm. Data type: String
proposedRepairActionsIf available to the system, provides a repair action to resolve the issue that triggers the alarm.Data type: String
serviceAffectingFlag that indicates whether the alarm affects service.Valid values: - true: Alarm affects service performance or availability. - false: Alarm doesn't affect service. Default: false Data type: Boolean
sourceSystemIdInstance ID of the source alarm. Data type: String
specificProblemSpecific problem that triggers the alarm. Use with the probableCause tparameter o qualify the alarm.Data type: String
stateAlarm state.Valid values: - Error - Ignored - Ready - Processed If an invalid value is provided, the state is set to `Ready`. If the state is `Ready`, an alert is created in the Alert \[em\_alert\] table and the state then becomes `Processed`. If the state is `Processed`, `Ignored`, or `Error` no alert is created. Default value: Ready Data type: String

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

NameDescription
idUnique identifier of the alarm to clear.Data type: String Table: In the Message key field of the Events \[em\_events\] table.
NameDescription
None 
NameDescription
alarmClearedTimeDate 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.
clearSystemIdRequired. Name of the instance from which the alarmCleared operation was invoked. Data type: String
clearUserIdRequired. 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.

HeaderDescription
AcceptData format of the response body. Only supports application/json.
Content-TypeData format of the request body. Only supports application/json.
NameDescription
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.

Status codeDescription
201Successful. The request was successfully processed.
400Bad 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)

NameDescription
alarmClearedTimeDate 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.
clearSystemIdName of the instance from which the alarmCleared operation was invoked. Data type: String
clearUserIdUnique ID of the user who invoked the alarmCleared operation. Data type: String
hrefURL of the alarm.Data type: String
idUnique ID.Data type: String Table: In the Message key field of the record in the Events \[em\_events\] table.

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>"
  }
}