Cumulocity Alarm API

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.

Cumulocity Alarm API is one of 19 APIs that Cumulocity publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

This API exposes 1 machine-runnable capability that can be deployed as REST, MCP, or Agent Skill surfaces via Naftiko and 1 JSON Schema definition.

Tagged areas include IoT, Alarms, and Monitoring. The published artifact set on APIs.io includes API documentation, an OpenAPI specification, 1 Naftiko capability spec, and 1 JSON Schema.

OpenAPI Specification

cumulocity-alarm-api-openapi.yml Raw ↑
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'