KEMBAR78
TMF642 Alarm Management API User Guide v4.0.0 | PDF | Uniform Resource Identifier | Hyperlink
0% found this document useful (0 votes)
346 views134 pages

TMF642 Alarm Management API User Guide v4.0.0

This document provides an overview and guidelines for the TM Forum Alarm Management API specification. It includes sample use cases, descriptions of resource models for alarms and related entities, and API operations for managing alarms, acknowledgements, clearances, comments, and groupings. The API supports CRUD operations on alarms and associated resources to facilitate communication between OSS systems for service fault management.

Uploaded by

Moka
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
346 views134 pages

TMF642 Alarm Management API User Guide v4.0.0

This document provides an overview and guidelines for the TM Forum Alarm Management API specification. It includes sample use cases, descriptions of resource models for alarms and related entities, and API operations for managing alarms, acknowledgements, clearances, comments, and groupings. The API supports CRUD operations on alarms and associated resources to facilitate communication between OSS systems for service fault management.

Uploaded by

Moka
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 134

TM Forum Specification

Alarm Management API User Guide

TMF642
Team Approved Date: 03-Apr-2020

Release Status: Pre-production Approval Status: Team Approved


Version 4.0.0 IPR Mode: RAND

TM Forum 2020. All Rights Reserved.


Alarm Management API User Guide

NOTICE
Copyright © TM Forum 2020. All Rights Reserved.

This document and translations of it may be copied and furnished to others, and derivative works that comment on
or otherwise explain it or assist in its implementation may be prepared, copied, published, and distributed, in
whole or in part, without restriction of any kind, provided that the above copyright notice and this section are
included on all such copies and derivative works. However, this document itself may not be modified in any way,
including by removing the copyright notice or references to TM FORUM, except as needed for the purpose of
developing any document or deliverable produced by a TM FORUM Collaboration Project Team (in which case the
rules applicable to copyrights, as set forth in the TM FORUM IPR Policy, must be followed) or as required to
translate it into languages other than English.

The limited permissions granted above are perpetual and will not be revoked by TM FORUM or its successors or
assigns.

This document and the information contained herein is provided on an "AS IS" basis and TM FORUM DISCLAIMS
ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
INFORMATION HEREIN WILL NOT INFRINGE ANY OWNERSHIP RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Direct inquiries to the TM Forum office:

4 Century Drive, Suite 100


Parsippany, NJ 07054, USA
Tel No. +1 973 944 5100
Fax No. +1 973 998 7196
TM Forum Web Page: www.tmforum.org

© TM Forum 2020. All Rights Reserved. Page 2 of 134


Alarm Management API User Guide

Table of Contents

NOTICE ....................................................................................................................................................................... 2
Table of Contents ..................................................................................................................................................... 3
List of Tables ............................................................................................................................................................. 6
Introduction .............................................................................................................................................................. 7
Alarm Information ...................................................................................................................................................... 7
Alarm Type .............................................................................................................................................................. 8
Probable Cause ........................................................................................................................................................ 8
SAMPLE USE CASES ....................................................................................................................................................... 14
Sample Use Case – Simple Alarm Forwarding .......................................................................................................... 14
Sample Use Case – OSS-to-OSS ................................................................................................................................. 15
Support of polymorphism and extension patterns ...................................................................................................... 17
RESOURCE MODEL ........................................................................................................................................................ 18
Managed Entity and Task Resource Models ..................................................................................................... 18
Alarm resource ...................................................................................................................................................... 18
Ack Alarms resource .............................................................................................................................................. 25
Un Ack Alarms resource ........................................................................................................................................ 34
Clear Alarms resource ........................................................................................................................................... 43
Comment Alarms resource.................................................................................................................................... 53
Group Alarms resource ......................................................................................................................................... 62
Un Group Alarms resource .................................................................................................................................... 70
Notification Resource Models .............................................................................................................................. 77
Alarm Create Event................................................................................................................................................ 79
Alarm Attribute Value Change Event .................................................................................................................... 80
Alarm State Change Event ..................................................................................................................................... 80
Alarm Delete Event................................................................................................................................................ 80
Ack Alarms Create Event ....................................................................................................................................... 81
Ack Alarms State Change Event............................................................................................................................. 81
Un Ack Alarms Create Event .................................................................................................................................. 81
Un Ack Alarms State Change Event ....................................................................................................................... 82
Clear Alarms Create Event ..................................................................................................................................... 82

© TM Forum 2020. All Rights Reserved. Page 3 of 134


Alarm Management API User Guide

Clear Alarms State Change Event .......................................................................................................................... 83


Comment Alarms Create Event ............................................................................................................................. 83
Comment Alarms State Change Event .................................................................................................................. 83
Group Alarms Create Event ................................................................................................................................... 84
Group Alarms State Change Event ........................................................................................................................ 84
Un Group Alarms Create Event ............................................................................................................................. 84
Un Group Alarms State Change Event ................................................................................................................... 85
API OPERATIONS ........................................................................................................................................................... 86
Operations on Alarm................................................................................................................................................. 86
List alarms.............................................................................................................................................................. 87
Retrieve alarm ....................................................................................................................................................... 88
Create alarm .......................................................................................................................................................... 89
Patch alarm............................................................................................................................................................ 91
Delete alarm .......................................................................................................................................................... 97
Operations on Ack Alarms ........................................................................................................................................ 97
List ack alarmses .................................................................................................................................................... 97
Retrieve ack alarms ............................................................................................................................................... 98
Create ack alarms .................................................................................................................................................. 99
Operations on Un Ack Alarms ................................................................................................................................. 106
List un ack alarmses ............................................................................................................................................. 106
Retrieve un ack alarms ........................................................................................................................................ 107
Create un ack alarms ........................................................................................................................................... 107
Operations on Clear Alarms .................................................................................................................................... 110
List clear alarms ................................................................................................................................................... 110
Retrieve clear alarms ........................................................................................................................................... 111
Create clear alarms.............................................................................................................................................. 112
Operations on Comment Alarms ............................................................................................................................ 115
List comment alarmses........................................................................................................................................ 115
Retrieve comment alarms ................................................................................................................................... 116
Create comment alarms ...................................................................................................................................... 117
Operations on Group Alarms .................................................................................................................................. 120

© TM Forum 2020. All Rights Reserved. Page 4 of 134


Alarm Management API User Guide

List group alarmses.............................................................................................................................................. 120


Retrieve group alarms ......................................................................................................................................... 121
Create group alarms ............................................................................................................................................ 122
Operations on Un Group Alarms ............................................................................................................................ 124
List un group alarms ............................................................................................................................................ 124
Retrieve ungroup alarms ..................................................................................................................................... 125
Create ungroup alarms ........................................................................................................................................ 126
API NOTIFICATIONS..................................................................................................................................................... 130
Register listener ...................................................................................................................................................... 130
Unregister listener .................................................................................................................................................. 131
Publish Event to listener ......................................................................................................................................... 131
Acknowledgements .................................................................................................................................................... 133
Version History........................................................................................................................................................ 133
Release History ....................................................................................................................................................... 133
Contributors to Document...................................................................................................................................... 134

© TM Forum 2020. All Rights Reserved. Page 5 of 134


Alarm Management API User Guide

List of Tables
N/A

© TM Forum 2020. All Rights Reserved. Page 6 of 134


Alarm Management API User Guide

Introduction

The TM Forum Alarm Management API applies lessons that were learned in previous generations of similar APIs
that were implemented in the Telecommunication industry, starting from ITU recommendations, TM Forum OSS/J,
MTOSI and TIP interfaces, NGMN alignment initiative between 3GPP and TM Forum interfaces, and the more
recent ETSI work on requirements for NFV interfaces.

This document defines the REST API for Alarm Management. The API does not assume a particular management
layer, so the monitored objects can be either Resource, Service or Customer layer.

There is a strong desire from Service Providers to provide a Fault Management interface that can be used in a
simple way to do simple alarm reporting while also covering more complex OSS-to-OSS scenarios. The Alarm
Management interface should support both and should not add complexity when used in the context of simple
Alarm Reporting.

Alarm Information
An alarm is described in increasing detail by the attributes shown in the diagram below. Every alarm must include
an alarmType which places the fault within a small set of broad categories. A probableCause is also required and
attributes one of an industry agreed set of descriptions of the probable cause. Vendor specific descriptions may be
contained in specificProblem and more detailed information about the fault may be provided in alarmDetails.

alarmType

probableCause

specificProblem

alarmDetails

© TM Forum 2020. All Rights Reserved. Page 7 of 134


Alarm Management API User Guide

Alarm Type
The categories for alarm classification are defined in X.733 8.1.1 and 3GPP TS 32.111-2 Annex A. The complete
enumerated list of possible values for the mandatory alarmType attribute is as follows:

alarmType Description

communicationsAlarm A communications fault.

processingErrorAlarm A software or processing fault.

environmentalAlarm A condition related to an enclosure in which the equipment resides.

qualityOfServiceAlarm A degradation in the quality of a service.

equipmentAlarm An equipment fault.

integrityViolation Information may have been illegally modified, inserted or deleted.

operationalViolation The unavailability, malfunction or incorrect invocation of a service.

physicalViolation A physical resource has been violated in a way that suggests a security attack.

securityService A security attack has been detected by a security service.

mechanismViolation A security attack has been detected by a security mechanism.

timeDomainViolation An event has occurred at an unexpected or prohibited time.

Probable Cause
Probable Cause values are defined in ITU-T X.733 and 3GPP TS 32.111-2 Annex B. It is highly recommended to
choose a value from the existing list. If none of the specific values below are satisfactory consider choosing “other”
and describe your situation with the specificProblem attribute.

The enumerated list of values for the mandatory probableCause attribute is as follows:

abisBtsInterfaceFailure abisTrxInterfaceFailure

adapterError airCompressorFailure

airConditioningFailure airDryerFailure

© TM Forum 2020. All Rights Reserved. Page 8 of 134


Alarm Management API User Guide

ais antennaFailure

applicationSubsystemFailure authenticationFailure

backplaneFailure bandwidthReduced

batteryBreakdown batteryChargingFailure

batteryDischarging batteryFailure

breachOfConfidentiality broadcastChannelFailure

cableTamper callEstablishmentError

callSetUpFailure clockSynchronizationProblem

combinerProblem commercialPowerFailure

communicationsProtocolError communicationsSubsystemFailure

configurationOrCustomizationError congestion

connectionEstablishmentError coolingFanFailure

coolingSystemFailure corruptData

cpuCyclesLimitExceeded dataSetOrModemError

databaseInconsistency degradedSignal

delayedInformation demodulationFailure

denialOfService diskFailure

duplicateInformation enclosureDoorOpen

engineFailure equipmentFailure

equipmentIdentifierDuplication excessiveBitErrorRate

excessiveReceiverTemperature excessiveResponseTime

© TM Forum 2020. All Rights Reserved. Page 9 of 134


Alarm Management API User Guide

excessiveRetransmissionRate excessiveTransmitterOutputPower

excessiveTransmitterTemperature excessiveVibration

explosiveGas externalEquipmentFailure

externalIfDeviceProblem externalPointFailure

externalPowerSupplyFailure externalTransmissionDeviceFailure

farEndReceiverFailure fileError

fileSystemCallUnsuccessful fire

fireDetectorFailure flood

framingError frequencyHoppingDegraded

frequencyHoppingFailure frequencyRedefinitionFailed

fuseFailure generatorFailure

heatingVentCoolingSystemProblem highHumidity

highTemperature highWind

humidityUnacceptable iceBuildUp

informationMissing informationModificationDetected

informationOutOfSequence inputDeviceError

inputOutputDeviceError inputParameterOutOfRange

intrusionDetection invalidMessageReceived

invalidParameter invalidPointer

ioDeviceError keyExpired

lanError lapdLinkProtocolFailure

© TM Forum 2020. All Rights Reserved. Page 10 of 134


Alarm Management API User Guide

leakDetected lineCardProblem

lineInterfaceFailure linkFailure

localAlarmIndication localNodeTransmissionError

lossOfFrame lossOfMultiFrame

lossOfPointer lossOfRealTime

lossOfRedundancy lossOfSignal

lossOfSynchronisation lowBatteryThreshold

lowCablePressure lowFuel

lowHumidity lowTemperatue

lowWater mainsBreakdownWithBatteryBackUp

mainsBreakdownWithoutBatteryBackUp materialSupplyExhausted

memoryMismatch messageNotExpected

messageNotInitialized messageOutOfSequence

modulationFailure multiplexerProblem

neIdentifierDuplication nonRepudiationFailure

other ouputDeviceError

outOfCpuCycles outOfHoursActivity

outOfMemory outOfService

pathTraceMismatch payloadTypeMismatch

performanceDegraded powerProblems

powerSupplyFailure pressureUnacceptable

© TM Forum 2020. All Rights Reserved. Page 11 of 134


Alarm Management API User Guide

proceduralError processorProblem

protectingResourceFailure protectionMechanismFailure

protectionPathFailure pumpFailure

queueSizeExceeded realTimeClockFailure

receiveFailure receiverAntennaFault

receiverFailure receiverMulticouplerFailure

rectifierFailure rectifierHighVoltage

rectifierLowVoltage reducedAlarmReporting

reducedEventReporting reducedLoggingCapability

reducedTransmitterOutputPower reinitialized

remoteAlarmIndication remoteAlarmInterface

remoteNodeTransmissionError replaceableUnitMissing

replaceableUnitProblem replaceableUnitTypeMismatch

resourceAtOrNearingCapacity responseTimeExecessive

retransmissionRateExcessive routingFailure

signalLabelMismatch signalQualityEvaluationFailure

smoke softwareDownloadFailure

softwareEnvironmentProblem softwareError

softwareProgramAbnormallyTerminated softwareProgramError

ss7ProtocolFailure storageCapacityProblem

synchronizationSourceMismatch systemCallUnsuccessful

© TM Forum 2020. All Rights Reserved. Page 12 of 134


Alarm Management API User Guide

systemResourcesOverload temperatureUnacceptable

terminalProblem thresholdCrossed

timeoutExpired timeslotHardwareFailure

timingProblem toxicGas

toxicLeakDetected transceiverFailure

transcoderOrRateAdapterProblem transcoderProblem

transmissionError transmitFailure

transmiterFailure transmitterAntennaFailure

transmitterAntennaNotAdjusted transmitterFailure

transmitterLowVoltageOrCurrent transmitterOffFrequency

trunkCardProblem unauthorizedAccessAttempt

unavailable underlyingResourceUnavailable

unexpectedInformation variableOutOfRange

ventilationsSystemFailure versionMismatch

watchdogTimerExpired

© TM Forum 2020. All Rights Reserved. Page 13 of 134


Alarm Management API User Guide

SAMPLE USE CASES


The Alarm Management API provides the standardized client interface to Alarm Management systems for creating,
tracking and managing alarms among partners. The interface supports alarm management on both resources and
services. The alarmed objects are not restricted to any particular technology or a vendor, so the API can be used in
a wide variety of fault management cases.

In real-life deployments we see various levels of fault management API needs starting from simple subscription on
alarm lifecycle events, up to full synchronization of acknowledgements and root cause analysis between two alarm
management systems.

Two main kinds of business scenarios were identified:

• Management Functions subscriptions ("simple" alarm notifications)


• Synchronization of Management systems (on alarm events, threshold crossing alarms, acknowledgements,
root cause analysis, etc.)

Sample Use Case – Simple Alarm Forwarding


In the first case, one party of the interface is an Alarm Management system (the alarm-owning system) and the
second party is a management function that is subscribed on events, mainly alarm life-cycle events. It cannot be
assumed that the subscribed function has a persistent view of the alarms, as it is not necessarily an alarm
management system. The subscriber party can be a UI, a communication hub, a Service Quality management
system, a BSS system, or any other function that is interested in alarm events. In this case, the operations that will
be used are typically:

• Alarm life-cycle notifications:


o Raise notification (mandatory)
o Clear notification(mandatory)
o Change notification (optional)
• Get Alarms operations: used by the Management Function to get synchronized on the state of active
alarms in situations where snapshots of the active alarms are required, such as system start, or recovery
from communication failures. This operation may include a filter on the subset of alarms that are of
interest.
• The acknowledgement notification (optional)

© TM Forum 2020. All Rights Reserved. Page 14 of 134


Alarm Management API User Guide

Sample Use Case – OSS-to-OSS


The second case is where the two parties are both alarm management systems/functions and they have to
synchronize alarms in different aspects. Typically, Alarm Management system A is one of the alarm data sources of
Alarm management system Z. In this case the operations will be slightly different with a tighter integration:

• Alarm management system A can raise, change and clear alarms in Alarm Management system Z
• Alarm management system A can acknowledge alarms in Alarm Management system Z
• Alarm Management system A can apply root cause analysis results in Alarm Management system Z by using
the Group and Ungroup operations.
• Alarm management system A can comment (annotate) alarms in Alarm Management system Z
• Get Alarms operations used by the Management Function to get synchronized on the state of active alarms
in situations where snapshots of the active alarms are required, such as system start, or recovery from
communication failures. This operation may include a filter on the subset of alarms that are of interest.

In this scenario, since the level of integration is tighter, it is important that Alarm Management System A gets the
information on the success of the operations in Alarm management system Z.

© TM Forum 2020. All Rights Reserved. Page 15 of 134


Alarm Management API User Guide

© TM Forum 2020. All Rights Reserved. Page 16 of 134


Alarm Management API User Guide

Support of polymorphism and extension patterns

Support of polymorphic collections and types and schema based extension is provided by means of a list of generic
meta-attributes that we describe below. Polymorphism in collections occurs when entities inherit from base
entities, for instance a BillingAccount and SettlementAccount inheriting properties from the abstract Account
entity.

Generic support of polymorphism and pattern extensions is described in the TMF API Guidelines v3.0 Part 2
document.

The @type attribute provides a way to represent the actual class type of an entity. For example, within a list of
Account instances some may be instances of BillingAccount where other could be instances of SettlementAccount.
The @type gives this information. All resources and sub-resources of this API have a @type attributes that can be
provided when this is useful.

The @referredType can be used within reference entities (like for instance an AccountRef object) to explicitly
denote the actual entity type of the referred class. Notice that in reference entities the @type, when used, denotes
the class type of the reference itself, such as BillingAccountRef or SettlementAccountRef, and not the class type of
the referred object. However, since reference classes are rarely sub-classed, @type is generally not useful in
reference objects.

The @schemaLocation property can be used in resources to allow specifying user-defined properties of an Entity or
to specify the expected characteristics of an entity.

The @baseType attribute gives a way to provide explicitly the base of class of a given resource that has been
extended.

© TM Forum 2020. All Rights Reserved. Page 17 of 134


Alarm Management API User Guide

RESOURCE MODEL
Managed Entity and Task Resource Models

Alarm resource
This resource represents an alarm supporting the information model defined in ITU-T X.733.

Resource model

© TM Forum 2020. All Rights Reserved. Page 18 of 134


Alarm Management API User Guide

Field descriptions

© TM Forum 2020. All Rights Reserved. Page 19 of 134


Alarm Management API User Guide

Alarm fields

@baseType A string. The base type of this alarm.

@schemaLocation A string. A reference to the schema describing this alarm.

@type A string. The type for this alarm.

ackState A string. Provides the Acknowledgement State of the alarm (unacknowledged |


acknowledged).

ackSystemId A string. Provides the name of the system that last changed the ackState of an
alarm, i.e. acknowledged or unacknowledged the alarm.

ackUserId A string. Provides the id of the user who has last changed the ack state of the
alarm, i.e. acknowledged or unacknowledged the alarm.

affectedService A list of affected services (AffectedService [*]).

alarmChangedTime A date time (DateTime). Indicates the last date and time when the alarm is changed
on the alarm-owning system. Any change to the alarm whether coming from the
alarmed resource, or triggered by a change from the client is changing this time.

alarmClearedTime A date time (DateTime). Indicates the time (as a date + time) at which the alarm is
cleared at the source.

alarmDetails A string. Contains further information on the alarm.

alarmEscalation A boolean. Indicates if this alarm has been escalated or not.

alarmRaisedTime A date time (DateTime). Indicates the time (as a date + time) at which the alarm
occurred at its source.

alarmReportingTime A date time (DateTime). Indicates the time (as a date + time) at which the alarm
was reported by the owning OSS. It might be different from the alarmRaisedTime.
For instance, if the alarm list is maintained by an EMS, the alarmRaisedtime would
be the time the alarm
was detected by the NE, while the alarmReportingTime would be the time this
alarm was stored in the alarm list of the EMS.

alarmType An alarm type (AlarmType). Categorizes the alarm (X.733 8.1.1, 3GPP TS 32.111-2
Annex A).

alarmedObject An alarmed object (AlarmedObject). Identifies the managed object instance


associated with the alarm.

alarmedObjectType A string. The type (class) of the managed object associated with the event.

© TM Forum 2020. All Rights Reserved. Page 20 of 134


Alarm Management API User Guide

clearSystemId A string. Provides the id of the system where the user who invoked the
alarmCleared operation is located.

clearUserId A string. Provides the id of the user who invoked the alarmCleared operation.

comment A list of comments (Comment [*]). Indicates the comments entered on the alarm.

correlatedAlarm A list of alarm references (AlarmRef [*]).

crossedThresholdInformation A crossed threshold information (CrossedThresholdInformation). Identifies the


details of the threshold that has been crossed.

externalAlarmId A string. An identifier of the alarm in the source system.

href A string. A reference to the alarm.

id An integer. Identifier of the alarm, determined by the alarm owning system.

isRootCause A boolean. Indicates whether the alarm is a root cause alarm.

parentAlarm A list of alarm references (AlarmRef [*]).

perceivedSeverity A perceived severity (PerceivedSeverity). Lists the possible severities that can be
allocated to an Alarm. The values are consistent with ITU-T Recommendation
X.733.
Once an alarm has been cleared, its perceived severity is set to 'cleared' and can no
longer be set.

place A list of related place ref or values (RelatedPlaceRefOrValue [*]). Related Entity
reference. A related place defines a place described by reference or by value linked
to a specific entity. The polymorphic attributes @type, @schemaLocation &
@referredType are related to the place entity and not the RelatedPlaceRefOrValue
class itself.

plannedOutageIndicator A string. Indicates that the Managed Object (related to this alarm) is in planned
outage (in planned maintenance, or out-of-service).

