Cumulocity Event API

Create, query, and delete events emitted by devices and applications. Events capture discrete happenings (door opened, geofence crossed, image captured) with a type, time, text, source device, and arbitrary custom fragments. Binary attachments are supported via the events/{id}/binaries sub-resource.

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

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

Tagged areas include IoT, Events, and Telemetry. The published artifact set on APIs.io includes API documentation, an OpenAPI specification, 2 Naftiko capability specs, and 1 JSON Schema.

OpenAPI Specification

cumulocity-event-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Cumulocity Event API
  version: 10.20.0
  description: |
    Create, query, and delete events emitted by devices and applications. Events capture discrete happenings
    (door opened, geofence crossed, image captured) with a type, time, text, source device, and arbitrary
    custom fragments. Binary attachments are supported via the events/{id}/binaries sub-resource.
servers:
- url: https://{tenant}.cumulocity.com
  variables:
    tenant:
      default: example
security:
- basicAuth: []
- bearerAuth: []
tags:
- name: Events
- name: Event Binaries
paths:
  /event/events:
    get:
      tags: [Events]
      summary: List Events
      operationId: listEvents
      parameters:
      - name: source
        in: query
        schema: {type: string}
      - name: type
        in: query
        schema: {type: string}
      - name: fragmentType
        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: revert
        in: query
        schema: {type: boolean}
      responses:
        '200':
          description: A collection of events.
          content:
            application/vnd.com.nsn.cumulocity.eventCollection+json:
              schema:
                $ref: '#/components/schemas/EventCollection'
    post:
      tags: [Events]
      summary: Create an Event
      operationId: createEvent
      requestBody:
        required: true
        content:
          application/vnd.com.nsn.cumulocity.event+json:
            schema:
              $ref: '#/components/schemas/Event'
      responses:
        '201':
          description: Event created.
          content:
            application/vnd.com.nsn.cumulocity.event+json:
              schema:
                $ref: '#/components/schemas/Event'
    delete:
      tags: [Events]
      summary: Delete Events by Filter
      operationId: deleteEvents
      responses:
        '204':
          description: Events deleted.
  /event/events/{id}:
    parameters:
    - name: id
      in: path
      required: true
      schema: {type: string}
    get:
      tags: [Events]
      summary: Retrieve an Event
      operationId: getEvent
      responses:
        '200':
          description: A single event.
          content:
            application/vnd.com.nsn.cumulocity.event+json:
              schema:
                $ref: '#/components/schemas/Event'
    put:
      tags: [Events]
      summary: Update an Event
      operationId: updateEvent
      requestBody:
        required: true
        content:
          application/vnd.com.nsn.cumulocity.event+json:
            schema:
              $ref: '#/components/schemas/Event'
      responses:
        '200':
          description: Event updated.
    delete:
      tags: [Events]
      summary: Delete an Event
      operationId: deleteEvent
      responses:
        '204':
          description: Event deleted.
  /event/events/{id}/binaries:
    parameters:
    - name: id
      in: path
      required: true
      schema: {type: string}
    get:
      tags: [Event Binaries]
      summary: Retrieve an Event Binary
      operationId: getEventBinary
      responses:
        '200':
          description: Binary content attached to the event.
    post:
      tags: [Event Binaries]
      summary: Attach a Binary to an Event
      operationId: attachEventBinary
      requestBody:
        content:
          application/octet-stream:
            schema:
              type: string
              format: binary
      responses:
        '201':
          description: Binary attached.
    delete:
      tags: [Event Binaries]
      summary: Delete an Event Binary
      operationId: deleteEventBinary
      responses:
        '204':
          description: Binary deleted.
components:
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
  schemas:
    Event:
      type: object
      required: [time, type, text, source]
      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}
        source:
          type: object
          properties:
            id: {type: string}
            self: {type: string, format: uri}
      additionalProperties: true
    EventCollection:
      type: object
      properties:
        self: {type: string, format: uri}
        events:
          type: array
          items:
            $ref: '#/components/schemas/Event'