Dynatrace · Capability

Dynatrace Events API v2 — Events

Dynatrace Events API v2 — Events. 3 operations. Lead operation: Dynatrace List Events. Self-contained Naftiko capability covering one Dynatrace business surface.

Run with Naftiko DynatraceEvents

What You Can Do

GET
Listevents — Dynatrace List Events
/v1/events
POST
Ingestevent — Dynatrace Ingest a Custom Event
/v1/events/ingest
GET
Getevent — Dynatrace Get Event by Id
/v1/events/{eventid}

MCP Tools

dynatrace-list-events

Dynatrace List Events

read-only idempotent
dynatrace-ingest-custom-event

Dynatrace Ingest a Custom Event

dynatrace-get-event-id

Dynatrace Get Event by Id

read-only idempotent

Capability Spec

events-api-v2-events.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Dynatrace Events API v2 — Events
  description: 'Dynatrace Events API v2 — Events. 3 operations. Lead operation: Dynatrace List Events. Self-contained Naftiko
    capability covering one Dynatrace business surface.'
  tags:
  - Dynatrace
  - Events
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    DYNATRACE_API_KEY: DYNATRACE_API_KEY
capability:
  consumes:
  - type: http
    namespace: events-api-v2-events
    baseUri: https://{environmentId}.live.dynatrace.com/api/v2
    description: Dynatrace Events API v2 — Events business capability. Self-contained, no shared references.
    resources:
    - name: events
      path: /events
      operations:
      - name: listevents
        method: GET
        description: Dynatrace List Events
        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 events to return per page. Default is 50, maximum is 1000.
        - name: from
          in: query
          type: string
          description: The start of the queried time range. Use a relative expression (now-1h), ISO 8601 timestamp, or Unix
            timestamp in milliseconds. Default is now-2h.
        - name: to
          in: query
          type: string
          description: The end of the queried time range. Use a relative expression (now), ISO 8601 timestamp, or Unix timestamp
            in milliseconds. Default is now.
        - name: eventSelector
          in: query
          type: string
          description: Defines the scope of the query using the event selector syntax. For example, eventType("CUSTOM_DEPLOYMENT")
            to filter by type, or title("My event") to filter by
        - name: entitySelector
          in: query
          type: string
          description: Filters events to those affecting entities matching this selector. Use the standard entity selector
            syntax, e.g., type(HOST),tag(prod).
        - name: eventType
          in: query
          type: string
          description: Filters results to events of the specified type. For a full list of types, see the eventType enum in
            EventIngestPayload.
    - name: events-ingest
      path: /events/ingest
      operations:
      - name: ingestevent
        method: POST
        description: Dynatrace Ingest a Custom Event
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: events-eventId
      path: /events/{eventId}
      operations:
      - name: getevent
        method: GET
        description: Dynatrace Get Event by Id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: eventId
          in: path
          type: string
          description: The unique identifier of the event to retrieve.
          required: true
    authentication:
      type: apikey
      key: Authorization
      value: '{{env.DYNATRACE_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: events-api-v2-events-rest
    port: 8080
    description: REST adapter for Dynatrace Events API v2 — Events. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/events
      name: events
      description: REST surface for events.
      operations:
      - method: GET
        name: listevents
        description: Dynatrace List Events
        call: events-api-v2-events.listevents
        with:
          nextPageKey: rest.nextPageKey
          pageSize: rest.pageSize
          from: rest.from
          to: rest.to
          eventSelector: rest.eventSelector
          entitySelector: rest.entitySelector
          eventType: rest.eventType
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/events/ingest
      name: events-ingest
      description: REST surface for events-ingest.
      operations:
      - method: POST
        name: ingestevent
        description: Dynatrace Ingest a Custom Event
        call: events-api-v2-events.ingestevent
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/events/{eventid}
      name: events-eventid
      description: REST surface for events-eventId.
      operations:
      - method: GET
        name: getevent
        description: Dynatrace Get Event by Id
        call: events-api-v2-events.getevent
        with:
          eventId: rest.eventId
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: events-api-v2-events-mcp
    port: 9090
    transport: http
    description: MCP adapter for Dynatrace Events API v2 — Events. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: dynatrace-list-events
      description: Dynatrace List Events
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: events-api-v2-events.listevents
      with:
        nextPageKey: tools.nextPageKey
        pageSize: tools.pageSize
        from: tools.from
        to: tools.to
        eventSelector: tools.eventSelector
        entitySelector: tools.entitySelector
        eventType: tools.eventType
      outputParameters:
      - type: object
        mapping: $.
    - name: dynatrace-ingest-custom-event
      description: Dynatrace Ingest a Custom Event
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: events-api-v2-events.ingestevent
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: dynatrace-get-event-id
      description: Dynatrace Get Event by Id
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: events-api-v2-events.getevent
      with:
        eventId: tools.eventId
      outputParameters:
      - type: object
        mapping: $.