probableCause A string. Provides the probable cause of the alarm. The values are consistent with
ITU-T Recommendation X.733 or 3GPP TS 32.111-2 Annex B.

proposedRepairedActions A string. Indicates proposed repair actions, if known to the system emitting the
alarm.

reportingSystemId A string. Reporting system identity.

serviceAffecting A boolean. Indicates whether the alarm affects service or not.

sourceSystemId A string. Source system identity.

© TM Forum 2020. All Rights Reserved. Page 21 of 134


Alarm Management API User Guide

specificProblem A string. Provides more specific information about the alarm.

state A string. Defines the alarm state during its life cycle (raised | updated | cleared).

AffectedService sub-resource

href A string. Provides the identifier of the service affected by the alarm.

id A string.

AlarmedObject sub-resource

Identifies the managed object instance associated with the alarm.

href A string. A reference to the managed object associated with the event.

id A string. The identifier of the managed object associated with the event.

Comment sub-resource

Indicates the comments entered on the alarm.

comment A string. Indicates the text of the comment.

systemId A string. Indicates the system identifier on which the client set the comment.

time A date time (DateTime). Indicates the time commenting the alarm.

userId A string. Indicates the user commenting the alarm.

CrossedThresholdInformation sub-resource

Identifies the details of the threshold that has been crossed.

direction A string. Indicates the threshold crossing direction: up or down.

granularity A string. Indicates the granularity at which the indicator is evaluated for threshold
crossing.

indicatorName A string. Indicates the name of indicator which crossed the threshold.

indicatorUnit A string. Indicates the unit of the measurement of the indicator corresponding to
the threshold that has been crossed.

observedValue A string. Indicates the value of the indicator which crossed the threshold.

threshold A threshold reference (ThresholdRef).

thresholdCrossingDescription A string. Indicates further information on the threshold crossing alarm.

© TM Forum 2020. All Rights Reserved. Page 22 of 134


Alarm Management API User Guide

RelatedPlaceRefOrValue sub-resource

Related Entity reference. A related place defines a place described by reference or by value linked to a specific
entity. The polymorphic attributes @type, @schemaLocation & @referredType are related to the place entity and
not the RelatedPlaceRefOrValue class itself.

@referredType A string. The actual type of the target instance when needed for disambiguation.

name A string. A user-friendly name for the place, such as [Paris Store], [London Store],
[Main Home].

href A string. Unique reference of the place.

id A string. Unique identifier of the place.

@baseType A string. When sub-classing, this defines the super-class.

@schemaLocation An uri (Uri). A URI to a JSON-Schema file that defines additional attributes and
relationships.

@type A string. When sub-classing, this defines the sub-class Extensible name.

role A string.

AlarmRef relationship

@referredType A string. The actual type of the target instance when needed for disambiguation.

name A string. Name of the related entity.

href An uri (Uri). Hyperlink reference.

id A string. unique identifier.

@baseType A string. When sub-classing, this defines the super-class.

@schemaLocation An uri (Uri). A URI to a JSON-Schema file that defines additional attributes and
relationships.

@type A string. When sub-classing, this defines the sub-class Extensible name.

ThresholdRef relationship

@referredType A string. The actual type of the target instance when needed for disambiguation.

name A string. Name of the related entity.

© TM Forum 2020. All Rights Reserved. Page 23 of 134


Alarm Management API User Guide

href An uri (Uri). Hyperlink reference.

id A string. unique identifier.

@baseType A string. When sub-classing, this defines the super-class.

@schemaLocation An uri (Uri). A URI to a JSON-Schema file that defines additional attributes and
relationships.

@type A string. When sub-classing, this defines the sub-class Extensible name.

Json representation sample

We provide below the json representation of an example of a 'Alarm' resource object

{
"id": "8675309",
"href": "/alarmManagement/v4/alarm/8675309",
"@baseType": "Alarm",
"@type": "Alarm",
"@schemaLocation": "/alarmManagement/v4/schema/Alarm.schema.json",
"externalAlarmId": "5551212",
"state": "updated",
"alarmType": "environmentalAlarm",
"perceivedSeverity": "major",
"probableCause": "rectifierLowVoltage",
"specificProblem": "ps=3,sl=1,in=8",
"alarmedObjectType": "Rectifier",
"alarmedObject": {
"id": "93051825",
"href": "/resourceInventoryManagement/v4/resource/93051825"
},
"sourceSystemId": "ems-1",
"alarmDetails": "voltage=95",
"alarmRaisedTime": "2019-07-03T03:32:17.235Z",
"alarmReportingTime": "2019-07-03T03:32:17.552Z",
"alarmChangedTime": "2019-07-03T03:32:52.744Z",
"ackSystemId": "ems-1",
"ackUserId": "bob@example.net",
"ackTime": "2019-07-03T03:33:12.623Z",
"ackState": "acknowledged",
"isRoot": false,
"parentAlarm": {
"id": "8675300"
},
"correlatedAlarm": [
{
"id": "8675399",
"href": "/alarmManagement/v4/alarm/868675399"
}
],
"comment": [
{
"userId": "bob@example.net",
© TM Forum 2020. All Rights Reserved. Page 24 of 134
Alarm Management API User Guide

"systemId": "ems-1",
"time": "2019-07-03T03:37:33.827Z",
"comment": "Dispatched"
}
]
}

Ack Alarms resource


Task resource for the acknowledge alarms operation.

Resource model

Field descriptions

AckAlarms fields

ackSystemId A string. Name of the acknowledging system.

ackTime A date time (DateTime). Time of the acknowledgement.

ackUserId A string. Name of the acknowledging user.

ackedAlarm A list of alarm ref or values (AlarmRefOrValue [*]). The successfully acknowledged

© TM Forum 2020. All Rights Reserved. Page 25 of 134


Alarm Management API User Guide

alarms.

alarmPattern A list of alarms (Alarm [*]). An alarm will match if all of the sttributes in any of the
patterns compare equal to those attributes of the alarm.

href A string. A reference to the task.

id A string. The identifier of the task.

state A string. Current state of the operation task.

AffectedService sub-resource

href A string. Provides the identifier of the service affected by the alarm.

id A string.

Alarm sub-resource

This resource represents an alarm supporting the information model defined in ITU-T X.733.

@baseType A string. The base type of this alarm.

@schemaLocation A string. A reference to the schema describing this alarm.

@type A string. The type for this alarm.

ackState A string. Provides the Acknowledgement State of the alarm (unacknowledged |


acknowledged).

ackSystemId A string. Provides the name of the system that last changed the ackState of an
alarm, i.e. acknowledged or unacknowledged the alarm.

ackUserId A string. Provides the id of the user who has last changed the ack state of the
alarm, i.e. acknowledged or unacknowledged the alarm.

affectedService A list of affected services (AffectedService [*]).

alarmChangedTime A date time (DateTime). Indicates the last date and time when the alarm is changed
on the alarm-owning system. Any change to the alarm whether coming from the
alarmed resource or triggered by a change from the client is changing this time.

alarmClearedTime A date time (DateTime). Indicates the time (as a date + time) at which the alarm is
cleared at the source.

alarmDetails A string. Contains further information on the alarm.

alarmEscalation A boolean. Indicates if this alarm has been escalated or not.

© TM Forum 2020. All Rights Reserved. Page 26 of 134


Alarm Management API User Guide

alarmRaisedTime A date time (DateTime). Indicates the time (as a date + time) at which the alarm
occurred at its source.

alarmReportingTime A date time (DateTime). Indicates the time (as a date + time) at which the alarm
was reported by the owning OSS. It might be different from the alarmRaisedTime.
For instance, if the alarm list is maintained by an EMS, the alarmRaisedtime would
be the time the alarm
was detected by the NE, while the alarmReportingTime would be the time this
alarm was stored in the alarm list of the EMS.

alarmType An alarm type (AlarmType). Categorizes the alarm (X.733 8.1.1, 3GPP TS 32.111-2
Annex A).

alarmedObject An alarmed object (AlarmedObject). Identifies the managed object instance


associated with the alarm.

alarmedObjectType A string. The type (class) of the managed object associated with the event.

clearSystemId A string. Provides the id of the system where the user who invoked the
alarmCleared operation is located.

clearUserId A string. Provides the id of the user who invoked the alarmCleared operation.

comment A list of comments (Comment [*]). Indicates the comments entered on the alarm.

correlatedAlarm A list of alarm references (AlarmRef [*]).

crossedThresholdInformation A crossed threshold information (CrossedThresholdInformation). Identifies the


details of the threshold that has been crossed.

externalAlarmId A string. An identifier of the alarm in the source system.

href A string. A reference to the alarm.

id An integer. Identifier of the alarm, determined by the alarm owning system.

isRootCause A boolean. Indicates whether the alarm is a root cause alarm.

parentAlarm A list of alarm references (AlarmRef [*]).

perceivedSeverity A perceived severity (PerceivedSeverity). Lists the possible severities that can be
allocated to an Alarm. The values are consistent with ITU-T Recommendation
X.733.
Once an alarm has been cleared, its perceived severity is set to 'cleared' and can no
longer be set.

place A list of related place ref or values (RelatedPlaceRefOrValue [*]). Related Entity
reference. A related place defines a place described by reference or by value linked
to a specific entity. The polymorphic attributes @type, @schemaLocation &
© TM Forum 2020. All Rights Reserved. Page 27 of 134
Alarm Management API User Guide

@referredType are related to the place entity and not the RelatedPlaceRefOrValue
class itself.

plannedOutageIndicator A string. Indicates that the Managed Object (related to this alarm) is in planned
outage (in planned maintenance, or out-of-service).

probableCause A string. Provides the probable cause of the alarm. The values are consistent with
ITU-T Recommendation X.733 or 3GPP TS 32.111-2 Annex B.

proposedRepairedActions A string. Indicates proposed repair actions, if known to the system emitting the
alarm.

reportingSystemId A string. Reporting system identity.

serviceAffecting A boolean. Indicates whether the alarm affects service or not.

sourceSystemId A string. Source system identity.

specificProblem A string. Provides more specific information about the alarm.

state A string. Defines the alarm state during its life cycle (raised | updated | cleared).

AlarmRefOrValue sub-resource

An alarm defined by reference or value. The polymorphic attributes @type, @schemaLocation & @referredType
are related to the alarm entity and not the RelatedAlarmRefOrValue class itself.

@referredType A string. The actual type of the target instance when needed for disambiguation.

name A string. Name of the related entity.

href A string. A reference to the alarm.

id An integer. Identifier of the alarm, determined by the alarm owning system.

@baseType A string. The base type of this alarm.

@schemaLocation A string. A reference to the schema describing this alarm.

@type A string. The type for this alarm.

ackState A string. Provides the Acknowledgement State of the alarm (unacknowledged |


acknowledged).

ackSystemId A string. Provides the name of the system that last changed the ackState of an
alarm, i.e. acknowledged or unacknowledged the alarm.

ackUserId A string. Provides the id of the user who has last changed the ack state of the
alarm, i.e. acknowledged or unacknowledged the alarm.

© TM Forum 2020. All Rights Reserved. Page 28 of 134


Alarm Management API User Guide

alarmChangedTime A date time (DateTime). Indicates the last date and time when the alarm is changed
on the alarm-owning system. Any change to the alarm whether coming from the
alarmed resource or triggered by a change from the client is changing this time.

alarmClearedTime A date time (DateTime). Indicates the time (as a date + time) at which the alarm is
cleared at the source.

alarmDetails A string. Contains further information on the alarm.

alarmEscalation A boolean. Indicates if this alarm has been escalated or not.

alarmRaisedTime A date time (DateTime). Indicates the time (as a date + time) at which the alarm
occurred at its source.

alarmReportingTime A date time (DateTime). Indicates the time (as a date + time) at which the alarm
was reported by the owning OSS. It might be different from the alarmRaisedTime.
For instance, if the alarm list is maintained by an EMS, the alarmRaisedtime would
be the time the alarm
was detected by the NE, while the alarmReportingTime would be the time this
alarm was stored in the alarm list of the EMS.

alarmedObjectType A string. The type (class) of the managed object associated with the event.

clearSystemId A string. Provides the id of the system where the user who invoked the
alarmCleared operation is located.

clearUserId A string. Provides the id of the user who invoked the alarmCleared operation.

externalAlarmId A string. An identifier of the alarm in the source system.

isRootCause A boolean. Indicates whether the alarm is a root cause alarm.

plannedOutageIndicator A string. Indicates that the Managed Object (related to this alarm) is in planned
outage (in planned maintenance, or out-of-service).

probableCause A string. Provides the probable cause of the alarm. The values are consistent with
ITU-T Recommendation X.733 or 3GPP TS 32.111-2 Annex B.

proposedRepairedActions A string. Indicates proposed repair actions, if known to the system emitting the
alarm.

reportingSystemId A string. Reporting system identity.

serviceAffecting A boolean. Indicates whether the alarm affects service or not.

sourceSystemId A string. Source system identity.

specificProblem A string. Provides more specific information about the alarm.

© TM Forum 2020. All Rights Reserved. Page 29 of 134


Alarm Management API User Guide

state A string. Defines the alarm state during its life cycle (raised | updated | cleared).

affectedService A list of affected services (AffectedService [*]).

alarmType An alarm type (AlarmType). Categorizes the alarm (X.733 8.1.1, 3GPP TS 32.111-2
Annex A).

alarmedObject An alarmed object (AlarmedObject). Identifies the managed object instance


associated with the alarm.

comment A list of comments (Comment [*]). Indicates the comments entered on the alarm.

correlatedAlarm A list of alarm references (AlarmRef [*]).

crossedThresholdInformation A crossed threshold information (CrossedThresholdInformation). Identifies the


details of the threshold that has been crossed.

parentAlarm A list of alarm references (AlarmRef [*]).

perceivedSeverity A perceived severity (PerceivedSeverity). Lists the possible severities that can be
allocated to an Alarm. The values are consistent with ITU-T Recommendation
X.733.
Once an alarm has been cleared, its perceived severity is set to 'cleared' and can no
longer be set.

place A list of related place ref or values (RelatedPlaceRefOrValue [*]). Related Entity
reference. A related place defines a place described by reference or by value linked
to a specific entity. The polymorphic attributes @type, @schemaLocation &
@referredType are related to the place entity and not the RelatedPlaceRefOrValue
class itself.

AlarmedObject sub-resource

Identifies the managed object instance associated with the alarm.

href A string. A reference to the managed object associated with the event.

id A string. The identifier of the managed object associated with the event.

Comment sub-resource

Indicates the comments entered on the alarm.

comment A string. Indicates the text of the comment.

systemId A string. Indicates the system identifier on which the client set the comment.

time A date time (DateTime). Indicates the time commenting the alarm.

© TM Forum 2020. All Rights Reserved. Page 30 of 134


Alarm Management API User Guide

userId A string. Indicates the user commenting the alarm.

CrossedThresholdInformation sub-resource

Identifies the details of the threshold that has been crossed.

direction A string. Indicates the threshold crossing direction: up or down.

granularity A string. Indicates the granularity at which the indicator is evaluated for threshold
crossing.

indicatorName A string. Indicates the name of indicator which crossed the threshold.

indicatorUnit A string. Indicates the unit of the measurement of the indicator corresponding to
the threshold that has been crossed.

observedValue A string. Indicates the value of the indicator which crossed the threshold.

threshold A threshold reference (ThresholdRef).

thresholdCrossingDescription A string. Indicates further information on the threshold crossing alarm.

RelatedPlaceRefOrValue sub-resource

Related Entity reference. A related place defines a place described by reference or by value linked to a specific
entity. The polymorphic attributes @type, @schemaLocation & @referredType are related to the place entity and
not the RelatedPlaceRefOrValue class itself.

@referredType A string. The actual type of the target instance when needed for disambiguation.

name A string. A user-friendly name for the place, such as [Paris Store], [London Store],
[Main Home].

href A string. Unique reference of the place.

id A string. Unique identifier of the place.

@baseType A string. When sub-classing, this defines the super-class.

@schemaLocation An uri (Uri). A URI to a JSON-Schema file that defines additional attributes and
relationships.

@type A string. When sub-classing, this defines the sub-class Extensible name.

role A string.

AlarmRef relationship

© TM Forum 2020. All Rights Reserved. Page 31 of 134


Alarm Management API User Guide

@referredType A string. The actual type of the target instance when needed for disambiguation.

name A string. Name of the related entity.

href An uri (Uri). Hyperlink reference.

id A string. unique identifier.

@baseType A string. When sub-classing, this defines the super-class.

@schemaLocation An uri (Uri). A URI to a JSON-Schema file that defines additional attributes and
relationships.

@type A string. When sub-classing, this defines the sub-class Extensible name.

ThresholdRef relationship

@referredType A string. The actual type of the target instance when needed for disambiguation.

name A string. Name of the related entity.

href An uri (Uri). Hyperlink reference.

id A string. unique identifier.

@baseType A string. When sub-classing, this defines the super-class.

@schemaLocation An uri (Uri). A URI to a JSON-Schema file that defines additional attributes and
relationships.

@type A string. When sub-classing, this defines the sub-class Extensible name.

Json representation sample

We provide below the json representation of an example of an 'AckAlarms' resource object

{
"id": "1038",
"href": "/alarmManagement/v4/ackAlarms/1038",
"ackSystemId": "ems-1",
"ackUserId": "bob@example.net",
"ackTime": "2019-07-03T03:33:12.623Z",
"alarmPattern": [
{
"id": "8675309"
},
{
"id": "8675399"
}
],
"state": "done",
© TM Forum 2020. All Rights Reserved. Page 32 of 134
Alarm Management API User Guide

"ackedAlarm": [
{
"id": "8675309",
"href": "/alarmManagement/v4/alarm/8675309",
"@baseType": "Alarm",
"@type": "Alarm",
"@schemaLocation": "/alarmManagement/v4/schema/Alarm.schema.json",
"externalAlarmId": "5551212",
"state": "updated",
"alarmType": "environmentalAlarm",
"perceivedSeverity": "major",
"probableCause": "rectifierLowVoltage",
"specificProblem": "ps=3,sl=1,in=8",
"alarmedObjectType": "Rectifier",
"alarmedObject": {
"id": "93051825",
"href": "/resourceInventoryManagement/v4/resource/93051825"
},
"sourceSystemId": "ems-1",
"alarmDetails": "voltage=95",
"alarmRaisedTime": "2019-07-03T03:32:17.235Z",
"alarmReportingTime": "2019-07-03T03:32:17.552Z",
"alarmChangedTime": "2019-07-03T03:32:52.744Z",
"ackSystemId": "ems-1",
"ackUserId": "bob@example.net",
"ackTime": "2019-07-03T03:33:12.623Z",
"ackState": "acknowledged",
"correlatedAlarm": [
{
"id": "8675399",
"href": "/alarmManagement/v4/alarm/868675399"
}
]
},
{
"id": "8675399",
"href": "/alarmManagement/v4/alarm/8675399",
"@baseType": "Alarm",
"@type": "Alarm",
"@schemaLocation": "/alarmManagement/v4/schema/Alarm.schema.json",
"externalAlarmId": "5551234",
"state": "raised",
"alarmType": "equipmentAlarm",
"perceivedSeverity": "minor",
"probableCause": "powerSupplyFailure",
"specificProblem": "ch=1,ps=3",
"alarmedObjectType": "Chassis",
"alarmedObject": {
"id": "95830731",
"href": "/resourceInventoryManagement/v4/resource/95830731"
},
"sourceSystemId": "ems-1",
"alarmRaisedTime": "2019-07-03T03:32:17.843Z",
"alarmReportingTime": "2019-07-03T03:32:18.102Z",
"alarmChangedTime": "2019-07-03T03:32:52.744Z",
© TM Forum 2020. All Rights Reserved. Page 33 of 134
Alarm Management API User Guide

"ackSystemId": "ems-1",
"ackUserId": "bob@example.net",
"ackTime": "2019-07-03T03:33:12.623Z",
"ackState": "acknowledged",
"parentAlarm": [
{
"id": "8675309",
"href": "/alarmManagement/v4/alarm/868675309"
}
]
}
]
}

Un Ack Alarms resource


Task resource for unacknowledged alarms operation.

Resource model

Field descriptions

UnAckAlarms fields

© TM Forum 2020. All Rights Reserved. Page 34 of 134


Alarm Management API User Guide

ackSystemId A string. Name of the unacknowledging system.

ackTime A date time (DateTime). Time of the unacknowledgement.

ackUserId A string. Name of the unacknowledging user.

alarmPattern A list of alarms (Alarm [*]). An alarm will match if all of the attributes in any of the
patterns compare equal to those attributes of the alarm.

href A string. A reference to the task.

id A string. The identifier of the task.

state A string. Current state of the operation task.

unAckedAlarm A list of alarm ref or values (AlarmRefOrValue [*]). The successfully unacknowledged
alarms.

AffectedService sub-resource

href A string. Provides the identifier of the service affected by the alarm.

id A string.

Alarm sub-resource

This resource represents an alarm supporting the information model defined in ITU-T X.733.

@baseType A string. The base type of this alarm.

@schemaLocation A string. A reference to the schema describing this alarm.

@type A string. The type for this alarm.

ackState A string. Provides the Acknowledgement State of the alarm (unacknowledged |


acknowledged).

ackSystemId A string. Provides the name of the system that last changed the ackState of an
alarm, i.e. acknowledged or unacknowledged the alarm.

ackUserId A string. Provides the id of the user who has last changed the ack state of the
alarm, i.e. acknowledged or unacknowledged the alarm.

affectedService A list of affected services (AffectedService [*]).

alarmChangedTime A date time (DateTime). Indicates the last date and time when the alarm is changed
on the alarm-owning system. Any change to the alarm whether coming from the
alarmed resource or triggered by a change from the client is changing this time.

© TM Forum 2020. All Rights Reserved. Page 35 of 134


Alarm Management API User Guide

alarmClearedTime A date time (DateTime). Indicates the time (as a date + time) at which the alarm is
cleared at the source.

alarmDetails A string. Contains further information on the alarm.

alarmEscalation A boolean. Indicates if this alarm has been escalated or not.

alarmRaisedTime A date time (DateTime). Indicates the time (as a date + time) at which the alarm
occurred at its source.

