Cumulocity · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Cumulocity Measurement Measurements API

6 actions 6 updates phrasing extends openapi/cumulocity-measurements-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Cumulocity's API. It is a proposal applied on top of the contract, not a document Cumulocity publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 6

$.info
$.paths['/measurement/measurements'].get
$.paths['/measurement/measurements'].post
$.paths['/measurement/measurements'].delete
$.paths['/measurement/measurements/{id}'].get
$.paths['/measurement/measurements/{id}'].delete

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for Cumulocity Measurement Measurements API
  version: 1.0.0
extends: openapi/cumulocity-measurements-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-10-01'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 5
- target: $.paths['/measurement/measurements'].get
  update:
    x-apievangelist-phrasing:
      intent: List sensor measurements
      effect: read
      questions:
      - What temperature readings did a device send yesterday?
      - Can I filter measurements by value fragment and series?
      - How do I page through all measurements from one device?
      instructions:
      - text: List measurements from device {source} between {dateFrom} and {dateTo}.
        slots:
          source: query.source
          dateFrom: query.dateFrom
          dateTo: query.dateTo
      - text: Show {valueFragmentType} measurements for series {valueFragmentSeries}.
        slots:
          valueFragmentType: query.valueFragmentType
          valueFragmentSeries: query.valueFragmentSeries
      - text: Get the latest measurements of type {type}, newest first.
        slots:
          type: query.type
      method: generated
      generated: '2026-10-01'
- target: $.paths['/measurement/measurements'].post
  update:
    x-apievangelist-phrasing:
      intent: Send a new measurement reading
      effect: write
      questions:
      - How do I push a sensor reading into Cumulocity?
      - What fields are needed to record a measurement for a device?
      instructions:
      - text: Record a {type} measurement for device {source} at {time}.
        slots:
          type: requestBody.type
          source: requestBody.source
          time: requestBody.time
      - text: Create measurement {measurements} on device {source} at {time} with type {type}.
        slots:
          measurements: requestBody.measurements
          source: requestBody.source
          time: requestBody.time
          type: requestBody.type
      method: generated
      generated: '2026-10-01'
- target: $.paths['/measurement/measurements'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete measurements matching a filter
      effect: destructive
      questions:
      - Can I delete all measurements from a device for a date range?
      - Is there a bulk way to wipe old readings of one type?
      instructions:
      - text: Delete all measurements from device {source} before {dateTo}.
        slots:
          source: query.source
          dateTo: query.dateTo
      - text: Delete {type} measurements recorded between {dateFrom} and {dateTo}.
        slots:
          type: query.type
          dateFrom: query.dateFrom
          dateTo: query.dateTo
      method: generated
      generated: '2026-10-01'
- target: $.paths['/measurement/measurements/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Look up one measurement
      effect: read
      questions:
      - How do I read a single measurement by its ID?
      - What values did one specific reading contain?
      instructions:
      - text: Show me measurement {id}.
        slots:
          id: path.id
      - text: Get the values of measurement {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/measurement/measurements/{id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete one measurement
      effect: destructive
      questions:
      - How do I remove one bad sensor reading?
      - Can I delete a single measurement without a filter?
      instructions:
      - text: Delete measurement {id}.
        slots:
          id: path.id
      - text: Remove the single measurement with ID {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'