Cumulocity · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Cumulocity Device Control Operations API

6 actions 6 updates phrasing extends openapi/cumulocity-operations-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['/devicecontrol/operations'].get
$.paths['/devicecontrol/operations'].post
$.paths['/devicecontrol/operations'].delete
$.paths['/devicecontrol/operations/{id}'].get
$.paths['/devicecontrol/operations/{id}'].put

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 Device Control Operations API
  version: 1.0.0
extends: openapi/cumulocity-operations-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['/devicecontrol/operations'].get
  update:
    x-apievangelist-phrasing:
      intent: List device operations
      effect: read
      questions:
      - Which commands are still pending for a particular device?
      - Can I list operations that failed in a date range?
      - What operations has an agent been asked to run?
      instructions:
      - text: List operations for device {deviceId}.
        slots:
          deviceId: query.deviceId
      - text: Show {status} operations for agent {agentId}.
        slots:
          status: query.status
          agentId: query.agentId
      - text: List operations with fragment {fragmentType} since {dateFrom}.
        slots:
          fragmentType: query.fragmentType
          dateFrom: query.dateFrom
      method: generated
      generated: '2026-10-01'
- target: $.paths['/devicecontrol/operations'].post
  update:
    x-apievangelist-phrasing:
      intent: Send a command to a device
      effect: write
      questions:
      - How do I send a restart command to a device remotely?
      - Can I push a shell command or firmware update to a single device?
      instructions:
      - text: Send a restart operation to device {deviceId}.
        slots:
          deviceId: requestBody.deviceId
      - text: Run shell command {c8y_Command} on device {deviceId}.
        slots:
          c8y_Command: requestBody.c8y_Command
          deviceId: requestBody.deviceId
      - text: Create a firmware update operation {c8y_Firmware} for device {deviceId}.
        slots:
          c8y_Firmware: requestBody.c8y_Firmware
          deviceId: requestBody.deviceId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/devicecontrol/operations'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete operations matching a filter
      effect: destructive
      questions:
      - Can I clear out a batch of old device operations at once?
      - Is there a bulk delete for the operation queue?
      instructions:
      - text: Delete all device operations matching the filter.
      - text: Purge the operations collection in one bulk delete.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/devicecontrol/operations/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Look up one device operation
      effect: read
      questions:
      - How do I check whether a command I sent has succeeded?
      - Why did a particular device operation fail?
      instructions:
      - text: Show me operation {id}.
        slots:
          id: path.id
      - text: Get the status and failure reason of operation {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/devicecontrol/operations/{id}'].put
  update:
    x-apievangelist-phrasing:
      intent: Report progress on a device operation
      effect: write
      questions:
      - How does a device agent mark an operation as executing or successful?
      - Can I set a failure reason on an operation that didn't work?
      instructions:
      - text: Set operation {id} for device {deviceId} to status {status}.
        slots:
          id: path.id
          deviceId: requestBody.deviceId
          status: requestBody.status
      - text: Mark operation {id} on device {deviceId} as failed with reason {failureReason}.
        slots:
          id: path.id
          deviceId: requestBody.deviceId
          failureReason: requestBody.failureReason
      method: generated
      generated: '2026-10-01'