alarmReportingTime A date time (DateTime). Indicates the time (as a date + time) at which the alarm
was reported by the owning OSS. It might be different from the alarmRaisedTime.
For instance, if the alarm list is maintained by an EMS, the alarmRaisedtime would
be the time the alarm
was detected by the NE, while the alarmReportingTime would be the time this
alarm was stored in the alarm list of the EMS.

alarmType An alarm type (AlarmType). Categorizes the alarm (X.733 8.1.1, 3GPP TS 32.111-2
Annex A).

alarmedObject An alarmed object (AlarmedObject). Identifies the managed object instance


associated with the alarm.

alarmedObjectType A string. The type (class) of the managed object associated with the event.

clearSystemId A string. Provides the id of the system where the user who invoked the
alarmCleared operation is located.

clearUserId A string. Provides the id of the user who invoked the alarmCleared operation.

comment A list of comments (Comment [*]). Indicates the comments entered on the alarm.

correlatedAlarm A list of alarm references (AlarmRef [*]).

crossedThresholdInformation A crossed threshold information (CrossedThresholdInformation). Identifies the


details of the threshold that has been crossed.

externalAlarmId A string. An identifier of the alarm in the source system.

href A string. A reference to the alarm.

id An integer. Identifier of the alarm, determined by the alarm owning system.

isRootCause A boolean. Indicates whether the alarm is a root cause alarm.

parentAlarm A list of alarm references (AlarmRef [*]).

perceivedSeverity A perceived severity (PerceivedSeverity). Lists the possible severities that can be
allocated to an Alarm. The values are consistent with ITU-T Recommendation

© TM Forum 2020. All Rights Reserved. Page 36 of 134


Alarm Management API User Guide

X.733.
Once an alarm has been cleared, its perceived severity is set to 'cleared' and can no
longer be set.

place A list of related place ref or values (RelatedPlaceRefOrValue [*]). Related Entity
reference. A related place defines a place described by reference or by value linked
to a specific entity. The polymorphic attributes @type, @schemaLocation &
@referredType are related to the place entity and not the RelatedPlaceRefOrValue
class itself.

plannedOutageIndicator A string. Indicates that the Managed Object (related to this alarm) is in planned
outage (in planned maintenance, or out-of-service).

probableCause A string. Provides the probable cause of the alarm. The values are consistent with
ITU-T Recommendation X.733 or 3GPP TS 32.111-2 Annex B.

proposedRepairedActions A string. Indicates proposed repair actions, if known to the system emitting the
alarm.

reportingSystemId A string. Reporting system identity.

serviceAffecting A boolean. Indicates whether the alarm affects service or not.

sourceSystemId A string. Source system identity.

specificProblem A string. Provides more specific information about the alarm.

state A string. Defines the alarm state during its life cycle (raised | updated | cleared).

AlarmRefOrValue sub-resource

An alarm defined by reference or value. The polymorphic attributes @type, @schemaLocation & @referredType
are related to the alarm entity and not the RelatedAlarmRefOrValue class itself.

@referredType A string. The actual type of the target instance when needed for disambiguation.

name A string. Name of the related entity.

href A string. A reference to the alarm.

id An integer. Identifier of the alarm, determined by the alarm owning system.

@baseType A string. The base type of this alarm.

@schemaLocation A string. A reference to the schema describing this alarm.

@type A string. The type for this alarm.

ackState A string. Provides the Acknowledgement State of the alarm (unacknowledged |

© TM Forum 2020. All Rights Reserved. Page 37 of 134


Alarm Management API User Guide

acknowledged).

ackSystemId A string. Provides the name of the system that last changed the ackState of an
alarm, i.e. acknowledged or unacknowledged the alarm.

ackUserId A string. Provides the id of the user who has last changed the ack state of the
alarm, i.e. acknowledged or unacknowledged the alarm.

alarmChangedTime A date time (DateTime). Indicates the last date and time when the alarm is changed
on the alarm-owning system. Any change to the alarm whether coming from the
alarmed resource, or triggered by a change from the client is changing this time.

alarmClearedTime A date time (DateTime). Indicates the time (as a date + time) at which the alarm is
cleared at the source.

alarmDetails A string. Contains further information on the alarm.

alarmEscalation A boolean. Indicates if this alarm has been escalated or not.

alarmRaisedTime A date time (DateTime). Indicates the time (as a date + time) at which the alarm
occurred at its source.

alarmReportingTime A date time (DateTime). Indicates the time (as a date + time) at which the alarm
was reported by the owning OSS. It might be different from the alarmRaisedTime.
For instance, if the alarm list is maintained by an EMS, the alarmRaisedtime would
be the time the alarm
was detected by the NE, while the alarmReportingTime would be the time this
alarm was stored in the alarm list of the EMS.

alarmedObjectType A string. The type (class) of the managed object associated with the event.

clearSystemId A string. Provides the id of the system where the user who invoked the
alarmCleared operation is located.

clearUserId A string. Provides the id of the user who invoked the alarmCleared operation.

externalAlarmId A string. An identifier of the alarm in the source system.

isRootCause A boolean. Indicates whether the alarm is a root cause alarm.

plannedOutageIndicator A string. Indicates that the Managed Object (related to this alarm) is in planned
outage (in planned maintenance, or out-of-service).

probableCause A string. Provides the probable cause of the alarm. The values are consistent with
ITU-T Recommendation X.733 or 3GPP TS 32.111-2 Annex B.

proposedRepairedActions A string. Indicates proposed repair actions, if known to the system emitting the
alarm.

© TM Forum 2020. All Rights Reserved. Page 38 of 134


Alarm Management API User Guide

reportingSystemId A string. Reporting system identity.

serviceAffecting A boolean. Indicates whether the alarm affects service or not.

sourceSystemId A string. Source system identity.

specificProblem A string. Provides more specific information about the alarm.

state A string. Defines the alarm state during its life cycle (raised | updated | cleared).

affectedService A list of affected services (AffectedService [*]).

alarmType An alarm type (AlarmType). Categorizes the alarm (X.733 8.1.1, 3GPP TS 32.111-2
Annex A).

alarmedObject An alarmed object (AlarmedObject). Identifies the managed object instance


associated with the alarm.

comment A list of comments (Comment [*]). Indicates the comments entered on the alarm.

correlatedAlarm A list of alarm references (AlarmRef [*]).

crossedThresholdInformation A crossed threshold information (CrossedThresholdInformation). Identifies the


details of the threshold that has been crossed.

parentAlarm A list of alarm references (AlarmRef [*]).

perceivedSeverity A perceived severity (PerceivedSeverity). Lists the possible severities that can be
allocated to an Alarm. The values are consistent with ITU-T Recommendation
X.733.
Once an alarm has been cleared, its perceived severity is set to 'cleared' and can no
longer be set.

place A list of related place ref or values (RelatedPlaceRefOrValue [*]). Related Entity
reference. A related place defines a place described by reference or by value linked
to a specific entity. The polymorphic attributes @type, @schemaLocation &
@referredType are related to the place entity and not the RelatedPlaceRefOrValue
class itself.

AlarmedObject sub-resource

Identifies the managed object instance associated with the alarm.

href A string. A reference to the managed object associated with the event.

id A string. The identifier of the managed object associated with the event.

Comment sub-resource

Indicates the comments entered on the alarm.


© TM Forum 2020. All Rights Reserved. Page 39 of 134
Alarm Management API User Guide

comment A string. Indicates the text of the comment.

systemId A string. Indicates the system identifier on which the client set the comment.

time A date time (DateTime). Indicates the time commenting the alarm.

userId A string. Indicates the user commenting the alarm.

CrossedThresholdInformation sub-resource

Identifies the details of the threshold that has been crossed.

direction A string. Indicates the threshold crossing direction: up or down.

granularity A string. Indicates the granularity at which the indicator is evaluated for threshold
crossing.

indicatorName A string. Indicates the name of indicator which crossed the threshold.

indicatorUnit A string. Indicates the unit of the measurement of the indicator corresponding to
the threshold that has been crossed.

observedValue A string. Indicates the value of the indicator which crossed the threshold.

threshold A threshold reference (ThresholdRef).

thresholdCrossingDescription A string. Indicates further information on the threshold crossing alarm.

RelatedPlaceRefOrValue sub-resource

Related Entity reference. A related place defines a place described by reference or by value linked to a specific
entity. The polymorphic attributes @type, @schemaLocation & @referredType are related to the place entity and
not the RelatedPlaceRefOrValue class itself.

@referredType A string. The actual type of the target instance when needed for disambiguation.

name A string. A user-friendly name for the place, such as [Paris Store], [London Store],
[Main Home].

href A string. Unique reference of the place.

id A string. Unique identifier of the place.

@baseType A string. When sub-classing, this defines the super-class.

@schemaLocation An uri (Uri). A URI to a JSON-Schema file that defines additional attributes and
relationships.

@type A string. When sub-classing, this defines the sub-class Extensible name.

© TM Forum 2020. All Rights Reserved. Page 40 of 134


Alarm Management API User Guide

role A string.

AlarmRef relationship

@referredType A string. The actual type of the target instance when needed for disambiguation.

name A string. Name of the related entity.

href An uri (Uri). Hyperlink reference.

id A string. unique identifier.

@baseType A string. When sub-classing, this defines the super-class.

@schemaLocation An uri (Uri). A URI to a JSON-Schema file that defines additional attributes and
relationships.

@type A string. When sub-classing, this defines the sub-class Extensible name.

ThresholdRef relationship

@referredType A string. The actual type of the target instance when needed for disambiguation.

name A string. Name of the related entity.

href An uri (Uri). Hyperlink reference.

id A string. unique identifier.

@baseType A string. When sub-classing, this defines the super-class.

@schemaLocation An uri (Uri). A URI to a JSON-Schema file that defines additional attributes and
relationships.

@type A string. When sub-classing, this defines the sub-class Extensible name.

Json representation sample

We provide below the json representation of an example of a 'UnAckAlarms' resource object

{
"id": "1052",
"href": "/alarmManagement/v4/unAckAlarms/1052",
"ackSystemId": "ems-1",
"ackUserId": "bob@example.net",
"ackTime": "2019-07-03T03:38:06.890Z",
"alarmPattern": [
{

© TM Forum 2020. All Rights Reserved. Page 41 of 134


Alarm Management API User Guide

"id": "8675309"
},
{
"id": "8675399"
}
],
"state": "done",
"unAckedAlarm": [
{
"id": "8675309",
"href": "/alarmManagement/v4/alarm/8675309",
"@baseType": "Alarm",
"@type": "Alarm",
"@schemaLocation": "/alarmManagement/v4/schema/Alarm.schema.json",
"externalAlarmId": "5551212",
"state": "raised",
"alarmType": "environmentalAlarm",
"perceivedSeverity": "minor",
"probableCause": "rectifierLowVoltage",
"specificProblem": "ps=3,sl=1,in=8",
"alarmedObjectType": "Rectifier",
"alarmedObject": {
"id": "93051825",
"href": "/resourceInventoryManagement/v4/resource/93051825"
},
"sourceSystemId": "ems-1",
"alarmDetails": "voltage=204",
"alarmRaisedTime": "2019-07-03T03:32:17.235Z",
"alarmReportingTime": "2019-07-03T03:32:17.552Z",
"ackSystemId": "ems-1",
"ackUserId": "bob@example.net",
"ackTime": "2019-07-03T03:38:06.890Z",
"ackState": "UNacknowledged",
"correlatedAlarm": [
{
"id": "8675399",
"href": "/alarmManagement/v4/alarm/868675399"
}
],
"comment": [
{
"userId": "bob@example.net",
"systemId": "ems-1",
"time": "2019-07-03T03:37:33.827Z",
"comment": "Dispatched"
}
]
},
{
"id": "8675399",
"href": "/alarmManagement/v4/alarm/8675399",
"@baseType": "Alarm",
"@type": "Alarm",
"@schemaLocation": "/alarmManagement/v4//Alarm.schema.json",
"externalAlarmId": "5551234",
© TM Forum 2020. All Rights Reserved. Page 42 of 134
Alarm Management API User Guide

"state": "raised",
"alarmType": "equipmentAlarm",
"perceivedSeverity": "minor",
"probableCause": "powerSupplyFailure",
"specificProblem": "ch=1,ps=3",
"alarmedObjectType": "Chassis",
"alarmedObject": {
"id": "95830731",
"href": "/resourceInventoryManagement/v4/resource/95830731"
},
"sourceSystemId": "ems-1",
"alarmRaisedTime": "2019-07-03T03:32:17.843Z",
"alarmReportingTime": "2019-07-03T03:32:18.102Z",
"alarmChangedTime": "2019-07-03T03:32:52.744Z",
"ackSystemId": "ems-1",
"ackUserId": "bob@example.net",
"ackTime": "2019-07-03T03:38:06.890Z",
"ackState": "unacknowledged",
"parentAlarm": [
{
"id": "8675309",
"href": "/alarmManagement/v4/alarm/868675309"
}
],
"comment": [
{
"userId": "bob@example.net",
"systemId": "ems-1",
"time": "2019-07-03T03:37:33.827Z",
"comment": "Dispatched"
}
]
}
]
}

Clear Alarms resource


Task resource for clear alarms operation.

Resource model

© TM Forum 2020. All Rights Reserved. Page 43 of 134


Alarm Management API User Guide

Field descriptions

ClearAlarms fields

alarmClearedTime A date time (DateTime). Time of the alarm clearing.

alarmPattern A list of alarms (Alarm [*]). An alarm will match if all of the attributes in any of the
patterns compare equal to those attributes of the alarm.

clearSystemId A string. Name of the clearing system.

clearUserId A string. Name of the clearing user.

clearedAlarm A list of alarm ref or values (AlarmRefOrValue [*]). The successfully cleared alarms.

href A string. A reference to the task.

id A string. The identifier of the task.

state A string. Current state of the operation task.

AffectedService sub-resource

© TM Forum 2020. All Rights Reserved. Page 44 of 134


Alarm Management API User Guide

href A string. Provides the identifier of the service affected by the alarm.

id A string.

Alarm sub-resource

This resource represents an alarm supporting the information model defined in ITU-T X.733.

@baseType A string. The base type of this alarm.

@schemaLocation A string. A reference to the schema describing this alarm.

@type A string. The type for this alarm.

ackState A string. Provides the Acknowledgement State of the alarm (unacknowledged |


acknowledged).

ackSystemId A string. Provides the name of the system that last changed the ackState of an
alarm, i.e. acknowledged or unacknowledged the alarm.

ackUserId A string. Provides the id of the user who has last changed the ack state of the
alarm, i.e. acknowledged or unacknowledged the alarm.

affectedService A list of affected services (AffectedService [*]).

alarmChangedTime A date time (DateTime). Indicates the last date and time when the alarm is changed
on the alarm-owning system. Any change to the alarm whether coming from the
alarmed resource or triggered by a change from the client is changing this time.

alarmClearedTime A date time (DateTime). Indicates the time (as a date + time) at which the alarm is
cleared at the source.

alarmDetails A string. Contains further information on the alarm.

alarmEscalation A boolean. Indicates if this alarm has been escalated or not.

alarmRaisedTime A date time (DateTime). Indicates the time (as a date + time) at which the alarm
occurred at its source.

alarmReportingTime A date time (DateTime). Indicates the time (as a date + time) at which the alarm
was reported by the owning OSS. It might be different from the alarmRaisedTime.
For instance, if the alarm list is maintained by an EMS, the alarmRaisedtime would
be the time the alarm
was detected by the NE, while the alarmReportingTime would be the time this
alarm was stored in the alarm list of the EMS.

alarmType An alarm type (AlarmType). Categorizes the alarm (X.733 8.1.1, 3GPP TS 32.111-2
Annex A).

© TM Forum 2020. All Rights Reserved. Page 45 of 134


Alarm Management API User Guide

alarmedObject An alarmed object (AlarmedObject). Identifies the managed object instance


associated with the alarm.

alarmedObjectType A string. The type (class) of the managed object associated with the event.

clearSystemId A string. Provides the id of the system where the user who invoked the
alarmCleared operation is located.

clearUserId A string. Provides the id of the user who invoked the alarmCleared operation.

comment A list of comments (Comment [*]). Indicates the comments entered on the alarm.

correlatedAlarm A list of alarm references (AlarmRef [*]).

crossedThresholdInformation A crossed threshold information (CrossedThresholdInformation). Identifies the


details of the threshold that has been crossed.

externalAlarmId A string. An identifier of the alarm in the source system.

href A string. A reference to the alarm.

id An integer. Identifier of the alarm, determined by the alarm owning system.

isRootCause A boolean. Indicates whether the alarm is a root cause alarm.

parentAlarm A list of alarm references (AlarmRef [*]).

perceivedSeverity A perceived severity (PerceivedSeverity). Lists the possible severities that can be
allocated to an Alarm. The values are consistent with ITU-T Recommendation
X.733.
Once an alarm has been cleared, its perceived severity is set to 'cleared' and can no
longer be set.

place A list of related place ref or values (RelatedPlaceRefOrValue [*]). Related Entity
reference. A related place defines a place described by reference or by value linked
to a specific entity. The polymorphic attributes @type, @schemaLocation &
@referredType are related to the place entity and not the RelatedPlaceRefOrValue
class itself.

plannedOutageIndicator A string. Indicates that the Managed Object (related to this alarm) is in planned
outage (in planned maintenance, or out-of-service).

probableCause A string. Provides the probable cause of the alarm. The values are consistent with
ITU-T Recommendation X.733 or 3GPP TS 32.111-2 Annex B.

proposedRepairedActions A string. Indicates proposed repair actions, if known to the system emitting the
alarm.

© TM Forum 2020. All Rights Reserved. Page 46 of 134


Alarm Management API User Guide

reportingSystemId A string. Reporting system identity.

serviceAffecting A boolean. Indicates whether the alarm affects service or not.

sourceSystemId A string. Source system identity.

specificProblem A string. Provides more specific information about the alarm.

state A string. Defines the alarm state during its life cycle (raised | updated | cleared).

AlarmRefOrValue sub-resource

An alarm defined by reference or value. The polymorphic attributes @type, @schemaLocation & @referredType
are related to the alarm entity and not the RelatedAlarmRefOrValue class itself.

@referredType A string. The actual type of the target instance when needed for disambiguation.

name A string. Name of the related entity.

href A string. A reference to the alarm.

id An integer. Identifier of the alarm, determined by the alarm owning system.

@baseType A string. The base type of this alarm.

@schemaLocation A string. A reference to the schema describing this alarm.

@type A string. The type for this alarm.

ackState A string. Provides the Acknowledgement State of the alarm (unacknowledged |


acknowledged).

ackSystemId A string. Provides the name of the system that last changed the ackState of an
alarm, i.e. acknowledged or unacknowledged the alarm.

ackUserId A string. Provides the id of the user who has last changed the ack state of the
alarm, i.e. acknowledged or unacknowledged the alarm.

alarmChangedTime A date time (DateTime). Indicates the last date and time when the alarm is changed
on the alarm-owning system. Any change to the alarm whether coming from the
alarmed resource or triggered by a change from the client is changing this time.

alarmClearedTime A date time (DateTime). Indicates the time (as a date + time) at which the alarm is
cleared at the source.

alarmDetails A string. Contains further information on the alarm.

alarmEscalation A boolean. Indicates if this alarm has been escalated or not.

alarmRaisedTime A date time (DateTime). Indicates the time (as a date + time) at which the alarm

© TM Forum 2020. All Rights Reserved. Page 47 of 134


Alarm Management API User Guide

occurred at its source.

alarmReportingTime A date time (DateTime). Indicates the time (as a date + time) at which the alarm
was reported by the owning OSS. It might be different from the alarmRaisedTime.
For instance, if the alarm list is maintained by an EMS, the alarmRaisedtime would
be the time the alarm
was detected by the NE, while the alarmReportingTime would be the time this
alarm was stored in the alarm list of the EMS.

alarmedObjectType A string. The type (class) of the managed object associated with the event.

clearSystemId A string. Provides the id of the system where the user who invoked the
alarmCleared operation is located.

clearUserId A string. Provides the id of the user who invoked the alarmCleared operation.

externalAlarmId A string. An identifier of the alarm in the source system.

isRootCause A boolean. Indicates whether the alarm is a root cause alarm.

plannedOutageIndicator A string. Indicates that the Managed Object (related to this alarm) is in planned
outage (in planned maintenance, or out-of-service).

probableCause A string. Provides the probable cause of the alarm. The values are consistent with
ITU-T Recommendation X.733 or 3GPP TS 32.111-2 Annex B.

proposedRepairedActions A string. Indicates proposed repair actions, if known to the system emitting the
alarm.

reportingSystemId A string. Reporting system identity.

serviceAffecting A boolean. Indicates whether the alarm affects service or not.

sourceSystemId A string. Source system identity.

specificProblem A string. Provides more specific information about the alarm.

state A string. Defines the alarm state during its life cycle (raised | updated | cleared).

affectedService A list of affected services (AffectedService [*]).

alarmType An alarm type (AlarmType). Categorizes the alarm (X.733 8.1.1, 3GPP TS 32.111-2
Annex A).

alarmedObject An alarmed object (AlarmedObject). Identifies the managed object instance


associated with the alarm.

comment A list of comments (Comment [*]). Indicates the comments entered on the alarm.

© TM Forum 2020. All Rights Reserved. Page 48 of 134


Alarm Management API User Guide

correlatedAlarm A list of alarm references (AlarmRef [*]).

crossedThresholdInformation A crossed threshold information (CrossedThresholdInformation). Identifies the


details of the threshold that has been crossed.

parentAlarm A list of alarm references (AlarmRef [*]).

perceivedSeverity A perceived severity (PerceivedSeverity). Lists the possible severities that can be
allocated to an Alarm. The values are consistent with ITU-T Recommendation
X.733.
Once an alarm has been cleared, its perceived severity is set to 'cleared' and can no
longer be set.

place A list of related place ref or values (RelatedPlaceRefOrValue [*]). Related Entity
reference. A related place defines a place described by reference or by value linked
to a specific entity. The polymorphic attributes @type, @schemaLocation &
@referredType are related to the place entity and not the RelatedPlaceRefOrValue
class itself.

AlarmedObject sub-resource

Identifies the managed object instance associated with the alarm.

href A string. A reference to the managed object associated with the event.

id A string. The identifier of the managed object associated with the event.

Comment sub-resource

Indicates the comments entered on the alarm.

comment A string. Indicates the text of the comment.

systemId A string. Indicates the system identifier on which the client set the comment.

