naftiko: 1.0.0-alpha2 info: label: Dynatrace Entities API v2 — Entities description: 'Dynatrace Entities API v2 — Entities. 5 operations. Lead operation: Dynatrace List Entities. Self-contained Naftiko capability covering one Dynatrace business surface.' tags: - Dynatrace - Entities created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: DYNATRACE_API_KEY: DYNATRACE_API_KEY capability: consumes: - type: http namespace: entities-api-v2-entities baseUri: https://{environmentId}.live.dynatrace.com/api/v2 description: Dynatrace Entities API v2 — Entities business capability. Self-contained, no shared references. resources: - name: entities path: /entities operations: - name: listentities method: GET description: Dynatrace List Entities outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: nextPageKey in: query type: string description: The cursor for the next page of results, obtained from the nextPageKey field of a previous response. When this parameter is set, all other query parameters exce - name: pageSize in: query type: integer description: The number of entities to return per page. Default is 50, maximum is 500. - name: entitySelector in: query type: string description: 'Defines the scope of the query by specifying entity filter conditions. Required. Use the entity selector syntax, for example: type(SERVICE) to select all servic' required: true - name: fields in: query type: string description: Defines additional fields to include in the entity response beyond the default set. Use a comma-separated list. For example, +properties,+tags,+toRelationships. - name: from in: query type: string description: 'The start of the time range for entity discovery. Entities seen within this range are returned. Use a relative expression (now-7d), ISO 8601, or Unix timestamp ' - name: to in: query type: string description: The end of the time range for entity discovery. Default is now. - name: sort in: query type: string description: Defines the sort order of results. Use the field name prefixed with + (ascending) or - (descending). For example, +displayName or -lastSeenTms. - name: entities-lookup path: /entities/lookup operations: - name: lookupentity method: POST description: Dynatrace Look up Entity by Name outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: entities-entityId path: /entities/{entityId} operations: - name: getentity method: GET description: Dynatrace Get Entity outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: entityId in: path type: string description: The unique identifier of the entity to retrieve, in the format TYPE-HEXADECIMALID, e.g., SERVICE-1234567890ABCDEF. required: true - name: fields in: query type: string description: Defines additional fields to include in the response. Use a comma-separated list prefixed with +, e.g., +properties,+tags. - name: from in: query type: string description: The start of the time range for properties and relationships. Defaults to now-3d. - name: to in: query type: string description: The end of the time range. Defaults to now. - name: entityTypes path: /entityTypes operations: - name: listentitytypes method: GET description: Dynatrace List Entity Types outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: nextPageKey in: query type: string description: Cursor for the next page of results. - name: pageSize in: query type: integer description: The number of entity types to return per page. - name: entityTypes-type path: /entityTypes/{type} operations: - name: getentitytype method: GET description: Dynatrace Get Entity Type Definition outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: type in: path type: string description: The entity type identifier, e.g., SERVICE, HOST, PROCESS_GROUP, APPLICATION. required: true authentication: type: apikey key: Authorization value: '{{env.DYNATRACE_API_KEY}}' placement: header exposes: - type: rest namespace: entities-api-v2-entities-rest port: 8080 description: REST adapter for Dynatrace Entities API v2 — 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: listentities description: Dynatrace List Entities call: entities-api-v2-entities.listentities with: nextPageKey: rest.nextPageKey pageSize: rest.pageSize entitySelector: rest.entitySelector fields: rest.fields from: rest.from to: rest.to sort: rest.sort outputParameters: - type: object mapping: $. - path: /v1/entities/lookup name: entities-lookup description: REST surface for entities-lookup. operations: - method: POST name: lookupentity description: Dynatrace Look up Entity by Name call: entities-api-v2-entities.lookupentity with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/entities/{entityid} name: entities-entityid description: REST surface for entities-entityId. operations: - method: GET name: getentity description: Dynatrace Get Entity call: entities-api-v2-entities.getentity with: entityId: rest.entityId fields: rest.fields from: rest.from to: rest.to outputParameters: - type: object mapping: $. - path: /v1/entitytypes name: entitytypes description: REST surface for entityTypes. operations: - method: GET name: listentitytypes description: Dynatrace List Entity Types call: entities-api-v2-entities.listentitytypes with: nextPageKey: rest.nextPageKey pageSize: rest.pageSize outputParameters: - type: object mapping: $. - path: /v1/entitytypes/{type} name: entitytypes-type description: REST surface for entityTypes-type. operations: - method: GET name: getentitytype description: Dynatrace Get Entity Type Definition call: entities-api-v2-entities.getentitytype with: type: rest.type outputParameters: - type: object mapping: $. - type: mcp namespace: entities-api-v2-entities-mcp port: 9090 transport: http description: MCP adapter for Dynatrace Entities API v2 — Entities. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: dynatrace-list-entities description: Dynatrace List Entities hints: readOnly: true destructive: false idempotent: true call: entities-api-v2-entities.listentities with: nextPageKey: tools.nextPageKey pageSize: tools.pageSize entitySelector: tools.entitySelector fields: tools.fields from: tools.from to: tools.to sort: tools.sort outputParameters: - type: object mapping: $. - name: dynatrace-look-up-entity-name description: Dynatrace Look up Entity by Name hints: readOnly: false destructive: false idempotent: false call: entities-api-v2-entities.lookupentity with: body: tools.body outputParameters: - type: object mapping: $. - name: dynatrace-get-entity description: Dynatrace Get Entity hints: readOnly: true destructive: false idempotent: true call: entities-api-v2-entities.getentity with: entityId: tools.entityId fields: tools.fields from: tools.from to: tools.to outputParameters: - type: object mapping: $. - name: dynatrace-list-entity-types description: Dynatrace List Entity Types hints: readOnly: true destructive: false idempotent: true call: entities-api-v2-entities.listentitytypes with: nextPageKey: tools.nextPageKey pageSize: tools.pageSize outputParameters: - type: object mapping: $. - name: dynatrace-get-entity-type-definition description: Dynatrace Get Entity Type Definition hints: readOnly: true destructive: false idempotent: true call: entities-api-v2-entities.getentitytype with: type: tools.type outputParameters: - type: object mapping: $.