Cumulocity Real-Time Notifications API

Bayeux/CometD-based long-poll subscription protocol for receiving live updates of measurements, events, alarms, operations, and inventory changes. Predates Notification 2.0 but remains the default for the Web SDK and legacy integrations.

Cumulocity Real-Time Notifications 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.

Tagged areas include IoT, Real-Time, Bayeux, CometD, and Streaming. The published artifact set on APIs.io includes API documentation, an OpenAPI specification, and 1 Naftiko capability spec.

OpenAPI Specification

cumulocity-real-time-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Cumulocity Real-Time Notifications API
  version: 10.20.0
  description: |
    Bayeux/CometD-based long-poll subscription protocol for receiving live updates of measurements, events,
    alarms, operations, and inventory changes. Predates Notification 2.0 but remains the default for the Web
    SDK and legacy integrations.
servers:
- url: https://{tenant}.cumulocity.com
  variables:
    tenant:
      default: example
security:
- basicAuth: []
- bearerAuth: []
tags:
- name: Bayeux Handshake
- name: Subscription
paths:
  /notification/realtime:
    post:
      tags: [Bayeux Handshake]
      summary: Bayeux Channel Endpoint (Handshake, Connect, Subscribe, Disconnect)
      operationId: bayeuxChannelEndpoint
      description: |
        Single endpoint for the Bayeux/CometD protocol. The channel of the message body determines the
        action — `/meta/handshake`, `/meta/connect`, `/meta/subscribe`, `/meta/unsubscribe`,
        `/meta/disconnect`. Subscribe to channels such as `/measurements/{deviceId}`,
        `/events/{deviceId}`, `/alarms/{deviceId}`, `/operations/{deviceId}`, `/managedobjects/{deviceId}`.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BayeuxMessage'
      responses:
        '200':
          description: Bayeux protocol response.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BayeuxMessage'
components:
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
  schemas:
    BayeuxMessage:
      type: object
      required: [channel]
      properties:
        channel: {type: string}
        clientId: {type: string}
        id: {type: string}
        data: {}
        successful: {type: boolean}
        subscription: {type: string}
        ext:
          type: object
        advice:
          type: object
        supportedConnectionTypes:
          type: array
          items: {type: string}
        connectionType: {type: string}
        version: {type: string}
        minimumVersion: {type: string}