IBM Turbonomic · Capability

Turbonomic REST API — Entities

Turbonomic REST API — Entities. 4 operations. Lead operation: Get All Entities. Self-contained Naftiko capability covering one Turbonomic business surface.

Run with Naftiko TurbonomicEntities

What You Can Do

GET
Getentities — Get All Entities
/v1/entities
GET
Getentitybyuuid — Get Entity By UUID
/v1/entities/{uuid}
GET
Getentityactions — Get Entity Actions
/v1/entities/{uuid}/actions
GET
Getentitystats — Get Entity Statistics
/v1/entities/{uuid}/stats

MCP Tools

get-all-entities

Get All Entities

read-only idempotent
get-entity-uuid

Get Entity By UUID

read-only idempotent
get-entity-actions

Get Entity Actions

read-only idempotent
get-entity-statistics

Get Entity Statistics

read-only idempotent

Capability Spec

rest-entities.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Turbonomic REST API — Entities
  description: 'Turbonomic REST API — Entities. 4 operations. Lead operation: Get All Entities. Self-contained Naftiko capability
    covering one Turbonomic business surface.'
  tags:
  - Turbonomic
  - Entities
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    TURBONOMIC_API_KEY: TURBONOMIC_API_KEY
capability:
  consumes:
  - type: http
    namespace: rest-entities
    baseUri: https://{turbonomic_host}/api/v3
    description: Turbonomic REST API — Entities business capability. Self-contained, no shared references.
    resources:
    - name: entities
      path: /entities
      operations:
      - name: getentities
        method: GET
        description: Get All Entities
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: entity_type
          in: query
          type: string
          description: Filter by entity type (e.g., VirtualMachine, Container, Application)
        - name: limit
          in: query
          type: integer
          description: Maximum number of entities to return
        - name: cursor
          in: query
          type: string
          description: Pagination cursor for the next page of results
    - name: entities-uuid
      path: /entities/{uuid}
      operations:
      - name: getentitybyuuid
        method: GET
        description: Get Entity By UUID
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: uuid
          in: path
          type: string
          description: The unique identifier of the entity
          required: true
    - name: entities-uuid-actions
      path: /entities/{uuid}/actions
      operations:
      - name: getentityactions
        method: GET
        description: Get Entity Actions
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: uuid
          in: path
          type: string
          description: The unique identifier of the entity
          required: true
    - name: entities-uuid-stats
      path: /entities/{uuid}/stats
      operations:
      - name: getentitystats
        method: GET
        description: Get Entity Statistics
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: uuid
          in: path
          type: string
          description: The unique identifier of the entity
          required: true
        - name: start_date
          in: query
          type: string
          description: Start date for statistics (ISO 8601 format)
        - name: end_date
          in: query
          type: string
          description: End date for statistics (ISO 8601 format)
    authentication:
      type: bearer
      token: '{{env.TURBONOMIC_API_KEY}}'
  exposes:
  - type: rest
    namespace: rest-entities-rest
    port: 8080
    description: REST adapter for Turbonomic REST API — Entities. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/entities
      name: entities
      description: REST surface for entities.
      operations:
      - method: GET
        name: getentities
        description: Get All Entities
        call: rest-entities.getentities
        with:
          entity_type: rest.entity_type
          limit: rest.limit
          cursor: rest.cursor
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/entities/{uuid}
      name: entities-uuid
      description: REST surface for entities-uuid.
      operations:
      - method: GET
        name: getentitybyuuid
        description: Get Entity By UUID
        call: rest-entities.getentitybyuuid
        with:
          uuid: rest.uuid
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/entities/{uuid}/actions
      name: entities-uuid-actions
      description: REST surface for entities-uuid-actions.
      operations:
      - method: GET
        name: getentityactions
        description: Get Entity Actions
        call: rest-entities.getentityactions
        with:
          uuid: rest.uuid
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/entities/{uuid}/stats
      name: entities-uuid-stats
      description: REST surface for entities-uuid-stats.
      operations:
      - method: GET
        name: getentitystats
        description: Get Entity Statistics
        call: rest-entities.getentitystats
        with:
          uuid: rest.uuid
          start_date: rest.start_date
          end_date: rest.end_date
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: rest-entities-mcp
    port: 9090
    transport: http
    description: MCP adapter for Turbonomic REST API — Entities. One tool per consumed operation, routed inline through this
      capability's consumes block.
    tools:
    - name: get-all-entities
      description: Get All Entities
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-entities.getentities
      with:
        entity_type: tools.entity_type
        limit: tools.limit
        cursor: tools.cursor
      outputParameters:
      - type: object
        mapping: $.
    - name: get-entity-uuid
      description: Get Entity By UUID
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-entities.getentitybyuuid
      with:
        uuid: tools.uuid
      outputParameters:
      - type: object
        mapping: $.
    - name: get-entity-actions
      description: Get Entity Actions
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-entities.getentityactions
      with:
        uuid: tools.uuid
      outputParameters:
      - type: object
        mapping: $.
    - name: get-entity-statistics
      description: Get Entity Statistics
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-entities.getentitystats
      with:
        uuid: tools.uuid
        start_date: tools.start_date
        end_date: tools.end_date
      outputParameters:
      - type: object
        mapping: $.