time A date time (DateTime). Indicates the time commenting the alarm.

userId A string. Indicates the user commenting the alarm.

CrossedThresholdInformation sub-resource

Identifies the details of the threshold that has been crossed.

direction A string. Indicates the threshold crossing direction: up or down.

granularity A string. Indicates the granularity at which the indicator is evaluated for threshold
crossing.

indicatorName A string. Indicates the name of indicator which crossed the threshold.

© TM Forum 2020. All Rights Reserved. Page 49 of 134


Alarm Management API User Guide

indicatorUnit A string. Indicates the unit of the measurement of the indicator corresponding to
the threshold that has been crossed.

observedValue A string. Indicates the value of the indicator which crossed the threshold.

threshold A threshold reference (ThresholdRef).

thresholdCrossingDescription A string. Indicates further information on the threshold crossing alarm.

RelatedPlaceRefOrValue sub-resource

Related Entity reference. A related place defines a place described by reference or by value linked to a specific
entity. The polymorphic attributes @type, @schemaLocation & @referredType are related to the place entity and
not the RelatedPlaceRefOrValue class itself.

@referredType A string. The actual type of the target instance when needed for disambiguation.

name A string. A user-friendly name for the place, such as [Paris Store], [London Store],
[Main Home].

href A string. Unique reference of the place.

id A string. Unique identifier of the place.

@baseType A string. When sub-classing, this defines the super-class.

@schemaLocation An uri (Uri). A URI to a JSON-Schema file that defines additional attributes and
relationships.

@type A string. When sub-classing, this defines the sub-class Extensible name.

role A string.

AlarmRef relationship

@referredType A string. The actual type of the target instance when needed for disambiguation.

name A string. Name of the related entity.

href An uri (Uri). Hyperlink reference.

id A string. unique identifier.

@baseType A string. When sub-classing, this defines the super-class.

@schemaLocation An uri (Uri). A URI to a JSON-Schema file that defines additional attributes and
relationships.

© TM Forum 2020. All Rights Reserved. Page 50 of 134


Alarm Management API User Guide

@type A string. When sub-classing, this defines the sub-class Extensible name.

ThresholdRef relationship

@referredType A string. The actual type of the target instance when needed for disambiguation.

name A string. Name of the related entity.

href An uri (Uri). Hyperlink reference.

id A string. unique identifier.

@baseType A string. When sub-classing, this defines the super-class.

@schemaLocation An uri (Uri). A URI to a JSON-Schema file that defines additional attributes and
relationships.

@type A string. When sub-classing, this defines the sub-class Extensible name.

Json representation sample

We provide below the json representation of an example of a 'ClearAlarms' resource object

{
"id": "1089",
"href": "/alarmManagement/v4/commentAlarms/1089",
"clearSystemId": "ems-1",
"clearUserId": "bob@example.net",
"alarmClearedTime": "2019-07-03T03:55:45.937Z",
"alarmPattern": [
{
"id": "8675309"
},
{
"id": "8675399"
}
],
"state": "done",
"clearedAlarm": [
{
"id": "8675309",
"href": "/alarmManagement/v4/alarm/8675309",
"@baseType": "Alarm",
"@type": "Alarm",
"@schemaLocation": "/alarmManagement/v4/schema/Alarm.schema.json",
"externalAlarmId": "5551212",
"state": "cleared",
"alarmType": "environmentalAlarm",
"perceivedSeverity": "cleared",
"probableCause": "rectifierLowVoltage",
"specificProblem": "ps=3,sl=1,in=8",

© TM Forum 2020. All Rights Reserved. Page 51 of 134


Alarm Management API User Guide

"alarmedObjectType": "Rectifier",
"alarmedObject": {
"id": "93051825",
"href": "/resourceInventoryManagement/v4/resource/93051825"
},
"sourceSystemId": "ems-1",
"alarmDetails": "voltage=204",
"alarmRaisedTime": "2019-07-03T03:32:17.235Z",
"alarmReportingTime": "2019-07-03T03:32:17.552Z",
"alarmChangedTime": "2019-07-03T03:42:12.861Z",
"ackSystemId": "ems-1",
"ackUserId": "bob@example.net",
"ackTime": "2019-07-03T03:38:06.890Z",
"ackState": "UNacknowledged",
"comment": [
{
"userId": "bob@example.net",
"systemId": "ems-1",
"time": "2019-07-03T03:37:33.827Z",
"comment": "Dispatched"
}
],
"clearSystemId": "ems-1",
"clearUserId": "bob@example.net",
"alarmClearedTime": "2019-07-03T03:55:45.937Z"
},
{
"id": "8675399",
"href": "/alarmManagement/v4/alarm/8675399",
"@baseType": "Alarm",
"@type": "Alarm",
"@schemaLocation": "/alarmManagement/v4/schema/Alarm.schema.json",
"externalAlarmId": "5551234",
"state": "cleared",
"alarmType": "equipmentAlarm",
"perceivedSeverity": "cleared",
"probableCause": "powerSupplyFailure",
"specificProblem": "ch=1,ps=3",
"alarmedObjectType": "Chassis",
"alarmedObject": {
"id": "95830731",
"href": "/resourceInventoryManagement/v4/resource/95830731"
},
"sourceSystemId": "ems-1",
"alarmRaisedTime": "2019-07-03T03:32:17.843Z",
"alarmReportingTime": "2019-07-03T03:32:18.102Z",
"alarmChangedTime": "2019-07-03T03:42:12.861Z",
"ackSystemId": "ems-1",
"ackUserId": "bob@example.net",
"ackTime": "2019-07-03T03:38:06.890Z",
"ackState": "unacknowledged",
"comment": [
{
"userId": "bob@example.net",
"systemId": "ems-1",
© TM Forum 2020. All Rights Reserved. Page 52 of 134
Alarm Management API User Guide

"time": "2019-07-03T03:37:33.827Z",
"comment": "Dispatched"
}
],
"clearSystemId": "ems-1",
"clearUserId": "bob@example.net",
"alarmClearedTime": "2019-07-03T03:55:45.937Z"
}
]
}

Comment Alarms resource


Task resource for comment alarms operation.

Resource model

© TM Forum 2020. All Rights Reserved. Page 53 of 134


Alarm Management API User Guide

Field descriptions

CommentAlarms fields

alarmPattern A list of alarms (Alarm [*]). An alarm will match if all of the sttributes in any of the
patterns compare equal to those attributes of the alarm.

comment A comment (Comment). Indicates the comments entered on the alarm.

commentedAlarm A list of alarm ref or values (AlarmRefOrValue [*]). The successfully commented
alarms.

href A string. A reference to the task.

id A string. The identifier of the task.

state A string. Current state of the operation task.

AffectedService sub-resource

href A string. Provides the identifier of the service affected by the alarm.

id A string.

Alarm sub-resource

This resource represents an alarm supporting the information model defined in ITU-T X.733.

@baseType A string. The base type of this alarm.

@schemaLocation A string. A reference to the schema describing this alarm.

@type A string. The type for this alarm.

ackState A string. Provides the Acknowledgement State of the alarm (unacknowledged |


acknowledged).

ackSystemId A string. Provides the name of the system that last changed the ackState of an
alarm, i.e. acknowledged or unacknowledged the alarm.

ackUserId A string. Provides the id of the user who has last changed the ack state of the
alarm, i.e. acknowledged or unacknowledged the alarm.

affectedService A list of affected services (AffectedService [*]).

alarmChangedTime A date time (DateTime). Indicates the last date and time when the alarm is changed
on the alarm-owning system. Any change to the alarm whether coming from the
alarmed resource or triggered by a change from the client is changing this time.

© TM Forum 2020. All Rights Reserved. Page 54 of 134


Alarm Management API User Guide

alarmClearedTime A date time (DateTime). Indicates the time (as a date + time) at which the alarm is
cleared at the source.

alarmDetails A string. Contains further information on the alarm.

alarmEscalation A boolean. Indicates if this alarm has been escalated or not.

alarmRaisedTime A date time (DateTime). Indicates the time (as a date + time) at which the alarm
occurred at its source.

alarmReportingTime A date time (DateTime). Indicates the time (as a date + time) at which the alarm
was reported by the owning OSS. It might be different from the alarmRaisedTime.
For instance, if the alarm list is maintained by an EMS, the alarmRaisedtime would
be the time the alarm
was detected by the NE, while the alarmReportingTime would be the time this
alarm was stored in the alarm list of the EMS.

alarmType An alarm type (AlarmType). Categorizes the alarm (X.733 8.1.1, 3GPP TS 32.111-2
Annex A).

alarmedObject An alarmed object (AlarmedObject). Identifies the managed object instance


associated with the alarm.

alarmedObjectType A string. The type (class) of the managed object associated with the event.

clearSystemId A string. Provides the id of the system where the user who invoked the
alarmCleared operation is located.

clearUserId A string. Provides the id of the user who invoked the alarmCleared operation.

comment A list of comments (Comment [*]). Indicates the comments entered on the alarm.

correlatedAlarm A list of alarm references (AlarmRef [*]).

crossedThresholdInformation A crossed threshold information (CrossedThresholdInformation). Identifies the


details of the threshold that has been crossed.

externalAlarmId A string. An identifier of the alarm in the source system.

href A string. A reference to the alarm.

id An integer. Identifier of the alarm, determined by the alarm owning system.

isRootCause A boolean. Indicates whether the alarm is a root cause alarm.

parentAlarm A list of alarm references (AlarmRef [*]).

perceivedSeverity A perceived severity (PerceivedSeverity). Lists the possible severities that can be
allocated to an Alarm. The values are consistent with ITU-T Recommendation

© TM Forum 2020. All Rights Reserved. Page 55 of 134


Alarm Management API User Guide

X.733.
Once an alarm has been cleared, its perceived severity is set to 'cleared' and can no
longer be set.

place A list of related place ref or values (RelatedPlaceRefOrValue [*]). Related Entity
reference. A related place defines a place described by reference or by value linked
to a specific entity. The polymorphic attributes @type, @schemaLocation &
@referredType are related to the place entity and not the RelatedPlaceRefOrValue
class itself.

plannedOutageIndicator A string. Indicates that the Managed Object (related to this alarm) is in planned
outage (in planned maintenance, or out-of-service).

probableCause A string. Provides the probable cause of the alarm. The values are consistent with
ITU-T Recommendation X.733 or 3GPP TS 32.111-2 Annex B.

proposedRepairedActions A string. Indicates proposed repair actions, if known to the system emitting the
alarm.

reportingSystemId A string. Reporting system identity.

serviceAffecting A boolean. Indicates whether the alarm affects service or not.

sourceSystemId A string. Source system identity.

specificProblem A string. Provides more specific information about the alarm.

state A string. Defines the alarm state during its life cycle (raised | updated | cleared).

AlarmRefOrValue sub-resource

An alarm defined by reference or value. The polymorphic attributes @type, @schemaLocation & @referredType
are related to the alarm entity and not the RelatedAlarmRefOrValue class itself.

@referredType A string. The actual type of the target instance when needed for disambiguation.

name A string. Name of the related entity.

href A string. A reference to the alarm.

id An integer. Identifier of the alarm, determined by the alarm owning system.

@baseType A string. The base type of this alarm.

@schemaLocation A string. A reference to the schema describing this alarm.

@type A string. The type for this alarm.

ackState A string. Provides the Acknowledgement State of the alarm (unacknowledged |

© TM Forum 2020. All Rights Reserved. Page 56 of 134


Alarm Management API User Guide

acknowledged).

ackSystemId A string. Provides the name of the system that last changed the ackState of an
alarm, i.e. acknowledged or unacknowledged the alarm.

ackUserId A string. Provides the id of the user who has last changed the ack state of the
alarm, i.e. acknowledged or unacknowledged the alarm.

alarmChangedTime A date time (DateTime). Indicates the last date and time when the alarm is changed
on the alarm-owning system. Any change to the alarm whether coming from the
alarmed resource or triggered by a change from the client is changing this time.

alarmClearedTime A date time (DateTime). Indicates the time (as a date + time) at which the alarm is
cleared at the source.

alarmDetails A string. Contains further information on the alarm.

alarmEscalation A boolean. Indicates if this alarm has been escalated or not.

alarmRaisedTime A date time (DateTime). Indicates the time (as a date + time) at which the alarm
occurred at its source.

alarmReportingTime A date time (DateTime). Indicates the time (as a date + time) at which the alarm
was reported by the owning OSS. It might be different from the alarmRaisedTime.
For instance, if the alarm list is maintained by an EMS, the alarmRaisedtime would
be the time the alarm
was detected by the NE, while the alarmReportingTime would be the time this
alarm was stored in the alarm list of the EMS.

alarmedObjectType A string. The type (class) of the managed object associated with the event.

clearSystemId A string. Provides the id of the system where the user who invoked the
alarmCleared operation is located.

clearUserId A string. Provides the id of the user who invoked the alarmCleared operation.

externalAlarmId A string. An identifier of the alarm in the source system.

isRootCause A boolean. Indicates whether the alarm is a root cause alarm.

plannedOutageIndicator A string. Indicates that the Managed Object (related to this alarm) is in planned
outage (in planned maintenance, or out-of-service).

probableCause A string. Provides the probable cause of the alarm. The values are consistent with
ITU-T Recommendation X.733 or 3GPP TS 32.111-2 Annex B.

proposedRepairedActions A string. Indicates proposed repair actions, if known to the system emitting the
alarm.

© TM Forum 2020. All Rights Reserved. Page 57 of 134


Alarm Management API User Guide

reportingSystemId A string. Reporting system identity.

serviceAffecting A boolean. Indicates whether the alarm affects service or not.

sourceSystemId A string. Source system identity.

specificProblem A string. Provides more specific information about the alarm.

state A string. Defines the alarm state during its life cycle (raised | updated | cleared).

affectedService A list of affected services (AffectedService [*]).

alarmType An alarm type (AlarmType). Categorizes the alarm (X.733 8.1.1, 3GPP TS 32.111-2
Annex A).

alarmedObject An alarmed object (AlarmedObject). Identifies the managed object instance


associated with the alarm.

comment A list of comments (Comment [*]). Indicates the comments entered on the alarm.

correlatedAlarm A list of alarm references (AlarmRef [*]).

crossedThresholdInformation A crossed threshold information (CrossedThresholdInformation). Identifies the


details of the threshold that has been crossed.

parentAlarm A list of alarm references (AlarmRef [*]).

perceivedSeverity A perceived severity (PerceivedSeverity). Lists the possible severities that can be
allocated to an Alarm. The values are consistent with ITU-T Recommendation
X.733.
Once an alarm has been cleared, its perceived severity is set to 'cleared' and can no
longer be set.

place A list of related place ref or values (RelatedPlaceRefOrValue [*]). Related Entity
reference. A related place defines a place described by reference or by value linked
to a specific entity. The polymorphic attributes @type, @schemaLocation &
@referredType are related to the place entity and not the RelatedPlaceRefOrValue
class itself.

AlarmedObject sub-resource

Identifies the managed object instance associated with the alarm.

href A string. A reference to the managed object associated with the event.

id A string. The identifier of the managed object associated with the event.

Comment sub-resource

Indicates the comments entered on the alarm.


© TM Forum 2020. All Rights Reserved. Page 58 of 134
Alarm Management API User Guide

comment A string. Indicates the text of the comment.

systemId A string. Indicates the system identifier on which the client set the comment.

time A date time (DateTime). Indicates the time commenting the alarm.

userId A string. Indicates the user commenting the alarm.

CrossedThresholdInformation sub-resource

Identifies the details of the threshold that has been crossed.

direction A string. Indicates the threshold crossing direction: up or down.

granularity A string. Indicates the granularity at which the indicator is evaluated for threshold
crossing.

indicatorName A string. Indicates the name of indicator which crossed the threshold.

indicatorUnit A string. Indicates the unit of the measurement of the indicator corresponding to
the threshold that has been crossed.

observedValue A string. Indicates the value of the indicator which crossed the threshold.

threshold A threshold reference (ThresholdRef).

thresholdCrossingDescription A string. Indicates further information on the threshold crossing alarm.

RelatedPlaceRefOrValue sub-resource

Related Entity reference. A related place defines a place described by reference or by value linked to a specific
entity. The polymorphic attributes @type, @schemaLocation & @referredType are related to the place entity and
not the RelatedPlaceRefOrValue class itself.

@referredType A string. The actual type of the target instance when needed for disambiguation.

name A string. A user-friendly name for the place, such as [Paris Store], [London Store],
[Main Home].

href A string. Unique reference of the place.

id A string. Unique identifier of the place.

@baseType A string. When sub-classing, this defines the super-class.

@schemaLocation An uri (Uri). A URI to a JSON-Schema file that defines additional attributes and
relationships.

@type A string. When sub-classing, this defines the sub-class Extensible name.

© TM Forum 2020. All Rights Reserved. Page 59 of 134


Alarm Management API User Guide

role A string.

AlarmRef relationship

@referredType A string. The actual type of the target instance when needed for disambiguation.

name A string. Name of the related entity.

href An uri (Uri). Hyperlink reference.

id A string. unique identifier.

@baseType A string. When sub-classing, this defines the super-class.

@schemaLocation An uri (Uri). A URI to a JSON-Schema file that defines additional attributes and
relationships.

@type A string. When sub-classing, this defines the sub-class Extensible name.

ThresholdRef relationship

@referredType A string. The actual type of the target instance when needed for disambiguation.

name A string. Name of the related entity.

href An uri (Uri). Hyperlink reference.

id A string. unique identifier.

@baseType A string. When sub-classing, this defines the super-class.

@schemaLocation An uri (Uri). A URI to a JSON-Schema file that defines additional attributes and
relationships.

@type A string. When sub-classing, this defines the sub-class Extensible name.

Json representation sample

We provide below the json representation of an example of a 'CommentAlarms' resource object

{
"id": "1045",
"href": "/alarmManagement/v4/ackAlarms/1045",
"comment": {
"userId": "bob@example.net",
"systemId": "ems-1",
"time": "2019-07-03T03:37:33.827Z",
"comment": "Dispatched"

© TM Forum 2020. All Rights Reserved. Page 60 of 134


Alarm Management API User Guide

},
"alarmPattern": [
{
"id": "8675309"
},
{
"id": "8675399"
}
],
"state": "done",
"commentedAlarm": [
{
"id": "8675309",
"href": "/alarmManagement/v4/alarm/8675309",
"@baseType": "Alarm",
"@type": "Alarm",
"@schemaLocation": "/alarmManagement/v4/schema/Alarm.schema.json",
"externalAlarmId": "5551212",
"state": "raised",
"alarmType": "environmentalAlarm",
"perceivedSeverity": "minor",
"probableCause": "rectifierLowVoltage",
"specificProblem": "ps=3,sl=1,in=8",
"alarmedObjectType": "Rectifier",
"alarmedObject": {
"id": "93051825",
"href": "/resourceInventoryManagement/v4/resource/93051825"
},
"sourceSystemId": "ems-1",
"alarmDetails": "voltage=204",
"alarmRaisedTime": "2019-07-03T03:32:17.235Z",
"alarmReportingTime": "2019-07-03T03:32:17.552Z",
"ackSystemId": "ems-1",
"ackUserId": "bob@example.net",
"ackTime": "2019-07-03T03:33:12.623Z",
"ackState": "acknowledged",
"correlatedAlarm": [
{
"id": "8675399",
"href": "/alarmManagement/v4/alarm/868675399"
}
],
"comment": [
{
"userId": "bob@example.net",
"systemId": "ems-1",
"time": "2019-07-03T03:37:33.827Z",
"comment": "Dispatched"
}
]
},
{
"id": "8675399",
"href": "/alarmManagement/v4/alarm/8675399",
"@baseType": "Alarm",
© TM Forum 2020. All Rights Reserved. Page 61 of 134
Alarm Management API User Guide

"@type": "Alarm",
"@schemaLocation": "/alarmManagement/v4/schema/Alarm.schema.json",
"externalAlarmId": "5551234",
"state": "raised",
"alarmType": "equipmentAlarm",
"perceivedSeverity": "minor",
"probableCause": "powerSupplyFailure",
"specificProblem": "ch=1,ps=3",
"alarmedObjectType": "Chassis",
"alarmedObject": {
"id": "95830731",
"href": "/resourceInventoryManagement/v4/resource/95830731"
},
"sourceSystemId": "ems-1",
"alarmRaisedTime": "2019-07-03T03:32:17.843Z",
"alarmReportingTime": "2019-07-03T03:32:18.102Z",
"alarmChangedTime": "2019-07-03T03:32:52.744Z",
"ackSystemId": "ems-1",
"ackUserId": "bob@example.net",
"ackTime": "2019-07-03T03:33:12.623Z",
"ackState": "acknowledged",
"parentAlarm": [
{
"id": "8675309",
"href": "/alarmManagement/v4/alarm/868675309"
}
],
"comment": [
{
"userId": "bob@example.net",
"systemId": "ems-1",
"time": "2019-07-03T03:37:33.827Z",
"comment": "Dispatched"
}
]
}
]
}

Group Alarms resource


Task resource for group alarms operation.

Resource model

© TM Forum 2020. All Rights Reserved. Page 62 of 134


Alarm Management API User Guide

Field descriptions

GroupAlarms fields

alarmChangedTime A date time (DateTime). Time of the correlation.

correlatedAlarm A list of alarm ref or values (AlarmRefOrValue [*]). Correlated alarms.

© TM Forum 2020. All Rights Reserved. Page 63 of 134


Alarm Management API User Guide

groupedAlarm A list of alarm ref or values (AlarmRefOrValue [*]). The successfully correlated alarms.

href A string. A reference to the task.

id A string. The identifier of the task.

parentAlarm An alarm ref or value (AlarmRefOrValue). Root cause alarm.

sourceSystemId A string. Source system identifier.

state A string. Current state of the operation task.

AffectedService sub-resource

href A string. Provides the identifier of the service affected by the alarm.

id A string.

AlarmRefOrValue sub-resource

An alarm defined by reference or value. The polymorphic attributes @type, @schemaLocation & @referredType
are related to the alarm entity and not the RelatedAlarmRefOrValue class itself.

@referredType A string. The actual type of the target instance when needed for disambiguation.

name A string. Name of the related entity.

href A string. A reference to the alarm.

id An integer. Identifier of the alarm, determined by the alarm owning system.

