openapi: 3.0.3 info: title: Cumulocity Alarm API version: 10.20.0 description: | Raise, query, acknowledge, clear, and bulk-update alarms with four severity levels (CRITICAL, MAJOR, MINOR, WARNING) and four statuses (ACTIVE, ACKNOWLEDGED, CLEARED). Cumulocity auto-deduplicates alarms by source + type so repeated raises increment the count rather than creating duplicates. servers: - url: https://{tenant}.cumulocity.com variables: tenant: default: example security: - basicAuth: [] - bearerAuth: [] tags: - name: Alarms paths: /alarm/alarms: get: tags: [Alarms] summary: List Alarms operationId: listAlarms parameters: - name: source in: query schema: {type: string} - name: status in: query schema: {type: string, enum: [ACTIVE, ACKNOWLEDGED, CLEARED]} - name: severity in: query schema: {type: string, enum: [CRITICAL, MAJOR, MINOR, WARNING]} - name: type in: query schema: {type: string} - name: dateFrom in: query schema: {type: string, format: date-time} - name: dateTo in: query schema: {type: string, format: date-time} - name: resolved in: query schema: {type: boolean} responses: '200': description: A collection of alarms. content: application/vnd.com.nsn.cumulocity.alarmCollection+json: schema: $ref: '#/components/schemas/AlarmCollection' post: tags: [Alarms] summary: Raise an Alarm operationId: createAlarm requestBody: required: true content: application/vnd.com.nsn.cumulocity.alarm+json: schema: $ref: '#/components/schemas/Alarm' responses: '201': description: Alarm raised (or count incremented if duplicate). content: application/vnd.com.nsn.cumulocity.alarm+json: schema: $ref: '#/components/schemas/Alarm' put: tags: [Alarms] summary: Bulk Update Alarms operationId: bulkUpdateAlarms parameters: - name: source in: query schema: {type: string} - name: status in: query schema: {type: string} requestBody: content: application/vnd.com.nsn.cumulocity.alarm+json: schema: $ref: '#/components/schemas/Alarm' responses: '200': description: Alarms updated. delete: tags: [Alarms] summary: Delete Alarms by Filter operationId: deleteAlarms responses: '204': description: Alarms deleted. /alarm/alarms/{id}: parameters: - name: id in: path required: true schema: {type: string} get: tags: [Alarms] summary: Retrieve an Alarm operationId: getAlarm responses: '200': description: A single alarm. content: application/vnd.com.nsn.cumulocity.alarm+json: schema: $ref: '#/components/schemas/Alarm' put: tags: [Alarms] summary: Update an Alarm operationId: updateAlarm requestBody: required: true content: application/vnd.com.nsn.cumulocity.alarm+json: schema: $ref: '#/components/schemas/Alarm' responses: '200': description: Alarm updated. components: securitySchemes: basicAuth: type: http scheme: basic bearerAuth: type: http scheme: bearer bearerFormat: JWT schemas: Alarm: type: object required: [time, type, text, source, severity, status] properties: id: {type: string, readOnly: true} self: {type: string, format: uri, readOnly: true} time: {type: string, format: date-time} creationTime: {type: string, format: date-time, readOnly: true} type: {type: string} text: {type: string} severity: type: string enum: [CRITICAL, MAJOR, MINOR, WARNING] status: type: string enum: [ACTIVE, ACKNOWLEDGED, CLEARED] count: type: integer readOnly: true firstOccurrenceTime: type: string format: date-time readOnly: true source: type: object properties: id: {type: string} self: {type: string, format: uri} additionalProperties: true AlarmCollection: type: object properties: self: {type: string, format: uri} alarms: type: array items: $ref: '#/components/schemas/Alarm'