Cumulocity · Capability

Cumulocity Measurement API — Measurements

Ingest, query, and delete device measurements (telemetry) in Cumulocity.

Cumulocity Measurement API — Measurements is a Naftiko capability published by Cumulocity, one of 31 capabilities the APIs.io network indexes for this provider. It bundles 3 operations.

The capability includes 1 read-only operation and 2 state-changing operations. Lead operation: Query Cumulocity device measurements by source, type, and time range. Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko.

Tagged areas include Cumulocity, Measurements, and Telemetry.

Run with Naftiko CumulocityMeasurementsTelemetry

MCP Tools

cumulocity-list-measurements

Query Cumulocity device measurements by source, type, and time range.

read-only idempotent
cumulocity-create-measurement

Submit a measurement (telemetry data point) for a Cumulocity device.

cumulocity-delete-measurements

Delete a batch of measurements matching the given source/type/time filter.

idempotent

Capability Spec

measurement-measurements.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Cumulocity Measurement API — Measurements
  description: Ingest, query, and delete device measurements (telemetry) in Cumulocity.
  tags: [Cumulocity, Measurements, Telemetry]
  created: '2026-05-25'
  modified: '2026-05-25'
binds:
- namespace: env
  keys:
    C8Y_BASE_URL: C8Y_BASE_URL
    C8Y_USER: C8Y_USER
    C8Y_PASSWORD: C8Y_PASSWORD
capability:
  consumes:
  - type: http
    namespace: measurement-measurements
    baseUri: '{{env.C8Y_BASE_URL}}'
    resources:
    - name: measurements
      path: /measurement/measurements
      operations:
      - name: listmeasurements
        method: GET
        description: List Measurements
        inputParameters:
        - {name: source, in: query, type: string}
        - {name: type, in: query, type: string}
        - {name: dateFrom, in: query, type: string}
        - {name: dateTo, in: query, type: string}
        - {name: pageSize, in: query, type: integer}
        - {name: currentPage, in: query, type: integer}
        - {name: revert, in: query, type: boolean}
      - name: createmeasurement
        method: POST
        description: Create A Measurement
        inputParameters:
        - {name: body, in: body, type: object, required: true}
      - name: deletemeasurements
        method: DELETE
        description: Delete Measurements By Filter
        inputParameters:
        - {name: source, in: query, type: string}
        - {name: type, in: query, type: string}
        - {name: dateFrom, in: query, type: string}
        - {name: dateTo, in: query, type: string}
    - name: measurement
      path: /measurement/measurements/{id}
      operations:
      - name: getmeasurement
        method: GET
        description: Retrieve A Measurement
        inputParameters:
        - {name: id, in: path, type: string, required: true}
      - name: deletemeasurement
        method: DELETE
        description: Delete A Measurement
        inputParameters:
        - {name: id, in: path, type: string, required: true}
    authentication:
      type: basic
      username: '{{env.C8Y_USER}}'
      password: '{{env.C8Y_PASSWORD}}'
  exposes:
  - type: mcp
    namespace: measurement-measurements-mcp
    port: 9090
    transport: http
    tools:
    - name: cumulocity-list-measurements
      description: Query Cumulocity device measurements by source, type, and time range.
      hints: {readOnly: true, destructive: false, idempotent: true}
      call: measurement-measurements.listmeasurements
      with: {source: tools.source, type: tools.type, dateFrom: tools.dateFrom, dateTo: tools.dateTo, pageSize: tools.pageSize, currentPage: tools.currentPage}
    - name: cumulocity-create-measurement
      description: Submit a measurement (telemetry data point) for a Cumulocity device.
      hints: {readOnly: false, destructive: false, idempotent: false}
      call: measurement-measurements.createmeasurement
      with: {body: tools.body}
    - name: cumulocity-delete-measurements
      description: Delete a batch of measurements matching the given source/type/time filter.
      hints: {readOnly: false, destructive: true, idempotent: true}
      call: measurement-measurements.deletemeasurements
      with: {source: tools.source, type: tools.type, dateFrom: tools.dateFrom, dateTo: tools.dateTo}