@baseType A string. The base type of this alarm.

@schemaLocation A string. A reference to the schema describing this alarm.

@type A string. The type for this alarm.

ackState A string. Provides the Acknowledgement State of the alarm (unacknowledged |


acknowledged).

ackSystemId A string. Provides the name of the system that last changed the ackState of an
alarm, i.e. acknowledged or unacknowledged the alarm.

ackUserId A string. Provides the id of the user who has last changed the ack state of the
alarm, i.e. acknowledged or unacknowledged the alarm.

alarmChangedTime A date time (DateTime). Indicates the last date and time when the alarm is changed
on the alarm-owning system. Any change to the alarm whether coming from the

© TM Forum 2020. All Rights Reserved. Page 64 of 134


Alarm Management API User Guide

alarmed resource or triggered by a change from the client is changing this time.

alarmClearedTime A date time (DateTime). Indicates the time (as a date + time) at which the alarm is
cleared at the source.

alarmDetails A string. Contains further information on the alarm.

alarmEscalation A boolean. Indicates if this alarm has been escalated or not.

alarmRaisedTime A date time (DateTime). Indicates the time (as a date + time) at which the alarm
occurred at its source.

alarmReportingTime A date time (DateTime). Indicates the time (as a date + time) at which the alarm
was reported by the owning OSS. It might be different from the alarmRaisedTime.
For instance, if the alarm list is maintained by an EMS, the alarmRaisedtime would
be the time the alarm
was detected by the NE, while the alarmReportingTime would be the time this
alarm was stored in the alarm list of the EMS.

alarmedObjectType A string. The type (class) of the managed object associated with the event.

clearSystemId A string. Provides the id of the system where the user who invoked the
alarmCleared operation is located.

clearUserId A string. Provides the id of the user who invoked the alarmCleared operation.

externalAlarmId A string. An identifier of the alarm in the source system.

isRootCause A boolean. Indicates whether the alarm is a root cause alarm.

plannedOutageIndicator A string. Indicates that the Managed Object (related to this alarm) is in planned
outage (in planned maintenance, or out-of-service).

probableCause A string. Provides the probable cause of the alarm. The values are consistent with
ITU-T Recommendation X.733 or 3GPP TS 32.111-2 Annex B.

proposedRepairedActions A string. Indicates proposed repair actions, if known to the system emitting the
alarm.

reportingSystemId A string. Reporting system identity.

serviceAffecting A boolean. Indicates whether the alarm affects service or not.

sourceSystemId A string. Source system identity.

specificProblem A string. Provides more specific information about the alarm.

state A string. Defines the alarm state during its life cycle (raised | updated | cleared).

© TM Forum 2020. All Rights Reserved. Page 65 of 134


Alarm Management API User Guide

affectedService A list of affected services (AffectedService [*]).

alarmType An alarm type (AlarmType). Categorizes the alarm (X.733 8.1.1, 3GPP TS 32.111-2
Annex A).

alarmedObject An alarmed object (AlarmedObject). Identifies the managed object instance


associated with the alarm.

comment A list of comments (Comment [*]). Indicates the comments entered on the alarm.

correlatedAlarm A list of alarm references (AlarmRef [*]).

crossedThresholdInformation A crossed threshold information (CrossedThresholdInformation). Identifies the


details of the threshold that has been crossed.

parentAlarm A list of alarm references (AlarmRef [*]).

perceivedSeverity A perceived severity (PerceivedSeverity). Lists the possible severities that can be
allocated to an Alarm. The values are consistent with ITU-T Recommendation
X.733.
Once an alarm has been cleared, its perceived severity is set to 'cleared' and can no
longer be set.

place A list of related place ref or values (RelatedPlaceRefOrValue [*]). Related Entity
reference. A related place defines a place described by reference or by value linked
to a specific entity. The polymorphic attributes @type, @schemaLocation &
@referredType are related to the place entity and not the RelatedPlaceRefOrValue
class itself.

AlarmedObject sub-resource

Identifies the managed object instance associated with the alarm.

href A string. A reference to the managed object associated with the event.

id A string. The identifier of the managed object associated with the event.

Comment sub-resource

Indicates the comments entered on the alarm.

comment A string. Indicates the text of the comment.

systemId A string. Indicates the system identifier on which the client set the comment.

time A date time (DateTime). Indicates the time commenting the alarm.

userId A string. Indicates the user commenting the alarm.

CrossedThresholdInformation sub-resource
© TM Forum 2020. All Rights Reserved. Page 66 of 134
Alarm Management API User Guide

Identifies the details of the threshold that has been crossed.

direction A string. Indicates the threshold crossing direction: up or down.

granularity A string. Indicates the granularity at which the indicator is evaluated for threshold
crossing.

indicatorName A string. Indicates the name of indicator which crossed the threshold.

indicatorUnit A string. Indicates the unit of the measurement of the indicator corresponding to
the threshold that has been crossed.

observedValue A string. Indicates the value of the indicator which crossed the threshold.

threshold A threshold reference (ThresholdRef).

thresholdCrossingDescription A string. Indicates further information on the threshold crossing alarm.

RelatedPlaceRefOrValue sub-resource

Related Entity reference. A related place defines a place described by reference or by value linked to a specific
entity. The polymorphic attributes @type, @schemaLocation & @referredType are related to the place entity and
not the RelatedPlaceRefOrValue class itself.

@referredType A string. The actual type of the target instance when needed for disambiguation.

name A string. A user-friendly name for the place, such as [Paris Store], [London Store],
[Main Home].

href A string. Unique reference of the place.

id A string. Unique identifier of the place.

@baseType A string. When sub-classing, this defines the super-class.

@schemaLocation An uri (Uri). A URI to a JSON-Schema file that defines additional attributes and
relationships.

@type A string. When sub-classing, this defines the sub-class Extensible name.

role A string.

AlarmRef relationship

@referredType A string. The actual type of the target instance when needed for disambiguation.

name A string. Name of the related entity.

© TM Forum 2020. All Rights Reserved. Page 67 of 134


Alarm Management API User Guide

href An uri (Uri). Hyperlink reference.

id A string. unique identifier.

@baseType A string. When sub-classing, this defines the super-class.

@schemaLocation An uri (Uri). A URI to a JSON-Schema file that defines additional attributes and
relationships.

@type A string. When sub-classing, this defines the sub-class Extensible name.

ThresholdRef relationship

@referredType A string. The actual type of the target instance when needed for disambiguation.

name A string. Name of the related entity.

href An uri (Uri). Hyperlink reference.

id A string. unique identifier.

@baseType A string. When sub-classing, this defines the super-class.

@schemaLocation An uri (Uri). A URI to a JSON-Schema file that defines additional attributes and
relationships.

@type A string. When sub-classing, this defines the sub-class Extensible name.

Json representation sample

We provide below the json representation of an example of a 'GroupAlarms' resource object

{
"id": "1029",
"href": "/alarmManagement/v4/groupAlarms/1029",
"sourceSystemId": "ems-1",
"alarmChangedTime": "2019-07-03T03:32:52.744Z",
"parentAlarm": {
"id": "8675309"
},
"correlatedAlarm": [
{
"id": "8675399"
}
],
"state": "done",
"groupedAlarm": [
{
"id": "8675309",
"href": "/alarmManagement/v4/alarm/8675309",
"@baseType": "Alarm",
© TM Forum 2020. All Rights Reserved. Page 68 of 134
Alarm Management API User Guide

"@type": "Alarm",
"@schemaLocation": "/alarmManagement/v4/schema/Alarm.schema.json",
"externalAlarmId": "5551212",
"state": "raised",
"alarmType": "environmentalAlarm",
"perceivedSeverity": "minor",
"probableCause": "rectifierLowVoltage",
"specificProblem": "ps=3,sl=1,in=8",
"alarmedObjectType": "Rectifier",
"alarmedObject": {
"id": "93051825",
"href": "/resourceInventoryManagement/v4/resource/93051825"
},
"sourceSystemId": "ems-1",
"alarmDetails": "voltage=204",
"alarmRaisedTime": "2019-07-03T03:32:17.235Z",
"alarmReportingTime": "2019-07-03T03:32:17.552Z",
"alarmChangedTime": "2019-07-03T03:32:52.744Z",
"correlatedAlarm": [
{
"id": "8675399",
"href": "/alarmManagement/v4/alarm/868675399"
}
]
},
{
"id": "8675399",
"href": "/alarmManagement/v4/alarm/8675399",
"@baseType": "Alarm",
"@type": "Alarm",
"@schemaLocation": "/alarmManagement/v4/Alarm.schema.json",
"externalAlarmId": "5551234",
"state": "raised",
"alarmType": "equipmentAlarm",
"perceivedSeverity": "minor",
"probableCause": "powerSupplyFailure",
"specificProblem": "ch=1,ps=3",
"alarmedObjectType": "Chassis",
"alarmedObject": {
"id": "95830731",
"href": "/resourceInventoryManagement/v4/resource/95830731"
},
"sourceSystemId": "ems-1",
"alarmRaisedTime": "2019-07-03T03:32:17.843Z",
"alarmReportingTime": "2019-07-03T03:32:18.102Z",
"alarmChangedTime": "2019-07-03T03:32:52.744Z",
"parentAlarm": [
{
"id": "8675309",
"href": "/alarmManagement/v4/alarm/868675309"
}
]
}
]
}
© TM Forum 2020. All Rights Reserved. Page 69 of 134
Alarm Management API User Guide

Un Group Alarms resource


Task resource for ungroup alarms operation.

Resource model

Field descriptions

UnGroupAlarms fields

© TM Forum 2020. All Rights Reserved. Page 70 of 134


Alarm Management API User Guide

alarmChangedTime A date time (DateTime). Time of the uncorrelation.

correlatedAlarm A list of alarm ref or values (AlarmRefOrValue [*]). Correlated alarms.

href A string. A reference to the task.

id A string. The identifier of the task.

parentAlarm An alarm ref or value (AlarmRefOrValue). Root cause alarm.

sourceSystemId A string. Source system identifier.

state A string. Current state of the operation task.

unGroupedAlarm A list of alarm ref or values (AlarmRefOrValue [*]). The successfully uncorrelated
alarms.

AffectedService sub-resource

href A string. Provides the identifier of the service affected by the alarm.

id A string.

AlarmRefOrValue sub-resource

An alarm defined by reference or value. The polymorphic attributes @type, @schemaLocation & @referredType
are related to the alarm entity and not the RelatedAlarmRefOrValue class itself.

@referredType A string. The actual type of the target instance when needed for disambiguation.

name A string. Name of the related entity.

href A string. A reference to the alarm.

id An integer. Identifier of the alarm, determined by the alarm owning system.

@baseType A string. The base type of this alarm.

@schemaLocation A string. A reference to the schema describing this alarm.

@type A string. The type for this alarm.

ackState A string. Provides the Acknowledgement State of the alarm (unacknowledged |


acknowledged).

ackSystemId A string. Provides the name of the system that last changed the ackState of an
alarm, i.e. acknowledged or unacknowledged the alarm.

© TM Forum 2020. All Rights Reserved. Page 71 of 134


Alarm Management API User Guide

ackUserId A string. Provides the id of the user who has last changed the ack state of the
alarm, i.e. acknowledged or unacknowledged the alarm.

alarmChangedTime A date time (DateTime). Indicates the last date and time when the alarm is changed
on the alarm-owning system. Any change to the alarm whether coming from the
alarmed resource or triggered by a change from the client is changing this time.

alarmClearedTime A date time (DateTime). Indicates the time (as a date + time) at which the alarm is
cleared at the source.

alarmDetails A string. Contains further information on the alarm.

alarmEscalation A boolean. Indicates if this alarm has been escalated or not.

alarmRaisedTime A date time (DateTime). Indicates the time (as a date + time) at which the alarm
occurred at its source.

alarmReportingTime A date time (DateTime). Indicates the time (as a date + time) at which the alarm
was reported by the owning OSS. It might be different from the alarmRaisedTime.
For instance, if the alarm list is maintained by an EMS, the alarmRaisedtime would
be the time the alarm
was detected by the NE, while the alarmReportingTime would be the time this
alarm was stored in the alarm list of the EMS.

alarmedObjectType A string. The type (class) of the managed object associated with the event.

clearSystemId A string. Provides the id of the system where the user who invoked the
alarmCleared operation is located.

clearUserId A string. Provides the id of the user who invoked the alarmCleared operation.

externalAlarmId A string. An identifier of the alarm in the source system.

isRootCause A boolean. Indicates whether the alarm is a root cause alarm.

plannedOutageIndicator A string. Indicates that the Managed Object (related to this alarm) is in planned
outage (in planned maintenance, or out-of-service).

probableCause A string. Provides the probable cause of the alarm. The values are consistent with
ITU-T Recommendation X.733 or 3GPP TS 32.111-2 Annex B.

proposedRepairedActions A string. Indicates proposed repair actions, if known to the system emitting the
alarm.

reportingSystemId A string. Reporting system identity.

serviceAffecting A boolean. Indicates whether the alarm affects service or not.

© TM Forum 2020. All Rights Reserved. Page 72 of 134


Alarm Management API User Guide

sourceSystemId A string. Source system identity.

specificProblem A string. Provides more specific information about the alarm.

state A string. Defines the alarm state during its life cycle (raised | updated | cleared).

affectedService A list of affected services (AffectedService [*]).

alarmType An alarm type (AlarmType). Categorizes the alarm (X.733 8.1.1, 3GPP TS 32.111-2
Annex A).

alarmedObject An alarmed object (AlarmedObject). Identifies the managed object instance


associated with the alarm.

comment A list of comments (Comment [*]). Indicates the comments entered on the alarm.

correlatedAlarm A list of alarm references (AlarmRef [*]).

crossedThresholdInformation A crossed threshold information (CrossedThresholdInformation). Identifies the


details of the threshold that has been crossed.

parentAlarm A list of alarm references (AlarmRef [*]).

perceivedSeverity A perceived severity (PerceivedSeverity). Lists the possible severities that can be
allocated to an Alarm. The values are consistent with ITU-T Recommendation
X.733.
Once an alarm has been cleared, its perceived severity is set to 'cleared' and can no
longer be set.

place A list of related place ref or values (RelatedPlaceRefOrValue [*]). Related Entity
reference. A related place defines a place described by reference or by value linked
to a specific entity. The polymorphic attributes @type, @schemaLocation &
@referredType are related to the place entity and not the RelatedPlaceRefOrValue
class itself.

AlarmedObject sub-resource

Identifies the managed object instance associated with the alarm.

href A string. A reference to the managed object associated with the event.

id A string. The identifier of the managed object associated with the event.

Comment sub-resource

Indicates the comments entered on the alarm.

comment A string. Indicates the text of the comment.

© TM Forum 2020. All Rights Reserved. Page 73 of 134


Alarm Management API User Guide

systemId A string. Indicates the system identifier on which the client set the comment.

time A date time (DateTime). Indicates the time commenting the alarm.

userId A string. Indicates the user commenting the alarm.

CrossedThresholdInformation sub-resource

Identifies the details of the threshold that has been crossed.

direction A string. Indicates the threshold crossing direction: up or down.

granularity A string. Indicates the granularity at which the indicator is evaluated for threshold
crossing.

indicatorName A string. Indicates the name of indicator which crossed the threshold.

indicatorUnit A string. Indicates the unit of the measurement of the indicator corresponding to
the threshold that has been crossed.

observedValue A string. Indicates the value of the indicator which crossed the threshold.

threshold A threshold reference (ThresholdRef).

thresholdCrossingDescription A string. Indicates further information on the threshold crossing alarm.

RelatedPlaceRefOrValue sub-resource

Related Entity reference. A related place defines a place described by reference or by value linked to a specific
entity. The polymorphic attributes @type, @schemaLocation & @referredType are related to the place entity and
not the RelatedPlaceRefOrValue class itself.

@referredType A string. The actual type of the target instance when needed for disambiguation.

name A string. A user-friendly name for the place, such as [Paris Store], [London Store],
[Main Home].

href A string. Unique reference of the place.

id A string. Unique identifier of the place.

@baseType A string. When sub-classing, this defines the super-class.

@schemaLocation An uri (Uri). A URI to a JSON-Schema file that defines additional attributes and
relationships.

@type A string. When sub-classing, this defines the sub-class Extensible name.

role A string.

AlarmRef relationship
© TM Forum 2020. All Rights Reserved. Page 74 of 134
Alarm Management API User Guide

@referredType A string. The actual type of the target instance when needed for disambiguation.

name A string. Name of the related entity.

href An uri (Uri). Hyperlink reference.

id A string. unique identifier.

@baseType A string. When sub-classing, this defines the super-class.

@schemaLocation An uri (Uri). A URI to a JSON-Schema file that defines additional attributes and
relationships.

@type A string. When sub-classing, this defines the sub-class Extensible name.

ThresholdRef relationship

@referredType A string. The actual type of the target instance when needed for disambiguation.

name A string. Name of the related entity.

href An uri (Uri). Hyperlink reference.

id A string. unique identifier.

@baseType A string. When sub-classing, this defines the super-class.

@schemaLocation An uri (Uri). A URI to a JSON-Schema file that defines additional attributes and
relationships.

@type A string. When sub-classing, this defines the sub-class Extensible name.

Json representation sample

We provide below the json representation of an example of a 'UnGroupAlarms' resource object

{
"id": "1069",
"href": "/alarmManagement/v4/groupAlarms/1069",
"sourceSystemId": "ems-1",
"alarmChangedTime": "2019-07-03T03:42:12.861Z",
"parentAlarm": {
"id": "8675309"
},
"correlatedAlarm": [
{
"id": "8675399"
},

© TM Forum 2020. All Rights Reserved. Page 75 of 134


Alarm Management API User Guide

{
"id": "8675399"
}
],
"state": "done",
"unGroupedAlarm": [
{
"id": "8675309",
"href": "/alarmManagement/v4/alarm/8675309",
"@baseType": "Alarm",
"@type": "Alarm",
"@schemaLocation": "/alarmManagement/v4/schema/Alarm.schema.json",
"externalAlarmId": "5551212",
"state": "raised",
"alarmType": "environmentalAlarm",
"perceivedSeverity": "minor",
"probableCause": "rectifierLowVoltage",
"specificProblem": "ps=3,sl=1,in=8",
"alarmedObjectType": "Rectifier",
"alarmedObject": {
"id": "93051825",
"href": "/resourceInventoryManagement/v4/resource/93051825"
},
"sourceSystemId": "ems-1",
"alarmDetails": "voltage=204",
"alarmRaisedTime": "2019-07-03T03:32:17.235Z",
"alarmReportingTime": "2019-07-03T03:32:17.552Z",
"alarmChangedTime": "2019-07-03T03:42:12.861Z",
"ackSystemId": "ems-1",
"ackUserId": "bob@example.net",
"ackTime": "2019-07-03T03:38:06.890Z",
"ackState": "UNacknowledged",
"comment": [
{
"userId": "bob@example.net",
"systemId": "ems-1",
"time": "2019-07-03T03:37:33.827Z",
"comment": "Dispatched"
}
]
},
{
"id": "8675399",
"href": "/alarmManagement/v4/alarm/8675399",
"@baseType": "Alarm",
"@type": "Alarm",
"@schemaLocation": "/alarmManagement/v4/schema/Alarm.schema.json",
"externalAlarmId": "5551234",
"state": "raised",
"alarmType": "equipmentAlarm",
"perceivedSeverity": "minor",
"probableCause": "powerSupplyFailure",
"specificProblem": "ch=1,ps=3",
"alarmedObjectType": "Chassis",
"alarmedObject": {
© TM Forum 2020. All Rights Reserved. Page 76 of 134
Alarm Management API User Guide

"id": "95830731",
"href": "/resourceInventoryManagement/v4/resource/95830731"
},
"sourceSystemId": "ems-1",
"alarmRaisedTime": "2019-07-03T03:32:17.843Z",
"alarmReportingTime": "2019-07-03T03:32:18.102Z",
"alarmChangedTime": "2019-07-03T03:42:12.861Z",
"ackSystemId": "ems-1",
"ackUserId": "bob@example.net",
"ackTime": "2019-07-03T03:38:06.890Z",
"ackState": "unacknowledged",
"comment": [
{
"userId": "bob@example.net",
"systemId": "ems-1",
"time": "2019-07-03T03:37:33.827Z",
"comment": "Dispatched"
}
]
}
]
}

Notification Resource Models

16 notifications are defined for this API

Notifications related to Alarm:


- AlarmCreateEvent
- AlarmAttributeValueChangeEvent
- AlarmStateChangeEvent
- AlarmDeleteEvent

Notifications related to AckAlarms:


- AckAlarmsCreateEvent
- AckAlarmsStateChangeEvent

Notifications related to UnAckAlarms:


- UnAckAlarmsCreateEvent
- UnAckAlarmsStateChangeEvent

Notifications related to ClearAlarms:


- ClearAlarmsCreateEvent
- ClearAlarmsStateChangeEvent

Notifications related to CommentAlarms:


- CommentAlarmsCreateEvent
- CommentAlarmsStateChangeEvent
© TM Forum 2020. All Rights Reserved. Page 77 of 134
Alarm Management API User Guide

Notifications related to GroupAlarms:


- GroupAlarmsCreateEvent
- GroupAlarmsStateChangeEvent

Notifications related to UnGroupAlarms:


- UnGroupAlarmsCreateEvent
- UnGroupAlarmsStateChangeEvent

The notification structure for all notifications in this API follow the pattern depicted by the figure below.
A notification event resource (depicted by "SpecificEvent" placeholder) is a sub class of a generic Event structure
containing at least an id of the event occurrence (eventId), an event timestamp (eventTime), and the name of the
resource (eventType).
This notification structure owns an event payload structure ("SpecificEventPayload" placeholder) linked to the
resource concerned by the notification using the resource name as access field ("resourceName" placeholder).

© TM Forum 2020. All Rights Reserved. Page 78 of 134


Alarm Management API User Guide

Alarm Create Event


Notification AlarmCreateEvent case for resource Alarm

Json representation sample

We provide below the json representation of an example of a 'AlarmCreateEvent' notification event object

{
"eventId":"00001",
"eventTime":"2015-11-16T16:42:25-04:00",
"eventType":"AlarmCreateEvent",
"event": {
© TM Forum 2020. All Rights Reserved. Page 79 of 134
Alarm Management API User Guide

"alarm" :
{-- SEE Alarm RESOURCE SAMPLE --}
}
}

Alarm Attribute Value Change Event


Notification AlarmAttributeValueChangeEvent case for resource Alarm

Json representation sample

We provide below the json representation of an example of a 'AlarmAttributeValueChangeEvent' notification event


object

{
"eventId":"00001",
"eventTime":"2015-11-16T16:42:25-04:00",
"eventType":"AlarmAttributeValueChangeEvent",
"event": {
"alarm" :
{-- SEE Alarm RESOURCE SAMPLE --}
}
}

Alarm State Change Event


Notification AlarmStateChangeEvent case for resource Alarm

Json representation sample

We provide below the json representation of an example of an 'AlarmStateChangeEvent' notification event object

{
"eventId":"00001",
"eventTime":"2015-11-16T16:42:25-04:00",
"eventType":"AlarmStateChangeEvent",
"event": {
"alarm" :
{-- SEE Alarm RESOURCE SAMPLE --}
}
}

Alarm Delete Event


Notification AlarmDeleteEvent case for resource Alarm

Json representation sample

We provide below the json representation of an example of an 'AlarmDeleteEvent' notification event object

© TM Forum 2020. All Rights Reserved. Page 80 of 134


Alarm Management API User Guide

{
"eventId":"00001",
"eventTime":"2015-11-16T16:42:25-04:00",
"eventType":"AlarmDeleteEvent",
"event": {
"alarm" :
{-- SEE Alarm RESOURCE SAMPLE --}
}
}

Ack Alarms Create Event


Notification AckAlarmsCreateEvent case for resource AckAlarms

Json representation sample

We provide below the json representation of an example of an 'AckAlarmsCreateEvent' notification event object

{
"eventId":"00001",
"eventTime":"2015-11-16T16:42:25-04:00",
"eventType":"AckAlarmsCreateEvent",
"event": {
"ackAlarms" :
{-- SEE AckAlarms RESOURCE SAMPLE --}
}
}

Ack Alarms State Change Event


Notification AckAlarmsStateChangeEvent case for resource AckAlarms

Json representation sample

We provide below the json representation of an example of a 'AckAlarmsStateChangeEvent' notification event


object

{
"eventId":"00001",
"eventTime":"2015-11-16T16:42:25-04:00",
"eventType":"AckAlarmsStateChangeEvent",
"event": {
"ackAlarms" :
{-- SEE AckAlarms RESOURCE SAMPLE --}
}
}

Un Ack Alarms Create Event

Notification UnAckAlarmsCreateEvent case for resource UnAckAlarms


© TM Forum 2020. All Rights Reserved. Page 81 of 134
Alarm Management API User Guide

Json representation sample

We provide below the json representation of an example of a 'UnAckAlarmsCreateEvent' notification event object

{
"eventId":"00001",
"eventTime":"2015-11-16T16:42:25-04:00",
"eventType":"UnAckAlarmsCreateEvent",
"event": {
"unAckAlarms" :
{-- SEE UnAckAlarms RESOURCE SAMPLE --}
}
}

Un Ack Alarms State Change Event


Notification UnAckAlarmsStateChangeEvent case for resource UnAckAlarms

Json representation sample

We provide below the json representation of an example of a 'UnAckAlarmsStateChangeEvent' notification event


object

{
"eventId":"00001",
"eventTime":"2015-11-16T16:42:25-04:00",
"eventType":"UnAckAlarmsStateChangeEvent",
"event": {
"unAckAlarms" :
{-- SEE UnAckAlarms RESOURCE SAMPLE --}
}
}

Clear Alarms Create Event


Notification ClearAlarmsCreateEvent case for resource ClearAlarms

Json representation sample

We provide below the json representation of an example of a 'ClearAlarmsCreateEvent' notification event object

{
"eventId":"00001",
"eventTime":"2015-11-16T16:42:25-04:00",
"eventType":"ClearAlarmsCreateEvent",
"event": {
"clearAlarms" :
{-- SEE ClearAlarms RESOURCE SAMPLE --}
}
}

© TM Forum 2020. All Rights Reserved. Page 82 of 134


Alarm Management API User Guide

Clear Alarms State Change Event


Notification ClearAlarmsStateChangeEvent case for resource ClearAlarms

Json representation sample

We provide below the json representation of an example of a 'ClearAlarmsStateChangeEvent' notification event


object

{
"eventId":"00001",
"eventTime":"2015-11-16T16:42:25-04:00",
"eventType":"ClearAlarmsStateChangeEvent",
"event": {
"clearAlarms" :
{-- SEE ClearAlarms RESOURCE SAMPLE --}
}
}

Comment Alarms Create Event


Notification CommentAlarmsCreateEvent case for resource CommentAlarms

Json representation sample

We provide below the json representation of an example of a 'CommentAlarmsCreateEvent' notification event


object

{
"eventId":"00001",
"eventTime":"2015-11-16T16:42:25-04:00",
"eventType":"CommentAlarmsCreateEvent",
"event": {
"commentAlarms" :
{-- SEE CommentAlarms RESOURCE SAMPLE --}
}
}

Comment Alarms State Change Event


Notification CommentAlarmsStateChangeEvent case for resource CommentAlarms

Json representation sample

We provide below the json representation of an example of a 'CommentAlarmsStateChangeEvent' notification


event object

{
"eventId":"00001",
"eventTime":"2015-11-16T16:42:25-04:00",

© TM Forum 2020. All Rights Reserved. Page 83 of 134


Alarm Management API User Guide

"eventType":"CommentAlarmsStateChangeEvent",
"event": {
"commentAlarms" :
{-- SEE CommentAlarms RESOURCE SAMPLE --}
}
}

Group Alarms Create Event


Notification GroupAlarmsCreateEvent case for resource GroupAlarms

Json representation sample

We provide below the json representation of an example of a 'GroupAlarmsCreateEvent' notification event object

{
"eventId":"00001",
"eventTime":"2015-11-16T16:42:25-04:00",
"eventType":"GroupAlarmsCreateEvent",
"event": {
"groupAlarms" :
{-- SEE GroupAlarms RESOURCE SAMPLE --}
}
}

Group Alarms State Change Event


Notification GroupAlarmsStateChangeEvent case for resource GroupAlarms

Json representation sample

We provide below the json representation of an example of a 'GroupAlarmsStateChangeEvent' notification event


object

{
"eventId":"00001",
"eventTime":"2015-11-16T16:42:25-04:00",
"eventType":"GroupAlarmsStateChangeEvent",
"event": {
"groupAlarms" :
{-- SEE GroupAlarms RESOURCE SAMPLE --}
}
}

Un Group Alarms Create Event


Notification UnGroupAlarmsCreateEvent case for resource UnGroupAlarms

Json representation sample

© TM Forum 2020. All Rights Reserved. Page 84 of 134


Alarm Management API User Guide

We provide below the json representation of an example of a 'UnGroupAlarmsCreateEvent' notification event


object

{
"eventId":"00001",
"eventTime":"2015-11-16T16:42:25-04:00",
"eventType":"UnGroupAlarmsCreateEvent",
"event": {
"unGroupAlarms" :
{-- SEE UnGroupAlarms RESOURCE SAMPLE --}
}
}

Un Group Alarms State Change Event

Notification UnGroupAlarmsStateChangeEvent case for resource UnGroupAlarms

Json representation sample

We provide below the json representation of an example of a 'UnGroupAlarmsStateChangeEvent' notification


event object

{
"eventId":"00001",
"eventTime":"2015-11-16T16:42:25-04:00",
"eventType":"UnGroupAlarmsStateChangeEvent",
"event": {
"unGroupAlarms" :
{-- SEE UnGroupAlarms RESOURCE SAMPLE --}
}
}

© TM Forum 2020. All Rights Reserved. Page 85 of 134


Alarm Management API User Guide

API OPERATIONS
Remember the following Uniform Contract:

Operation on Entities Uniform API Operation Description

Query Entities GET Resource GET must be used to retrieve


a representation of a
resource.

Create Entity POST Resource POST must be used to create


a new resource

Partial Update of an Entity PATCH Resource PATCH must be used to


partially update a resource

Complete Update of an Entity PUT Resource PUT must be used to


completely update a resource
identified by its resource URI

Remove an Entity DELETE Resource DELETE must be used to


remove a resource

Execute an Action on an POST on TASK Resource POST must be used to


Entity execute Task Resources

Other Request Methods POST on TASK Resource GET and POST must not be
used to tunnel other request
methods.

Filtering and attribute selection rules are described in the TMF REST Design Guidelines.

Notifications are also described in a subsequent section.

Operations on Alarm
© TM Forum 2020. All Rights Reserved. Page 86 of 134
Alarm Management API User Guide

List alarms

GET /alarm?fields=...&{filtering}
Description

This operation list alarm entities.


Attribute selection is enabled for all first level attributes.
Filtering may be available depending on the compliance level supported by an implementation.

Usage Samples

Example of a request for retrieving a list of alarms:

Request

GET /tmf-api/alarmManagement/v4/alarm
Accept: application/json

Response

200

[
{
"id": "8675309",
"href": "/alarmManagement/v4/alarm/8675309",
"@baseType": "Alarm",
"@type": "Alarm",
"@schemaLocation": "/alarmManagement/v4/schema/Alarm.schema.json",
"externalAlarmId": "5551212",
"state": "updated",
"alarmType": "environmentalAlarm",
"perceivedSeverity": "major",
"probableCause": "rectifierLowVoltage",
"specificProblem": "ps=3,sl=1,in=8",
"alarmedObjectType": "Rectifier",
"alarmedObject": {
"id": "93051825",
"href": "/resourceInventoryManagement/v4/resource/93051825"
},
"sourceSystemId": "ems-1",
"alarmDetails": "voltage=95",
"alarmRaisedTime": "2019-07-03T03:32:17.235Z",
"alarmReportingTime": "2019-07-03T03:32:17.552Z",
"alarmChangedTime": "2019-07-03T03:32:24.715Z"
},

© TM Forum 2020. All Rights Reserved. Page 87 of 134


Alarm Management API User Guide

{
"id": "8675399",
"href": "/alarmManagement/v4/alarm/8675399",
"@baseType": "Alarm",
"@type": "Alarm",
"@schemaLocation": "/alarmManagement/v4/schema/Alarm.schema.json",
"externalAlarmId": "5551234",
"state": "updated",
"alarmType": "equipmentAlarm",
"perceivedSeverity": "minor",
"probableCause": "powerSupplyFailure",
"specificProblem": "ch=1,ps=3",
"alarmedObjectType": "Chassis",
"alarmedObject": {
"id": "95830731",
"href": "/resourceInventoryManagement/v4/resource/95830731"
},
"sourceSystemId": "ems-1",
"alarmRaisedTime": "2019-07-03T03:32:17.843Z",
"alarmReportingTime": "2019-07-03T03:32:18.102Z"
}
]

Retrieve alarm

GET /alarm/{id}?fields=...&{filtering}
Description

This operation retrieves an alarm entity.


Attribute selection is enabled for all first level attributes.
Filtering on sub-resources may be available depending on the compliance level supported by an implementation.

Usage Samples

Example of a request for retrieving an alarm:

Request

GET /tmf-api/alarmManagement/v4/alarm/8675309
Accept: application/json

Response

200

© TM Forum 2020. All Rights Reserved. Page 88 of 134


Alarm Management API User Guide

{
"id": "8675309",
"href": "/alarmManagement/v4/alarm/8675309",
"@baseType": "Alarm",
"@type": "Alarm",
"@schemaLocation": "/alarmManagement/v4/schema/Alarm.schema.json",
"externalAlarmId": "5551212",
"state": "updated",
"alarmType": "environmentalAlarm",
"perceivedSeverity": "major",
"probableCause": "rectifierLowVoltage",
"specificProblem": "ps=3,sl=1,in=8",
"alarmedObjectType": "Rectifier",
"alarmedObject": {
"id": "93051825",
"href": "/resourceInventoryManagement/v4/resource/93051825"
},
"sourceSystemId": "ems-1",
"alarmDetails": "voltage=95",
"alarmRaisedTime": "2019-07-03T03:32:17.235Z",
"alarmReportingTime": "2019-07-03T03:32:17.552Z",
"alarmChangedTime": "2019-07-03T03:32:24.715Z",
"ackState": "unacknowledged"
}

Create alarm

POST /alarm
Description

This operation creates an alarm entity.

Mandatory and Non Mandatory Attributes

The following tables provide the list of mandatory and non mandatory attributes when creating a Alarm, including
any possible rule conditions and applicable default values. Notice that it is up to an implementer to add additional
mandatory attributes.

Mandatory Attributes Rule


alarmType
perceivedSeverity
probableCause
alarmedObject
sourceSystemId
state
alarmRaisedTime

© TM Forum 2020. All Rights Reserved. Page 89 of 134


Alarm Management API User Guide

Non Mandatory Attributes Rule


@baseType
@schemaLocation
@type
ackState
ackSystemId
ackUserId
affectedService
alarmChangedTime
alarmClearedTime
alarmDetails
alarmEscalation
alarmReportingTime
alarmedObjectType
clearSystemId
clearUserId
comment
correlatedAlarm
crossedThresholdInformation
externalAlarmId
isRootCause
parentAlarm
place
plannedOutageIndicator
proposedRepairedActions
reportingSystemId
serviceAffecting
specificProblem

Usage Samples

Example of a request for creating an alarm:

Request

POST /tmf-api/alarmManagement/v4/alarm
Content-Type: application/json

{
"externalAlarmId": "5551212",
"state": "raised",
"alarmType": "environmentalAlarm",
"perceivedSeverity": "minor",
"probableCause": "rectifierLowVoltage",
"specificProblem": "ps=3,sl=1,in=8",
"alarmedObjectType": "NePowerSupply",
"alarmedObject": {
"id": "93051825",
© TM Forum 2020. All Rights Reserved. Page 90 of 134
Alarm Management API User Guide

"href": "/resourceInventoryManagement/v4/resource/93051825"
},
"sourceSystemId": "ems-1",
"alarmDetails": "voltage=204",
"alarmRaisedTime": "2019-07-03T03:32:17.235Z",
"alarmReportingTime": "2019-07-03T03:32:17.552Z"
}

Response

201

{
"id": "8675309",
"href": "/alarmManagement/v4/alarm/8675309",
"externalAlarmId": "5551212",
"state": "raised",
"alarmType": "environmentalAlarm",
"perceivedSeverity": "minor",
"probableCause": "rectifierLowVoltage",
"specificProblem": "ps=3,sl=1,in=8",
"alarmedObjectType": "Rectifier",
"alarmedObject": {
"id": "93051825",
"href": "/resourceInventoryManagement/v4/resource/93051825"
},
"sourceSystemId": "ems-1",
"alarmDetails": "voltage=204",
"alarmRaisedTime": "2019-07-03T03:32:17.235Z",
"alarmReportingTime": "2019-07-03T03:32:17.552Z"
}

Patch alarm

PATCH /alarm/{id}
Description

This operation allows partial updates of an alarm entity. Support of json/merge


