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}