Cumulocity Managed Objects API

Inventory documents representing devices, assets, groups, and digital twins.

Operations 11

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

POST /inventory/managedObjects Register a device or asset in the inventory · Create one or multiple managed objects #
Ask an LLM
“How do I register a new device in the inventory?”
“Can I create a device group as a managed object?”
Tell an agent
Create a managed object named {name} of type {type}.
Register a new device called {name} with hardware info {c8y_Hardware}.
PUT /inventory/managedObjects Update multiple managed objects at once #
GET /inventory/managedObjects Search the device and asset inventory · Retrieve all managed objects #
Ask an LLM
“How do I list all devices in my Cumulocity inventory?”
“Can I search the inventory by text or by fragment type?”
Tell an agent
List inventory objects of type {type}.
Search the inventory for {text}, {pageSize} per page.
GET /inventory/managedObjects/{id} Look up one device or asset · Retrieve a specific managed object #
Ask an LLM
“How do I fetch one device's inventory record by ID?”
“Can I include a device's parents and children when I look it up?”
Tell an agent
Show me managed object {id}.
Get managed object {id} including its children and parents.
PUT /inventory/managedObjects/{id} Change a device or asset record · Update a specific managed object #
Ask an LLM
“How do I rename a device in the inventory?”
“Can I update the firmware info stored on a device record?”
Tell an agent
Rename managed object {id} to {name}.
Set the firmware fragment of device {id} to {c8y_Firmware}.
DELETE /inventory/managedObjects/{id} Delete a device or asset · Remove a specific managed object #
Ask an LLM
“How do I remove a device from the inventory?”
“Can I delete a device together with all its child devices?”
Tell an agent destructive · confirm first
Delete managed object {id}.
Delete device {id} and cascade to its children.
GET /inventory/managedObjects/{id}/availability Retrieve the latest availability date of a specific managed object #
GET /inventory/managedObjects/{id}/supportedMeasurements Retrieve all supported measurement fragments of a specific managed object #
GET /inventory/managedObjects/{id}/supportedSeries Retrieve all supported measurement fragments and series of a specific managed… #
GET /inventory/managedObjects/{id}/user Retrieve the username and state of a specific managed object #
PUT /inventory/managedObjects/{id}/user Update the user's details of a specific managed object #

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-managed-objects-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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-managed-objects-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: Latest
  title: Cumulocity Managed objects API
  x-logo:
    url: https://www.cumulocity.com/docs/images/logo-platform.svg
    backgroundColor: '#F8F8F8'
    altText: Cumulocity
    href: https://www.cumulocity.com/api
  description: '# REST implementation


    This section describes the aspects common to all REST-based interfaces of Cumulocity. The interfaces are based on the Hypertext Transfer Protocol 1.1 using HTTPS. ## HTTP usage


    ### Application management


    Cumulocity uses a so-called "application key" to distinguish requests coming from devices and traffic from applications. If you write an application, pass the following header as part of all requests:


    ```markup

    X-Cumulocity-Application-Key:

    ```


    For example, if you registered your application in the Cumulocity Administration application with the key "myapp", your requests should contain the header:


    ```markup

    X-Cumulocity-Application-Key: myapp

    ```


    This makes your application subscribable and billable. If you implement a device, do not pass the key. > **ⓘ Info:** Make sure that you pass the key in **all** requests coming from an application. If you leave out the key,

    > the request will be considered as a device request, and the corresponding device will be marked as "available". ### Limited HTTP clients


    If you use an HTTP client that can only perform GET and POST methods in HTTP, you can emulate the other methods through an additional "X-HTTP-METHOD" header. Simply issue a POST request and add the header, specifying the actual REST method to be executed. For example, to emulate the "PUT" (modify) method, you can use:


    ```http

    POST ... X-HTTP-METHOD: PUT

    ```


    ### Processing mode


    Every update request (PUT, POST, DELETE) executes with a so-called *processing mode*. The processing modes are as follows:


    |Processing mode|Description|

    |---|---|

    |PERSISTENT (default)|Stores data in the Cumulocity database and sends data to the Streaming Analytics engine. Afterwards, Cumulocity returns the result of the request. This is the default mode.|

    |TRANSIENT|Sends data to the Streaming Analytics engine and immediately returns the results asynchronously but does not store data in Cumulocity’s database. This mode saves storage and processing costs and is useful for example when tracking devices in real time without requiring data to be stored.|

    |QUIESCENT|Behaves similar to the persistent mode with the exception that no real-time notifications will be sent.|

    |CEP|Behaves like the transient mode with the exception that no real-time notifications are sent.|


    To explicitly control the processing mode of an update request, you can use the "X-Cumulocity-Processing-Mode" header with a value of either "PERSISTENT", "TRANSIENT", "QUIESCENT" or "CEP":


    ```markup

    X-Cumulocity-Processing-Mode: PERSISTENT

    ```


    > **ⓘ Info:** Events are always delivered to CEP/Apama for all processing modes. This is independent from real-time notifications. ### Authorization


    All requests issued to Cumulocity are subject to authorization. To determine the required permissions, see the "Required role" entries for the individual requests. To learn more about the different permissions and the concept of ownership in Cumulocity, see Getting started > Technical concepts > Security aspects > Access control > Managing roles and assigning permissions in the Cumulocity user documentation. > **⚠️ Important:** In the Cumulocity API, each granular permission is identified by a unique “permission” string, which is prefixed with ROLE_ (for example, ROLE_ALARM_READ, ROLE_INVENTORY_ADMIN). Therefore, permissions are frequently referred to as “roles” throughout the API as well as in the configuration files. For example, the microservice manifest includes a requiredRoles field, which actually expects a permission string. See also the Glossary of the Cumulocity user documentation for the usage of the terms “permission” and “role” in the Cumulocity context. ### Media types


    Each type of data is associated with an own media type. The general format of media types is:


    ```markup

    application/vnd.com.nsn.cumulocity.+json;ver=;charset=UTF-8

    ```


    Each media type contains a parameter `ver` indicating the version of the type.'
servers:
- description: Cumulocity tenant
  url: https://<TENANT_DOMAIN>
security:
- Basic: []
- OAI-Secure: []
- SSO: []
- JWT-IAM: []
tags:


# --- truncated at 32 KB (96 KB total) ---
# Full source: https://artifacts.apis.io/cumulocity/openapi/cumulocity-managed-objects-api-openapi.yml