Cumulocity · Capability

Cumulocity Device Control API — Operations

Send and track operations (commands) to Cumulocity devices including restart, firmware, software, configuration, and shell commands.

Cumulocity Device Control API — Operations 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: List operations sent to Cumulocity devices. Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko.

Tagged areas include Cumulocity, Operations, and Device Control.

Run with Naftiko CumulocityOperationsDevice Control

MCP Tools

cumulocity-list-operations

List operations sent to Cumulocity devices.

read-only idempotent
cumulocity-send-operation

Send an operation (command) to a Cumulocity device (e.g. c8y_Restart, c8y_Firmware, c8y_Command).

cumulocity-update-operation-status

Update the status of an operation (e.g. mark EXECUTING -> SUCCESSFUL).

idempotent

Capability Spec

device-control-operations.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Cumulocity Device Control API — Operations
  description: Send and track operations (commands) to Cumulocity devices including restart, firmware, software, configuration, and shell commands.
  tags: [Cumulocity, Operations, Device Control]
  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: device-control-operations
    baseUri: '{{env.C8Y_BASE_URL}}'
    resources:
    - name: operations
      path: /devicecontrol/operations
      operations:
      - name: listoperations
        method: GET
        description: List Operations
        inputParameters:
        - {name: deviceId, in: query, type: string}
        - {name: status, in: query, type: string}
        - {name: dateFrom, in: query, type: string}
        - {name: dateTo, in: query, type: string}
      - name: createoperation
        method: POST
        description: Create An Operation
        inputParameters:
        - {name: body, in: body, type: object, required: true}
    - name: operation
      path: /devicecontrol/operations/{id}
      operations:
      - name: getoperation
        method: GET
        description: Retrieve An Operation
        inputParameters:
        - {name: id, in: path, type: string, required: true}
      - name: updateoperation
        method: PUT
        description: Update An Operation
        inputParameters:
        - {name: id, in: path, type: string, required: true}
        - {name: body, in: body, type: object, required: true}
    authentication:
      type: basic
      username: '{{env.C8Y_USER}}'
      password: '{{env.C8Y_PASSWORD}}'
  exposes:
  - type: mcp
    namespace: device-control-operations-mcp
    port: 9090
    transport: http
    tools:
    - name: cumulocity-list-operations
      description: List operations sent to Cumulocity devices.
      hints: {readOnly: true, destructive: false, idempotent: true}
      call: device-control-operations.listoperations
      with: {deviceId: tools.deviceId, status: tools.status, dateFrom: tools.dateFrom, dateTo: tools.dateTo}
    - name: cumulocity-send-operation
      description: Send an operation (command) to a Cumulocity device (e.g. c8y_Restart, c8y_Firmware, c8y_Command).
      hints: {readOnly: false, destructive: false, idempotent: false}
      call: device-control-operations.createoperation
      with: {body: tools.body}
    - name: cumulocity-update-operation-status
      description: Update the status of an operation (e.g. mark EXECUTING -> SUCCESSFUL).
      hints: {readOnly: false, destructive: false, idempotent: true}
      call: device-control-operations.updateoperation
      with: {id: tools.id, body: tools.body}