Cumulocity Retention Rules API

Define retention rules that automatically delete measurements, events, alarms, audit records, and operations older than a configured age. Rules can be scoped by data type, source, and fragment. Default policies apply per-plan; Enterprise tenants can override.

Cumulocity Retention Rules API is one of 19 APIs that Cumulocity publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

This API exposes 1 machine-runnable capability that can be deployed as REST, MCP, or Agent Skill surfaces via Naftiko.

Tagged areas include IoT, Retention, Data Lifecycle, and Compliance. The published artifact set on APIs.io includes API documentation, an OpenAPI specification, and 1 Naftiko capability spec.

OpenAPI Specification

cumulocity-retention-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Cumulocity Retention Rules API
  version: 10.20.0
  description: |
    Define retention rules that automatically delete measurements, events, alarms, audit records, and
    operations older than a configured age. Rules can be scoped by data type, source, and fragment.
    Default policies apply per-plan; Enterprise tenants can override.
servers:
- url: https://{tenant}.cumulocity.com
  variables:
    tenant:
      default: example
security:
- basicAuth: []
- bearerAuth: []
tags:
- name: Retention Rules
paths:
  /retention/retentions:
    get:
      tags: [Retention Rules]
      summary: List Retention Rules
      operationId: listRetentionRules
      responses:
        '200':
          description: A collection of retention rules.
    post:
      tags: [Retention Rules]
      summary: Create a Retention Rule
      operationId: createRetentionRule
      requestBody:
        required: true
        content:
          application/vnd.com.nsn.cumulocity.retentionRule+json:
            schema:
              $ref: '#/components/schemas/RetentionRule'
      responses:
        '201':
          description: Retention rule created.
  /retention/retentions/{id}:
    parameters:
    - name: id
      in: path
      required: true
      schema: {type: string}
    get:
      tags: [Retention Rules]
      summary: Retrieve a Retention Rule
      operationId: getRetentionRule
      responses:
        '200':
          description: A single retention rule.
    put:
      tags: [Retention Rules]
      summary: Update a Retention Rule
      operationId: updateRetentionRule
      requestBody:
        required: true
        content:
          application/vnd.com.nsn.cumulocity.retentionRule+json:
            schema:
              $ref: '#/components/schemas/RetentionRule'
      responses:
        '200':
          description: Retention rule updated.
    delete:
      tags: [Retention Rules]
      summary: Delete a Retention Rule
      operationId: deleteRetentionRule
      responses:
        '204':
          description: Retention rule deleted.
components:
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
  schemas:
    RetentionRule:
      type: object
      required: [dataType, maximumAge]
      properties:
        id: {type: string}
        self: {type: string, format: uri}
        dataType:
          type: string
          enum: [ALARM, AUDIT, EVENT, MEASUREMENT, OPERATION, BULK_OPERATION, '*']
        fragmentType: {type: string}
        type: {type: string}
        source: {type: string}
        maximumAge:
          type: integer
          description: Age in days after which records are deleted.
        editable: {type: boolean}