(https://tools.ietf.org/html/rfc7386) is mandatory, support of json/patch (http://tools.ietf.org/html/rfc5789) is
optional.

Note: If the update operation yields to the creation of sub-resources or relationships, the same rules concerning
mandatory sub-resource attributes and default value settings in the POST operation applies to the PATCH
operation. Hence these tables are not repeated here.

Patchable and Non Patchable Attributes

© TM Forum 2020. All Rights Reserved. Page 91 of 134


Alarm Management API User Guide

The tables below provide the list of patchable and non patchable attributes, including constraint rules on their
usage.

Patchable Attributes Rule


@baseType
@schemaLocation
@type
ackState
ackSystemId
ackUserId
affectedService
alarmChangedTime
alarmClearedTime
alarmDetails
alarmEscalation
alarmReportingTime
alarmType
alarmedObject
alarmedObjectType
clearSystemId
clearUserId
comment
correlatedAlarm
crossedThresholdInformation
externalAlarmId
isRootCause
parentAlarm
perceivedSeverity
place
plannedOutageIndicator
probableCause
proposedRepairedActions
reportingSystemId
serviceAffecting
specificProblem
state

Non Patchable Attributes Rule


id
href
alarmRaisedTime
sourceSystemId

Usage Samples

Example of updating an alarm using json-patch:

© TM Forum 2020. All Rights Reserved. Page 92 of 134


Alarm Management API User Guide

Request

PATCH /tmf-api/alarmManagement/v4/alarm/8675309
Content-Type: application/json-patch+json

[
{
"op": "replace",
"path": "/state",
"value": "updated"
},
{
"op": "replace",
"path": "/perceivedSeverity",
"value": "major"
},
{
"op": "replace",
"path": "/alarmChangedTime",
"value": "2019-07-03T03:32:24.715Z"
},
{
"op": "replace",
"path": "/alarmDetails",
"value": "voltage=95"
}
]

Response

200

{
"id": "8675309",
"href": "/alarmManagement/v4/alarm/8675309",
"externalAlarmId": "5551212",
"state": "updated",
"alarmType": "environmentalAlarm",
"perceivedSeverity": "major",
"probableCause": "rectifierLowVoltage",
"specificProblem": "ps=3,sl=1,in=8",
"alarmedObjectType": "Rectifier",
"alarmedObject": {
"id": "93051825",
"href": "/resourceInventoryManagement/v4/resource/93051825"
},
"sourceSystemId": "ems-1",
"alarmDetails": "voltage=95",
"alarmRaisedTime": "2019-07-03T03:32:17.235Z",
"alarmReportingTime": "2019-07-03T03:32:17.552Z",
"alarmChangedTime": "2019-07-03T03:32:24.715Z"
© TM Forum 2020. All Rights Reserved. Page 93 of 134
Alarm Management API User Guide

Example of updating an alarm using merge-patch:

Request

PATCH /tmf-api/alarmManagement/v4/alarm/8675309
Content-Type: application/merge-patch+json

{
"state": "updated",
"perceivedSeverity": "major",
"alarmDetails": "voltage=95",
"alarmChangedTime": "2019-07-03T03:32:24.715Z"
}

Response

200

{
"id": "8675309",
"href": "/alarmManagement/v4/alarm/8675309",
"externalAlarmId": "5551212",
"state": "updated",
"alarmType": "environmentalAlarm",
"perceivedSeverity": "major",
"probableCause": "rectifierLowVoltage",
"specificProblem": "ps=3,sl=1,in=8",
"alarmedObjectType": "Rectifier",
"alarmedObject": {
"id": "93051825",
"href": "/resourceInventoryManagement/v4/resource/93051825"
},
"sourceSystemId": "ems-1",
"alarmDetails": "voltage=95",
"alarmRaisedTime": "2019-07-03T03:32:17.235Z",
"alarmReportingTime": "2019-07-03T03:32:17.552Z",
"alarmChangedTime": "2019-07-03T03:32:24.715Z"
}

Example of acknowledging an alarm:

Request

PATCH /tmf-api/alarmManagement/v4/alarm/8675309

© TM Forum 2020. All Rights Reserved. Page 94 of 134


Alarm Management API User Guide

Content-Type: application/json-patch+json

[
{
"op": "replace",
"path": "/ackState",
"value": "acknowledged"
},
{
"op": "replace",
"path": "/ackSystemId",
"value": "ems-1"
},
{
"op": "replace",
"path": "/ackUserId",
"value": "bob@example.net"
},
{
"op": "replace",
"path": "/ackTime",
"value": "2019-07-03T03:33:12.623Z"
}
]

Response

200

{
"id": "8675309",
"href": "/alarmManagement/v4/alarm/8675309",
"externalAlarmId": "5551212",
"state": "updated",
"alarmType": "environmentalAlarm",
"perceivedSeverity": "major",
"probableCause": "rectifierLowVoltage",
"specificProblem": "ps=3,sl=1,in=8",
"alarmedObjectType": "Rectifier",
"alarmedObject": {
"id": "93051825",
"href": "/resourceInventoryManagement/v4/resource/93051825"
},
"sourceSystemId": "ems-1",
"alarmDetails": "voltage=95",
"alarmRaisedTime": "2019-07-03T03:32:17.235Z",
"alarmReportingTime": "2019-07-03T03:32:17.552Z",
"alarmChangedTime": "2019-07-03T03:32:24.715Z",
"ackTime": "2019-07-03T03:33:12.623Z",
"ackState": "acknowledged",
"ackSystemId": "ems-1",
"ackUserId": "bob@example.net"
© TM Forum 2020. All Rights Reserved. Page 95 of 134
Alarm Management API User Guide

Example of clearing an alarm:

Request

PATCH /tmf-api/alarmManagement/v4/alarm/8675309
Content-Type: application/json-patch+json

[
{
"op": "replace",
"path": "/state",
"value": "cleared"
},
{
"op": "replace",
"path": "/perceivedSeverity",
"value": "cleared"
},
{
"op": "replace",
"path": "/alarmClearedTime",
"value": "2019-07-03T03:55:45.937Z"
},
{
"op": "replace",
"path": "/clearSystemId",
"value": "ems-1"
},
{
"op": "replace",
"path": "/clearUserId",
"value": "bob@example.net"
}
]

Response

200

{
"id": "8675309",
"href": "/alarmManagement/v4/alarm/8675309",
"externalAlarmId": "5551212",
"state": "cleared",
"alarmType": "environmentalAlarm",
"perceivedSeverity": "cleared",
"probableCause": "rectifierLowVoltage",
© TM Forum 2020. All Rights Reserved. Page 96 of 134
Alarm Management API User Guide

"specificProblem": "ps=3,sl=1,in=8",
"alarmedObjectType": "Rectifier",
"alarmedObject": {
"id": "93051825",
"href": "/resourceInventoryManagement/v4/resource/93051825"
},
"sourceSystemId": "ems-1",
"alarmDetails": "voltage=95",
"alarmRaisedTime": "2019-07-03T03:32:17.235Z",
"alarmReportingTime": "2019-07-03T03:32:17.552Z",
"alarmChangedTime": "2019-07-03T03:35:45.923Z",
"alarmClearedTime": "2019-07-03T03:55:45.937Z",
"clearSystemId": "ems-1",
"clearUserId": "bob@example.net"
}

Delete alarm

DELETE /alarm/{id}
Description

This operation deletes an alarm entity.

Usage Samples

Example of a request for deleting an alarm:

Request

DELETE /tmf-api/alarmManagement/v4/alarm/8675309

Response

204

Operations on Ack Alarms

List ack alarmses

GET /ackAlarms?fields=...&{filtering}
Description
© TM Forum 2020. All Rights Reserved. Page 97 of 134
Alarm Management API User Guide

This operation list ack alarms entities.


Attribute selection is enabled for all first level attributes.
Filtering may be available depending on the compliance level supported by an implementation.

Usage Samples

Example of a request for retrieving a list of acknowledge alarms tasks:

Request

GET /tmf-api/alarmManagement/v4/ackAlarms
Accept: application/json

Response

200

[
{
"id": "1038",
"href": "/alarmManagement/v4/ackAlarms/1038",
"ackSystemId": "ems-1",
"ackUserId": "bob@example.net",
"ackTime": "2019-07-03T03:33:12.623Z",
"alarmPattern": [
{
"id": "8675309"
},
{
"id": "8675399"
}
],
"state": "inProgress",
"ackedAlarm": []
}
]

Retrieve ack alarms

GET /ackAlarms/{id}?fields=...&{filtering}
Description

© TM Forum 2020. All Rights Reserved. Page 98 of 134


Alarm Management API User Guide

This operation retrieves an ack alarms entity.


Attribute selection is enabled for all first level attributes.
Filtering on sub-resources may be available depending on the compliance level supported by an implementation.

Usage Samples

Example of a request for retrieving an acknowledge alarms task:

Request

GET /tmf-api/alarmManagement/v4/ackAlarms/1038
Accept: application/json

Response

200

{
"id": "1038",
"href": "/alarmManagement/v4/ackAlarms/1038",
"ackSystemId": "ems-1",
"ackUserId": "bob@example.net",
"ackTime": "2019-07-03T03:33:12.623Z",
"alarmPattern": [
{
"id": "8675309"
},
{
"id": "8675399"
}
],
"state": "inProgress",
"ackedAlarm": []
}

Create ack alarms

POST /ackAlarms
Description

This operation creates an ack alarms entity.

Mandatory and Non Mandatory Attributes

© TM Forum 2020. All Rights Reserved. Page 99 of 134


Alarm Management API User Guide

The following tables provide the list of mandatory and non mandatory attributes when creating an AckAlarms,
including any possible rule conditions and applicable default values. Notice that it is up to an implementer to add
additional mandatory attributes.

Mandatory Attributes Rule


ackSystemId
ackUserId
alarmPattern

Non Mandatory Attributes Rule


ackTime
ackedAlarm
state

Usage Samples

Example of a request for creating a task to acknowledge alarms:

Request

POST /tmf-api/alarmManagement/v4/ackAlarms
Content-Type: application/json

{
"ackSystemId": "ems-1",
"ackUserId": "bob@example.net",
"ackTime": "2019-07-03T03:33:12.623Z",
"alarmPattern": [
{
"id": "8675309"
},
{
"id": "8675399"
}
]
}

Response

201

{
"id": "1038",
"href": "/alarmManagement/v4/ackAlarms/1038",
"ackSystemId": "ems-1",
"ackUserId": "bob@example.net",
"ackTime": "2019-07-03T03:33:12.623Z",
© TM Forum 2020. All Rights Reserved. Page 100 of 134
Alarm Management API User Guide

"alarmPattern": [
{
"id": "8675309"
},
{
"id": "8675399"
}
],
"state": "done",
"ackedAlarm": [
{
"id": "8675309",
"href": "/alarmManagement/v4/alarm/8675309",
"@baseType": "Alarm",
"@type": "Alarm",
"@schemaLocation": "/alarmManagement/v4/schema/Alarm.schema.json",
"externalAlarmId": "5551212",
"state": "updated",
"alarmType": "environmentalAlarm",
"perceivedSeverity": "major",
"probableCause": "rectifierLowVoltage",
"specificProblem": "ps=3,sl=1,in=8",
"alarmedObjectType": "Rectifier",
"alarmedObject": {
"id": "93051825",
"href": "/resourceInventoryManagement/v4/resource/93051825"
},
"sourceSystemId": "ems-1",
"alarmDetails": "voltage=204",
"alarmRaisedTime": "2019-07-03T03:32:17.235Z",
"alarmReportingTime": "2019-07-03T03:32:17.552Z",
"alarmChangedTime": "2019-07-03T03:32:24.715Z",
"ackSystemId": "ems-1",
"ackUserId": "bob@example.net",
"ackTime": "2019-07-03T03:33:12.623Z",
"ackState": "acknowledged",
"correlatedAlarm": [
{
"id": "8675399",
"href": "/alarmManagement/v4/alarm/868675399"
}
]
},
{
"id": "8675399",
"href": "/alarmManagement/v4/alarm/8675399",
"@baseType": "Alarm",
"@type": "Alarm",
"@schemaLocation": "/alarmManagement/v4/schema/Alarm.schema.json",
"externalAlarmId": "5551234",
"state": "raised",
"alarmType": "Equipment Alarm",
"perceivedSeverity": "minor",
"probableCause": "powerSupplyFailure",

© TM Forum 2020. All Rights Reserved. Page 101 of 134


Alarm Management API User Guide

"specificProblem": "ch=1,ps=3",
"alarmedObjectType": "Chassis",
"alarmedObject": {
"id": "95830731",
"href": "/resourceInventoryManagement/v4/resource/95830731"
},
"sourceSystemId": "ems-1",
"alarmRaisedTime": "2019-07-03T03:32:17.843Z",
"alarmReportingTime": "2019-07-03T03:32:18.102Z",
"ackSystemId": "ems-1",
"ackUserId": "bob@example.net",
"ackTime": "2019-07-03T03:33:12.623Z",
"ackState": "acknowledged",
"parentAlarm": [
{
"id": "8675309",
"href": "/alarmManagement/v4/alarm/868675309"
}
]
}
]
}

Example of a request using the external identifier:

Request

POST /tmf-api/alarmManagement/v4/ackAlarms
Content-Type: application/json

{
"ackSystemId": "ems-1",
"ackUserId": "bob@example.net",
"ackTime": "2019-07-03T03:33:12.623Z",
"alarmPattern": [
{
"sourceSystemId": "ems-1",
"externalAlarmId": "5551212"
}
]
}

Response

201

{
"id": "1039",
"href": "/alarmManagement/v4/ackAlarms/1039",
© TM Forum 2020. All Rights Reserved. Page 102 of 134
Alarm Management API User Guide

"ackSystemId": "ems-1",
"ackUserId": "bob@example.net",
"ackTime": "2019-07-03T03:33:12.623Z",
"alarmPattern": [
{
"sourceSystemId": "ems-1",
"externalAlarmId": "5551212"
}
],
"state": "done",
"ackedAlarm": [
{
"id": "8675309",
"href": "/alarmManagement/v4/alarm/8675309",
"@baseType": "Alarm",
"@type": "Alarm",
"@schemaLocation": "/alarmManagement/v4/schema/Alarm.schema.json",
"externalAlarmId": "5551212",
"state": "updated",
"alarmType": "environmentalAlarm",
"perceivedSeverity": "major",
"probableCause": "rectifierLowVoltage",
"specificProblem": "ps=3,sl=1,in=8",
"alarmedObjectType": "Rectifier",
"alarmedObject": {
"id": "93051825",
"href": "/resourceInventoryManagement/v4/resource/93051825"
},
"sourceSystemId": "ems-1",
"alarmDetails": "voltage=204",
"alarmRaisedTime": "2019-07-03T03:32:17.235Z",
"alarmReportingTime": "2019-07-03T03:32:17.552Z",
"alarmChangedTime": "2019-07-03T03:32:24.715Z",
"ackSystemId": "ems-1",
"ackUserId": "bob@example.net",
"ackTime": "2019-07-03T03:33:12.623Z",
"ackState": "acknowledged",
"correlatedAlarm": [
{
"id": "8675399",
"href": "/alarmManagement/v4/alarm/868675399"
}
]
}
]
}

Example of a request matching correlated alarms:

Request

POST /tmf-api/alarmManagement/v4/ackAlarms
© TM Forum 2020. All Rights Reserved. Page 103 of 134
Alarm Management API User Guide

Content-Type: application/json

{
"ackSystemId": "ems-1",
"ackUserId": "bob@example.net",
"ackTime": "2019-07-03T03:33:12.623Z",
"alarmPattern": [
{
"id": "8675309"
},
{
"parentAlarm": {
"id": "8675309"
}
}
]
}

Response

201

{
"id": "1040",
"href": "/alarmManagement/v4/ackAlarms/1040",
"ackSystemId": "ems-1",
"ackUserId": "bob@example.net",
"ackTime": "2019-07-03T03:33:12.623Z",
"alarmPattern": [
{
"id": "8675309"
},
{
"parentAlarm": {
"id": "8675309"
}
}
],
"state": "done",
"ackedAlarm": [
{
"id": "8675309",
"href": "/alarmManagement/v4/alarm/8675309",
"@baseType": "Alarm",
"@type": "Alarm",
"@schemaLocation": "/alarmManagement/v4/schema/Alarm.schema.json",
"externalAlarmId": "5551212",
"state": "updated",
"alarmType": "environmentalAlarm",
"perceivedSeverity": "major",
"probableCause": "rectifierLowVoltage",
"specificProblem": "ps=3,sl=1,in=8",
© TM Forum 2020. All Rights Reserved. Page 104 of 134
Alarm Management API User Guide

"alarmedObjectType": "Rectifier",
"alarmedObject": {
"id": "93051825",
"href": "/resourceInventoryManagement/v4/resource/93051825"
},
"sourceSystemId": "ems-1",
"alarmDetails": "voltage=204",
"alarmRaisedTime": "2019-07-03T03:32:17.235Z",
"alarmReportingTime": "2019-07-03T03:32:17.552Z",
"alarmChangedTime": "2019-07-03T03:32:24.715Z",
"ackSystemId": "ems-1",
"ackUserId": "bob@example.net",
"ackTime": "2019-07-03T03:33:12.623Z",
"ackState": "acknowledged",
"correlatedAlarm": [
{
"id": "8675399",
"href": "/alarmManagement/v4/alarm/868675399"
}
]
},
{
"id": "8675399",
"href": "/alarmManagement/v4/alarm/8675399",
"@baseType": "Alarm",
"@type": "Alarm",
"@schemaLocation": "/alarmManagement/v4/schema/Alarm.schema.json",
"externalAlarmId": "5551234",
"state": "raised",
"alarmType": "equipmentAlarm",
"perceivedSeverity": "minor",
"probableCause": "powerSupplyFailure",
"specificProblem": "ch=1,ps=3",
"alarmedObjectType": "Chassis",
"alarmedObject": {
"id": "95830731",
"href": "/resourceInventoryManagement/v4/resource/95830731"
},
"sourceSystemId": "ems-1",
"alarmRaisedTime": "2019-07-03T03:32:17.843Z",
"alarmReportingTime": "2019-07-03T03:32:18.102Z",
"ackSystemId": "ems-1",
"ackUserId": "bob@example.net",
"ackTime": "2019-07-03T03:33:12.623Z",
"ackState": "acknowledged",
"parentAlarm": [
{
"id": "8675309",
"href": "/alarmManagement/v4/alarm/868675309"
}
]
}
]
}

© TM Forum 2020. All Rights Reserved. Page 105 of 134


Alarm Management API User Guide

Operations on Un Ack Alarms

List un ack alarmses

GET /unAckAlarms?fields=...&{filtering}
Description

This operation list un ack alarms entities.


Attribute selection is enabled for all first level attributes.
Filtering may be available depending on the compliance level supported by an implementation.

Usage Samples

Example of a request for retrieving a list of unacknowledged alarms tasks:

Request

GET /tmf-api/alarmManagement/v4/unAckAlarms
Accept: application/json

Response

200

[
{
"id": "1052",
"href": "/alarmManagement/v4/unAckAlarms/1052",
"ackSystemId": "ems-1",
"ackUserId": "bob@example.net",
"ackTime": "2019-07-03T03:38:06.890Z",
"alarmPattern": [
{
"id": "8675309"
},
{
"id": "8675399"
}
],
"state": "inProgress",
"unAckedAlarm": []
}
]

© TM Forum 2020. All Rights Reserved. Page 106 of 134


Alarm Management API User Guide

Retrieve un ack alarms

GET /unAckAlarms/{id}?fields=...&{filtering}
Description

This operation retrieves an un ack alarms entity.


Attribute selection is enabled for all first level attributes.
Filtering on sub-resources may be available depending on the compliance level supported by an implementation.

Usage Samples

Example of a request for retrieving an unacknowledged alarms task:

Request

GET /tmf-api/alarmManagement/v4/unAckAlarms/1052
Accept: application/json

Response

200

{
"id": "1052",
"href": "/alarmManagement/v4/unAckAlarms/1052",
"ackSystemId": "ems-1",
"ackUserId": "bob@example.net",
"ackTime": "2019-07-03T03:38:06.890Z",
"alarmPattern": [
{
"id": "8675309"
},
{
"id": "8675399"
}
],
"state": "inProgress",
"unAckedAlarm": []
}

Create un ack alarms

© TM Forum 2020. All Rights Reserved. Page 107 of 134


Alarm Management API User Guide

POST /unAckAlarms
Description

This operation creates an un ack alarms entity.

Mandatory and Non Mandatory Attributes

The following tables provide the list of mandatory and non mandatory attributes when creating a UnAckAlarms,
including any possible rule conditions and applicable default values. Notice that it is up to an implementer to add
additional mandatory attributes.

Mandatory Attributes Rule


ackSystemId
ackUserId
alarmPattern

Non Mandatory Attributes Rule


ackTime
state
unAckedAlarm

Usage Samples

Example of a request for creating a task to unacknowledge alarms:

Request

POST /tmf-api/alarmManagement/v4/unAckAlarms
Content-Type: application/json

{
"ackSystemId": "ems-1",
"ackUserId": "bob@example.net",
"ackTime": "2019-07-03T03:38:06.890Z",
"alarmPattern": [
{
"id": "8675309"
},
{
"id": "8675399"
}
]
}

Response
© TM Forum 2020. All Rights Reserved. Page 108 of 134
Alarm Management API User Guide

201

{
"id": "1052",
"href": "/alarmManagement/v4/unAckAlarms/1052",
"ackSystemId": "ems-1",
"ackUserId": "bob@example.net",
"ackTime": "2019-07-03T03:38:06.890Z",
"alarmPattern": [
{
"id": "8675309"
},
{
"id": "8675399"
}
],
"state": "done",
"unAckedAlarm": [
{
"id": "8675309",
"href": "/alarmManagement/v4/alarm/8675309",
"@baseType": "Alarm",
"@type": "Alarm",
"@schemaLocation": "/alarmManagement/v4/schema/Alarm.schema.json",
"externalAlarmId": "5551212",
"state": "updated",
"alarmType": "environmentalAlarm",
"perceivedSeverity": "major",
"probableCause": "rectifierLowVoltage",
"specificProblem": "ps=3,sl=1,in=8",
"alarmedObjectType": "Rectifier",
"alarmedObject": {
"id": "93051825",
"href": "/resourceInventoryManagement/v4/resource/93051825"
},
"sourceSystemId": "ems-1",
"alarmDetails": "voltage=95",
"alarmRaisedTime": "2019-07-03T03:32:17.235Z",
"alarmReportingTime": "2019-07-03T03:32:17.552Z",
"ackSystemId": "ems-1",
"ackUserId": "bob@example.net",
"ackTime": "2019-07-03T03:38:06.890Z",
"ackState": "UNacknowledged",
"correlatedAlarm": [
{
"id": "8675399",
"href": "/alarmManagement/v4/alarm/868675399"
}
],
"comment": [
{
"userId": "bob@example.net",
"systemId": "ems-1",

© TM Forum 2020. All Rights Reserved. Page 109 of 134


Alarm Management API User Guide

"time": "2019-07-03T03:37:33.827Z",
"comment": "Dispatched"
}
]
},
{
"id": "8675399",
"href": "/alarmManagement/v4/alarm/8675399",
"@baseType": "Alarm",
"@type": "Alarm",
"@schemaLocation": "/alarmManagement/v4/schema/Alarm.schema.json",
"externalAlarmId": "5551234",
"state": "raised",
"alarmType": "equipmentAlarm",
"perceivedSeverity": "minor",
"probableCause": "powerSupplyFailure",
"specificProblem": "ch=1,ps=3",
"alarmedObjectType": "Chassis",
"alarmedObject": {
"id": "95830731",
"href": "/resourceInventoryManagement/v4/resource/95830731"
},
"sourceSystemId": "ems-1",
"alarmRaisedTime": "2019-07-03T03:32:17.843Z",
"alarmReportingTime": "2019-07-03T03:32:18.102Z",
"alarmChangedTime": "2019-07-03T03:32:52.744Z",
"ackSystemId": "ems-1",
"ackUserId": "bob@example.net",
"ackTime": "2019-07-03T03:38:06.890Z",
"ackState": "unacknowledged",
"parentAlarm": [
{
"id": "8675309",
"href": "/alarmManagement/v4/alarm/868675309"
}
],
"comment": [
{
"userId": "bob@example.net",
"systemId": "ems-1",
"time": "2019-07-03T03:37:33.827Z",
"comment": "Dispatched"
}
]
}
]
}

Operations on Clear Alarms

List clear alarms

© TM Forum 2020. All Rights Reserved. Page 110 of 134


Alarm Management API User Guide

GET /clearAlarms?fields=...&{filtering}
Description

This operation list clear alarms entities.


Attribute selection is enabled for all first level attributes.
Filtering may be available depending on the compliance level supported by an implementation.

Usage Samples

Example of a request for retrieving a list of clear alarms tasks:

Request

GET /tmf-api/alarmManagement/v4/clearAlarms
Accept: application/json

Response

200

[
{
"id": "1089",
"href": "/alarmManagement/v4/commentAlarms/1089",
"clearSystemId": "ems-1",
"clearUserId": "bob@example.net",
"alarmClearedTime": "2019-07-03T03:55:45.937Z",
"alarmPattern": [
{
"id": "8675309"
},
{
"id": "8675399"
}
],
"state": "inProgress",
"clearedAlarm": []
}
]

Retrieve clear alarms

GET /clearAlarms/{id}?fields=...&{filtering}
Description
© TM Forum 2020. All Rights Reserved. Page 111 of 134
Alarm Management API User Guide

This operation retrieves a clear alarms entity.


Attribute selection is enabled for all first level attributes.
Filtering on sub-resources may be available depending on the compliance level supported by an implementation.

Usage Samples

Example of a request for retrieving a clear alarms task:

Request

GET /tmf-api/alarmManagement/v4/clearAlarms/1089
Accept: application/json

Response

200

{
"id": "1089",
"href": "/alarmManagement/v4/commentAlarms/1089",
"clearSystemId": "ems-1",
"clearUserId": "bob@example.net",
"alarmClearedTime": "2019-07-03T03:55:45.937Z",
"alarmPattern": [
{
"id": "8675309"
},
{
"id": "8675399"
}
],
"state": "inProgress",
"clearedAlarm": []
}

Create clear alarms

POST /clearAlarms
Description

This operation creates a clear alarms entity.

Mandatory and Non Mandatory Attributes

© TM Forum 2020. All Rights Reserved. Page 112 of 134


Alarm Management API User Guide

The following tables provide the list of mandatory and non mandatory attributes when creating a ClearAlarms,
including any possible rule conditions and applicable default values. Notice that it is up to an implementer to add
additional mandatory attributes.

Mandatory Attributes Rule


clearSystemId
clearUserId
alarmClearedTime
alarmPattern

Non Mandatory Attributes Rule


clearedAlarm
state

Usage Samples

Example of a request for creating a task to clear alarms:

Request

POST /tmf-api/alarmManagement/v4/clearAlarms
Content-Type: application/json

{
"clearSystemId": "ems-1",
"clearUserId": "bob@example.net",
"alarmClearedTime": "2019-07-03T03:55:45.937Z",
"alarmPattern": [
{
"id": "8675309"
},
{
"id": "8675399"
}
]
}

Response

201

{
"id": "1089",
"href": "/alarmManagement/v4/commentAlarms/1089",
"clearSystemId": "ems-1",
"clearUserId": "bob@example.net",
"alarmClearedTime": "2019-07-03T03:55:45.937Z",
© TM Forum 2020. All Rights Reserved. Page 113 of 134
Alarm Management API User Guide

"alarmPattern": [
{
"id": "8675309"
},
{
"id": "8675399"
}
],
"state": "done",
"clearedAlarm": [
{
"id": "8675309",
"href": "/alarmManagement/v4/alarm/8675309",
"@baseType": "Alarm",
"@type": "Alarm",
"@schemaLocation": "/alarmManagement/v4/schema/Alarm.schema.json",
"externalAlarmId": "5551212",
"state": "cleared",
"alarmType": "environmentalAlarm",
"perceivedSeverity": "cleared",
"probableCause": "rectifierLowVoltage",
"specificProblem": "ps=3,sl=1,in=8",
"alarmedObjectType": "Rectifier",
"alarmedObject": {
"id": "93051825",
"href": "/resourceInventoryManagement/v4/resource/93051825"
},
"sourceSystemId": "ems-1",
"alarmDetails": "voltage=95",
"alarmRaisedTime": "2019-07-03T03:32:17.235Z",
"alarmReportingTime": "2019-07-03T03:32:17.552Z",
"alarmChangedTime": "2019-07-03T03:42:12.861Z",
"ackSystemId": "ems-1",
"ackUserId": "bob@example.net",
"ackTime": "2019-07-03T03:38:06.890Z",
"ackState": "UNacknowledged",
"comment": [
{
"userId": "bob@example.net",
"systemId": "ems-1",
"time": "2019-07-03T03:37:33.827Z",
"comment": "Dispatched"
}
],
"clearSystemId": "ems-1",
"clearUserId": "bob@example.net",
"alarmClearedTime": "2019-07-03T03:55:45.937Z"
},
{
"id": "8675399",
"href": "/alarmManagement/v4/alarm/8675399",
"@baseType": "Alarm",
"@type": "Alarm",
"@schemaLocation": "/alarmManagement/v4/schema/Alarm.schema.json",

© TM Forum 2020. All Rights Reserved. Page 114 of 134


Alarm Management API User Guide

"externalAlarmId": "5551234",
"state": "cleared",
"alarmType": "equipmentAlarm",
"perceivedSeverity": "cleared",
"probableCause": "powerSupplyFailure",
"specificProblem": "ch=1,ps=3",
"alarmedObjectType": "Chassis",
"alarmedObject": {
"id": "95830731",
"href": "/resourceInventoryManagement/v4/resource/95830731"
},
"sourceSystemId": "ems-1",
"alarmRaisedTime": "2019-07-03T03:32:17.843Z",
"alarmReportingTime": "2019-07-03T03:32:18.102Z",
"alarmChangedTime": "2019-07-03T03:42:12.861Z",
"ackSystemId": "ems-1",
"ackUserId": "bob@example.net",
"ackTime": "2019-07-03T03:38:06.890Z",
"ackState": "unacknowledged",
"comment": [
{
"userId": "bob@example.net",
"systemId": "ems-1",
"time": "2019-07-03T03:37:33.827Z",
"comment": "Dispatched"
}
],
"clearSystemId": "ems-1",
"clearUserId": "bob@example.net",
"alarmClearedTime": "2019-07-03T03:55:45.937Z"
}
]
}

Operations on Comment Alarms

List comment alarmses

GET /commentAlarms?fields=...&{filtering}
Description

This operation list comment alarms entities.


Attribute selection is enabled for all first level attributes.
Filtering may be available depending on the compliance level supported by an implementation.

Usage Samples

Example of a request for retrieving a list of comment alarms tasks:

© TM Forum 2020. All Rights Reserved. Page 115 of 134


Alarm Management API User Guide

Request

GET /tmf-api/alarmManagement/v4/commentAlarms
Accept: application/json

Response

200

[
{
"id": "1045",
"href": "/alarmManagement/v4/ackAlarms/1045",
"comment": {
"userId": "bob@example.net",
"systemId": "ems-1",
"time": "2019-07-03T03:37:33.827Z",
"comment": "Dispatched"
},
"alarmPattern": [
{
"id": "8675309"
},
{
"id": "8675399"
}
],
"state": "inProgress",
"commentedAlarm": []
}
]

Retrieve comment alarms

GET /commentAlarms/{id}?fields=...&{filtering}
Description

This operation retrieves a comment alarms entity.


Attribute selection is enabled for all first level attributes.
Filtering on sub-resources may be available depending on the compliance level supported by an implementation.

Usage Samples

Example of a request for retrieving a comment alarms task:

© TM Forum 2020. All Rights Reserved. Page 116 of 134


Alarm Management API User Guide

Request

GET /tmf-api/alarmManagement/v4/commentAlarms/1045
Accept: application/json

Response

200

{
"id": "1045",
"href": "/alarmManagement/v4/ackAlarms/1045",
"comment": {
"userId": "bob@example.net",
"systemId": "ems-1",
"time": "2019-07-03T03:37:33.827Z",
"comment": "Dispatched"
},
"alarmPattern": [
{
"id": "8675309"
},
{
"id": "8675399"
}
],
"state": "inProgress",
"commentedAlarm": []
}

Create comment alarms

POST /commentAlarms
Description

This operation creates a comment alarms entity.

Mandatory and Non Mandatory Attributes

The following tables provide the list of mandatory and non mandatory attributes when creating a CommentAlarms,
including any possible rule conditions and applicable default values. Notice that it is up to an implementer to add
additional mandatory attributes.

Mandatory Attributes Rule


comment
alarmPattern

© TM Forum 2020. All Rights Reserved. Page 117 of 134


Alarm Management API User Guide

Non Mandatory Attributes Rule


commentedAlarm
state

Usage Samples

Example of a request for creating a task to comment alarms:

Request

POST /tmf-api/alarmManagement/v4/commentAlarms
Content-Type: application/json

{
"comment": {
"userId": "bob@example.net",
"systemId": "ems-1",
"time": "2019-07-03T03:37:33.827Z",
"comment": "Dispatched"
},
"alarmPattern": [
{
"id": "8675309"
},
{
"id": "8675399"
}
]
}

Response

201

{
"id": "1045",
"href": "/alarmManagement/v4/ackAlarms/1045",
"comment": {
"userId": "bob@example.net",
"systemId": "ems-1",
"time": "2019-07-03T03:37:33.827Z",
"comment": "Dispatched"
},
"alarmPattern": [
{
"id": "8675309"
},
{
"id": "8675399"
© TM Forum 2020. All Rights Reserved. Page 118 of 134
Alarm Management API User Guide

}
],
"state": "done",
"commentedAlarm": [
{
"id": "8675309",
"href": "/alarmManagement/v4/alarm/8675309",
"@baseType": "Alarm",
"@type": "Alarm",
"@schemaLocation": "/alarmManagement/v4/schema/Alarm.schema.json",
"externalAlarmId": "5551212",
"state": "updated",
"alarmType": "environmentalAlarm",
"perceivedSeverity": "major",
"probableCause": "rectifierLowVoltage",
"specificProblem": "ps=3,sl=1,in=8",
"alarmedObjectType": "Rectifier",
"alarmedObject": {
"id": "93051825",
"href": "/resourceInventoryManagement/v4/resource/93051825"
},
"sourceSystemId": "ems-1",
"alarmDetails": "voltage=95",
"alarmRaisedTime": "2019-07-03T03:32:17.235Z",
"alarmReportingTime": "2019-07-03T03:32:17.552Z",
"alarmChangedTime": "2019-07-03T03:32:52.744Z",
"ackSystemId": "ems-1",
"ackUserId": "bob@example.net",
"ackTime": "2019-07-03T03:33:12.623Z",
"ackState": "acknowledged",
"correlatedAlarm": [
{
"id": "8675399",
"href": "/alarmManagement/v4/alarm/868675399"
}
],
"comment": [
{
"userId": "bob@example.net",
"systemId": "ems-1",
"time": "2019-07-03T03:37:33.827Z",
"comment": "Dispatched"
}
]
},
{
"id": "8675399",
"href": "/alarmManagement/v4/alarm/8675399",
"@baseType": "Alarm",
"@type": "Alarm",
"@schemaLocation": "/alarmManagement/v4/schema/Alarm.schema.json",
"externalAlarmId": "5551234",
"state": "raised",
"alarmType": "equipmentAlarm",

© TM Forum 2020. All Rights Reserved. Page 119 of 134


Alarm Management API User Guide

"perceivedSeverity": "minor",
"probableCause": "powerSupplyFailure",
"specificProblem": "ch=1,ps=3",
"alarmedObjectType": "Chassis",
"alarmedObject": {
"id": "95830731",
"href": "/resourceInventoryManagement/v4/resource/95830731"
},
"sourceSystemId": "ems-1",
"alarmRaisedTime": "2019-07-03T03:32:17.843Z",
"alarmReportingTime": "2019-07-03T03:32:18.102Z",
"alarmChangedTime": "2019-07-03T03:32:52.744Z",
"ackSystemId": "ems-1",
"ackUserId": "bob@example.net",
"ackTime": "2019-07-03T03:33:12.623Z",
"ackState": "acknowledged",
"parentAlarm": [
{
"id": "8675309",
"href": "/alarmManagement/v4/alarm/868675309"
}
],
"comment": [
{
"userId": "bob@example.net",
"systemId": "ems-1",
"time": "2019-07-03T03:37:33.827Z",
"comment": "Dispatched"
}
]
}
]
}

Operations on Group Alarms

List group alarmses

GET /groupAlarms?fields=...&{filtering}
Description

This operation list group alarms entities.


Attribute selection is enabled for all first level attributes.
Filtering may be available depending on the compliance level supported by an implementation.

Usage Samples

Example of a request for retrieving a list of group alarms tasks:

© TM Forum 2020. All Rights Reserved. Page 120 of 134


Alarm Management API User Guide

Request

GET /tmf-api/alarmManagement/v4/groupAlarms
Accept: application/json

Response

200

[
{
"id": "1029",
"href": "/alarmManagement/v4/groupAlarms/1029",
"sourceSystemId": "ems-1",
"alarmChangedTime": "2019-07-03T03:32:52.744Z",
"parentAlarm": {
"id": "8675309"
},
"correlatedAlarm": [
{
"id": "8675399"
}
],
"state": "inProgress",
"groupedAlarm": []
}
]

Retrieve group alarms

GET /groupAlarms/{id}?fields=...&{filtering}
Description

This operation retrieves a group alarms entity.


Attribute selection is enabled for all first level attributes.
Filtering on sub-resources may be available depending on the compliance level supported by an implementation.

Usage Samples

Example of a request for retrieving an group alarms task:

Request

GET /tmf-api/alarmManagement/v4/groupAlarms/1029
© TM Forum 2020. All Rights Reserved. Page 121 of 134
Alarm Management API User Guide

Accept: application/json

Response

200

{
"id": "1029",
"href": "/alarmManagement/v4/groupAlarms/1029",
"sourceSystemId": "ems-1",
"alarmChangedTime": "2019-07-03T03:32:52.744Z",
"parentAlarm": {
"id": "8675309"
},
"correlatedAlarm": [
{
"id": "8675399"
}
],
"state": "inProgress",
"groupedAlarm": []
}

Create group alarms

POST /groupAlarms
Description

This operation creates a group alarms entity.

Mandatory and Non Mandatory Attributes

The following tables provide the list of mandatory and non mandatory attributes when creating a GroupAlarms,
including any possible rule conditions and applicable default values. Notice that it is up to an implementer to add
additional mandatory attributes.

Mandatory Attributes Rule


sourceSystemId
alarmChangedTime
parentAlarm
correlatedAlarm

Non Mandatory Attributes Rule


groupedAlarm
state

© TM Forum 2020. All Rights Reserved. Page 122 of 134


Alarm Management API User Guide

Usage Samples

Example of a request for creating a task to group alarms:

Request

POST /tmf-api/alarmManagement/v4/groupAlarms
Content-Type: application/json

{
"sourceSystemId": "ems-1",
"alarmChangedTime": "2019-07-03T03:32:52.744Z",
"parentAlarm": {
"id": "8675309"
},
"correlatedAlarm": [
{
"id": "8675399"
}
]
}

Response

201

{
"id": "1029",
"href": "/alarmManagement/v4/groupAlarms/1029",
"sourceSystemId": "ems-1",
"alarmChangedTime": "2019-07-03T03:32:52.744Z",
"parentAlarm": {
"id": "8675309"
},
"correlatedAlarm": [
{
"id": "8675399"
}
],
"state": "done",
"groupedAlarm": [
{
"id": "8675309",
"href": "/alarmManagement/v4/alarm/8675309",
"@baseType": "Alarm",
"@type": "Alarm",
"@schemaLocation": "/alarmManagement/v4/schema/Alarm.schema.json",
"externalAlarmId": "5551212",
"state": "updated",
"alarmType": "environmentalAlarm",
"perceivedSeverity": "major",
© TM Forum 2020. All Rights Reserved. Page 123 of 134
Alarm Management API User Guide

"probableCause": "rectifierLowVoltage",
"specificProblem": "ps=3,sl=1,in=8",
"alarmedObjectType": "Rectifier",
"alarmedObject": {
"id": "93051825",
"href": "/resourceInventoryManagement/v4/resource/93051825"
},
"sourceSystemId": "ems-1",
"alarmDetails": "voltage=95",
"alarmRaisedTime": "2019-07-03T03:32:17.235Z",
"alarmReportingTime": "2019-07-03T03:32:17.552Z",
"alarmChangedTime": "2019-07-03T03:32:52.744Z",
"correlatedAlarm": [
{
"id": "8675399",
"href": "/alarmManagement/v4/alarm/868675399"
}
]
},
{
"id": "8675399",
"href": "/alarmManagement/v4/alarm/8675399",
"@baseType": "Alarm",
"@type": "Alarm",
"@schemaLocation": "/alarmManagement/v4/schema/Alarm.schema.json",
"externalAlarmId": "5551234",
"state": "raised",
"alarmType": "equipmentAlarm",
"perceivedSeverity": "minor",
"probableCause": "powerSupplyFailure",
"specificProblem": "ch=1,ps=3",
"alarmedObjectType": "Chassis",
"alarmedObject": {
"id": "95830731",
"href": "/resourceInventoryManagement/v4/resource/95830731"
},
"sourceSystemId": "ems-1",
"alarmRaisedTime": "2019-07-03T03:32:17.843Z",
"alarmReportingTime": "2019-07-03T03:32:18.102Z",
"alarmChangedTime": "2019-07-03T03:32:52.744Z",
"parentAlarm": [
{
"id": "8675309",
"href": "/alarmManagement/v4/alarm/868675309"
}
]
}
]
}

Operations on Un Group Alarms

List un group alarms


© TM Forum 2020. All Rights Reserved. Page 124 of 134
Alarm Management API User Guide

GET /unGroupAlarms?fields=...&{filtering}
Description

This operation list ungroup alarms entities.


Attribute selection is enabled for all first level attributes.
Filtering may be available depending on the compliance level supported by an implementation.

Usage Samples

Example of a request for retrieving a list of ungroup alarms tasks:

Request

GET /tmf-api/alarmManagement/v4/unGroupAlarms
Accept: application/json

Response

200

[
{
"id": "1069",
"href": "/alarmManagement/v4/groupAlarms/1069",
"sourceSystemId": "ems-1",
"alarmChangedTime": "2019-07-03T03:42:12.861Z",
"parentAlarm": {
"id": "8675309"
},
"correlatedAlarm": [
{
"id": "8675399"
},
{
"id": "8675399"
}
],
"state": "inProgress",
"unGroupedAlarm": []
}
]

Retrieve ungroup alarms

GET /unGroupAlarms/{id}?fields=...&{filtering}
© TM Forum 2020. All Rights Reserved. Page 125 of 134
Alarm Management API User Guide

Description

This operation retrieves an ungroup alarms entity.


Attribute selection is enabled for all first level attributes.
Filtering on sub-resources may be available depending on the compliance level supported by an implementation.

Usage Samples

Example of a request for retrieving an ungroup alarms task:

Request

GET /tmf-api/alarmManagement/v4/unGroupAlarms/1069
Accept: application/json

Response

200

{
"id": "1069",
"href": "https://host:port/alarmManagement/v4/groupAlarms/1069",
"sourceSystemId": "ems-1",
"alarmChangedTime": "2019-07-03T03:42:12.861Z",
"parentAlarm": {
"id": "8675309"
},
"correlatedAlarm": [
{
"id": "8675399"
},
{
"id": "8675399"
}
],
"state": "inProgress",
"unGroupedAlarm": []
}

Create ungroup alarms

POST /unGroupAlarms
Description

This operation creates an ungroup alarms entity.


© TM Forum 2020. All Rights Reserved. Page 126 of 134
Alarm Management API User Guide

Mandatory and Non Mandatory Attributes

The following tables provide the list of mandatory and non mandatory attributes when creating a UnGroupAlarms,
including any possible rule conditions and applicable default values. Notice that it is up to an implementer to add
additional mandatory attributes.

Mandatory Attributes Rule


sourceSystemId
alarmChangedTime
parentAlarm
correlatedAlarm

Non Mandatory Attributes Rule


state
unGroupedAlarm

Usage Samples

Example of a request for creating a task to ungroup alarms:

Request

POST /tmf-api/alarmManagement/v4/unGroupAlarms
Content-Type: application/json

{
"sourceSystemId": "ems-1",
"alarmChangedTime": "2019-07-03T03:42:12.861Z",
"parentAlarm": {
"id": "8675309"
},
"correlatedAlarm": [
{
"id": "8675399"
},
{
"id": "8675399"
}
]
}

Response

201

© TM Forum 2020. All Rights Reserved. Page 127 of 134


Alarm Management API User Guide

"id": "1069",
"href": "/alarmManagement/v4/groupAlarms/1069",
"sourceSystemId": "ems-1",
"alarmChangedTime": "2019-07-03T03:42:12.861Z",
"parentAlarm": {
"id": "8675309"
},
"correlatedAlarm": [
{
"id": "8675399"
},
{
"id": "8675399"
}
],
"state": "done",
"unGroupedAlarm": [
{
"id": "8675309",
"href": "/alarmManagement/v4/alarm/8675309",
"@baseType": "Alarm",
"@type": "Alarm",
"@schemaLocation": "/alarmManagement/v4/schema/Alarm.schema.json",
"externalAlarmId": "5551212",
"state": "updated",
"alarmType": "environmentalAlarm",
"perceivedSeverity": "major",
"probableCause": "rectifierLowVoltage",
"specificProblem": "ps=3,sl=1,in=8",
"alarmedObjectType": "Rectifier",
"alarmedObject": {
"id": "93051825",
"href": "/resourceInventoryManagement/v4/resource/93051825"
},
"sourceSystemId": "ems-1",
"alarmDetails": "voltage=95",
"alarmRaisedTime": "2019-07-03T03:32:17.235Z",
"alarmReportingTime": "2019-07-03T03:32:17.552Z",
"alarmChangedTime": "2019-07-03T03:42:12.861Z",
"ackSystemId": "ems-1",
"ackUserId": "bob@example.net",
"ackTime": "2019-07-03T03:38:06.890Z",
"ackState": "UNacknowledged",
"comment": [
{
"userId": "bob@example.net",
"systemId": "ems-1",
"time": "2019-07-03T03:37:33.827Z",
"comment": "Dispatched"
}
]
},
{
"id": "8675399",

© TM Forum 2020. All Rights Reserved. Page 128 of 134


Alarm Management API User Guide

"href": "/alarmManagement/v4/alarm/8675399",
"@baseType": "Alarm",
"@type": "Alarm",
"@schemaLocation": "/alarmManagement/v4/schema/Alarm.schema.json",
"externalAlarmId": "5551234",
"state": "updated",
"alarmType": "equipmentAlarm",
"perceivedSeverity": "minor",
"probableCause": "powerSupplyFailure",
"specificProblem": "ch=1,ps=3",
"alarmedObjectType": "Chassis",
"alarmedObject": {
"id": "95830731",
"href": "/resourceInventoryManagement/v4/resource/95830731"
},
"sourceSystemId": "ems-1",
"alarmRaisedTime": "2019-07-03T03:32:17.843Z",
"alarmReportingTime": "2019-07-03T03:32:18.102Z",
"alarmChangedTime": "2019-07-03T03:42:12.861Z",
"ackSystemId": "ems-1",
"ackUserId": "bob@example.net",
"ackTime": "2019-07-03T03:38:06.890Z",
"ackState": "unacknowledged",
"comment": [
{
"userId": "bob@example.net",
"systemId": "ems-1",
"time": "2019-07-03T03:37:33.827Z",
"comment": "Dispatched"
}
]
}
]
}

© TM Forum 2020. All Rights Reserved. Page 129 of 134


Alarm Management API User Guide

API NOTIFICATIONS
For every single of operation on the entities use the following templates and provide sample REST
notification POST calls.

It is assumed that the Pub/Sub uses the Register and UnRegister mechanisms described in the REST
Guidelines reproduced below.

Register listener
POST /hub
Description

Sets the communication endpoint address the service instance must use to deliver information about its health
state, execution state, failures and metrics. Subsequent POST calls will be rejected by the service if it does not
support multiple listeners. In this case DELETE /api/hub/{id} must be called before an endpoint can be created
again.

Behavior

Returns HTTP/1.1 status code 204 if the request was successful.

Returns HTTP/1.1 status code 409 if request is not successful.

Usage Samples

Here's an example of a request for registering a listener.

Request

POST /api/hub
Accept: application/json

{"callback": "http://in.listener.com"}

Response

201
Content-Type: application/json
Location: /api/hub/42

{"id":"42","callback":"http://in.listener.com","query":null}

© TM Forum 2020. All Rights Reserved. Page 130 of 134


Alarm Management API User Guide

Unregister listener
DELETE /hub/{id}
Description

Clears the communication endpoint address that was set by creating the Hub.

Behavior

Returns HTTP/1.1 status code 204 if the request was successful.

Returns HTTP/1.1 status code 404 if the resource is not found.

Usage Samples

Here's an example of a request for un-registering a listener.

Request

DELETE /api/hub/42
Accept: application/json

Response

204

Publish Event to listener


POST /client/listener
Description

Clears the communication endpoint address that was set by creating the Hub.

Provides to a registered listener the description of the event that was raised. The /client/listener url is the
callback url passed when registering the listener.

Behavior

Returns HTTP/1.1 status code 201 if the service is able to set the configuration.

Usage Samples

Here's an example of a notification received by the listener. In this example “EVENT TYPE” should be replaced by
one of the notification types supported by this API (see Notification resources Models section) and EVENT BODY
refers to the data structure of the given notification type.
© TM Forum 2020. All Rights Reserved. Page 131 of 134
Alarm Management API User Guide

Request

POST /client/listener
Accept: application/json

{
"event": {
EVENT BODY
},
"eventType": "EVENT_TYPE"
}

Response

201

For detailed examples on the general TM Forum notification mechanism, see the TMF REST Design
Guidelines.

© TM Forum 2020. All Rights Reserved. Page 132 of 134


Alarm Management API User Guide

Acknowledgements

Version History
Release Date Release led by: Description
Number

1.0 20-Sep-2017 Yuval Stein, TEOCO First Release of the Document.

Pierre Gauthier, TM Forum


<pgauthier@tmforum.org>

1.0.1 04-Dec-2017 Adrienne Walcott, Updated to reflect TM Forum


TM Forum Approved Status

14-Nov-2019 Vance Shipley, SigScale Schemafication project.


<vances@sigscale.com>
4.0.0 03-Apr-2020 Vance Shipley, SigScale Update for User Guide format.
<vances@sigscale.com>

Release History

Release Date Release led by: Description


Number

Release 17.0.0 20-Sep-2017 Yuval Stein, TEOCO First Release of the Document.

Pierre Gauthier, TM Forum


<pgauthier@tmforum.org>

Release 17.0.1 04-Dec-2017 Adrienne Walcott, Updated to reflect TM Forum


TM Forum Approved Status

14-Nov-2019 Vance Shipley, SigScale Schemafication project.


<vances@sigscale.com>
Pre-production 03-Apr-2020 Vance Shipley, SigScale Update for User Guide format.
<vances@sigscale.com>

© TM Forum 2020. All Rights Reserved. Page 133 of 134


Alarm Management API User Guide

Contributors to Document

Yuval Stein, TEOCO Vance Shipley, SigScale


<vances@sigscale.com>

© TM Forum 2020. All Rights Reserved. Page 134 of 134

You might also like