Cumulocity Operations API

The Operations API from Cumulocity — 2 operation(s) for operations.

Operations 5

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /devicecontrol/operations List device operations · List Operations #
Ask an LLM
“Which commands are still pending for a particular device?”
“Can I list operations that failed in a date range?”
Tell an agent
List operations for device {deviceId}.
Show {status} operations for agent {agentId}.
POST /devicecontrol/operations Send a command to a device · Create an Operation #
Ask an LLM
“How do I send a restart command to a device remotely?”
“Can I push a shell command or firmware update to a single device?”
Tell an agent
Send a restart operation to device {deviceId}.
Run shell command {c8y_Command} on device {deviceId}.
DELETE /devicecontrol/operations Delete operations matching a filter · Delete Operations by Filter #
Ask an LLM
“Can I clear out a batch of old device operations at once?”
“Is there a bulk delete for the operation queue?”
Tell an agent destructive · confirm first
Delete all device operations matching the filter.
Purge the operations collection in one bulk delete.
GET /devicecontrol/operations/{id} Look up one device operation · Retrieve an Operation #
Ask an LLM
“How do I check whether a command I sent has succeeded?”
“Why did a particular device operation fail?”
Tell an agent
Show me operation {id}.
Get the status and failure reason of operation {id}.
PUT /devicecontrol/operations/{id} Report progress on a device operation · Update an Operation #
Ask an LLM
“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?”
Tell an agent
Set operation {id} for device {deviceId} to status {status}.
Mark operation {id} on device {deviceId} as failed with reason {failureReason}.

Documentation

Specifications

Schemas & Data

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/cumulocity:cumulocity-operations-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

cumulocity-operations-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Cumulocity Device Control Operations API
  version: 10.20.0
  description: 'Send and track operations (commands) to devices including firmware updates, configuration changes,

    software installation, shell commands, and restart requests. Operations move through PENDING, EXECUTING,

    SUCCESSFUL, FAILED status. Bulk operations let you target an entire device group with a single request.'
servers:
- url: https://{tenant}.cumulocity.com
  variables:
    tenant:
      default: example
security:
- basicAuth: []
- bearerAuth: []
tags:
- name: Operations
paths:
  /devicecontrol/operations:
    get:
      tags:
      - Operations
      summary: List Operations
      operationId: listOperations
      parameters:
      - name: deviceId
        in: query
        schema:
          type: string
      - name: agentId
        in: query
        schema:
          type: string
      - name: status
        in: query
        schema:
          type: string
          enum:
          - PENDING
          - EXECUTING
          - SUCCESSFUL
          - FAILED
      - name: fragmentType
        in: query
        schema:
          type: string
      - name: dateFrom
        in: query
        schema:
          type: string
          format: date-time
      - name: dateTo
        in: query
        schema:
          type: string
          format: date-time
      - name: revert
        in: query
        schema:
          type: boolean
      responses:
        '200':
          description: A collection of operations.
          content:
            application/vnd.com.nsn.cumulocity.operationCollection+json:
              schema:
                $ref: '#/components/schemas/OperationCollection'
    post:
      tags:
      - Operations
      summary: Create an Operation
      operationId: createOperation
      requestBody:
        required: true
        content:
          application/vnd.com.nsn.cumulocity.operation+json:
            schema:
              $ref: '#/components/schemas/Operation'
      responses:
        '201':
          description: Operation created.
    delete:
      tags:
      - Operations
      summary: Delete Operations by Filter
      operationId: deleteOperations
      responses:
        '204':
          description: Operations deleted.
  /devicecontrol/operations/{id}:
    parameters:
    - name: id
      in: path
      required: true
      schema:
        type: string
    get:
      tags:
      - Operations
      summary: Retrieve an Operation
      operationId: getOperation
      responses:
        '200':
          description: A single operation.
          content:
            application/vnd.com.nsn.cumulocity.operation+json:
              schema:
                $ref: '#/components/schemas/Operation'
    put:
      tags:
      - Operations
      summary: Update an Operation
      operationId: updateOperation
      requestBody:
        required: true
        content:
          application/vnd.com.nsn.cumulocity.operation+json:
            schema:
              $ref: '#/components/schemas/Operation'
      responses:
        '200':
          description: Operation updated.
components:
  schemas:
    Operation:
      type: object
      required:
      - deviceId
      properties:
        id:
          type: string
          readOnly: true
        self:
          type: string
          format: uri
          readOnly: true
        deviceId:
          type: string
        deviceExternalIDs:
          type: object
        agentId:
          type: string
        status:
          type: string
          enum:
          - PENDING
          - EXECUTING
          - SUCCESSFUL
          - FAILED
        creationTime:
          type: string
          format: date-time
          readOnly: true
        failureReason:
          type: string
        description:
          type: string
        c8y_Restart:
          type: object
        c8y_Command:
          type: object
          properties:
            text:
              type: string
            result:
              type: string
        c8y_Firmware:
          type: object
          properties:
            name:
              type: string
            version:
              type: string
            url:
              type: string
        c8y_Software:
          type: array
      additionalProperties: true
    OperationCollection:
      type: object
      properties:
        self:
          type: string
          format: uri
        operations:
          type: array
          items:
            $ref: '#/components/schemas/Operation'
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT