Dynatrace · AsyncAPI Specification
Dynatrace Problem Notifications API
Version 1.0.0
Dynatrace delivers problem lifecycle notifications to client-provided webhook endpoints via HTTP POST. When a problem is opened, updated, merged, or resolved, Dynatrace sends a notification payload to the registered webhook URL. Clients register their webhook endpoints using the Dynatrace Configuration API (POST /api/config/v1/notifications), specifying the URL, optional authentication headers, and payload template. This AsyncAPI document describes the webhook notification channel that clients implement to receive Dynatrace problem events.
View Spec
View on GitHub
AI OperationsAnalyticsAPMApplication Performance MonitoringApplication SecurityAutomationCloud MonitoringDigital Experience ManagementIntelligenceObservabilityAsyncAPIWebhooksEvents
Channels
/webhook/problems
subscribe
receiveProblemNotificationReceive problem notification
Represents the client's webhook endpoint that receives Dynatrace problem notifications. Dynatrace sends an HTTP POST to this channel when a problem is opened, updated, merged, or resolved. The channel operates in a push model: Dynatrace (publisher) pushes events to the client's webhook (subscriber).
/api/config/v1/notifications
publish
registerWebhookNotificationRegister webhook notification configuration
The Dynatrace Configuration API endpoint for managing webhook notification integrations. Clients POST to this channel to register their webhook URL with Dynatrace, specifying which events should trigger notifications and what payload format to use.
Messages
✉
ProblemOpened
Problem Opened
Notification sent when a new problem is detected by Dynatrace Davis AI
✉
ProblemResolved
Problem Resolved
Notification sent when a problem is resolved by Dynatrace Davis AI
✉
ProblemMerged
Problem Merged
Notification sent when two problems are merged into a single problem by Davis AI
✉
NotificationRegistration
Webhook Notification Registration
Configuration payload for registering a webhook notification integration
Servers
https
webhook-endpoint
https://{your-webhook-host}/{your-webhook-path}
The client-provided HTTPS webhook endpoint that receives Dynatrace problem notification POST requests. The URL is configured in Dynatrace under Settings > Integration > Problem notifications.
https
dynatrace-config-api
https://{environmentId}.live.dynatrace.com/api/config/v1
The Dynatrace Configuration API endpoint used to register webhook notification integrations. Clients POST to this server to configure which webhook URL receives problem notifications and what event types trigger notifications.
AsyncAPI Specification
asyncapi: 2.6.0
info:
title: Dynatrace Problem Notifications API
version: 1.0.0
description: >-
Dynatrace delivers problem lifecycle notifications to client-provided
webhook endpoints via HTTP POST. When a problem is opened, updated,
merged, or resolved, Dynatrace sends a notification payload to the
registered webhook URL. Clients register their webhook endpoints using
the Dynatrace Configuration API (POST /api/config/v1/notifications),
specifying the URL, optional authentication headers, and payload
template. This AsyncAPI document describes the webhook notification
channel that clients implement to receive Dynatrace problem events.
contact:
name: Dynatrace Support
url: https://www.dynatrace.com/support/
license:
name: Dynatrace Terms of Service
url: https://www.dynatrace.com/company/trust-center/terms/
externalDocs:
description: Dynatrace Problem Notification Configuration Documentation
url: https://docs.dynatrace.com/docs/deliver-dynatrace-managed/problem-notifications
x-last-validated: '2026-04-18'
defaultContentType: application/json
servers:
webhook-endpoint:
url: https://{your-webhook-host}/{your-webhook-path}
protocol: https
description: >-
The client-provided HTTPS webhook endpoint that receives Dynatrace
problem notification POST requests. The URL is configured in
Dynatrace under Settings > Integration > Problem notifications.
variables:
your-webhook-host:
description: The hostname of the client's webhook receiver
default: webhook.example.com
your-webhook-path:
description: The path at which the webhook receiver accepts requests
default: webhook/dynatrace/problems
dynatrace-config-api:
url: https://{environmentId}.live.dynatrace.com/api/config/v1
protocol: https
description: >-
The Dynatrace Configuration API endpoint used to register webhook
notification integrations. Clients POST to this server to configure
which webhook URL receives problem notifications and what event
types trigger notifications.
variables:
environmentId:
description: The Dynatrace environment ID
default: mySampleEnv
channels:
/webhook/problems:
description: >-
Represents the client's webhook endpoint that receives Dynatrace
problem notifications. Dynatrace sends an HTTP POST to this channel
when a problem is opened, updated, merged, or resolved. The channel
operates in a push model: Dynatrace (publisher) pushes events to the
client's webhook (subscriber).
subscribe:
operationId: receiveProblemNotification
summary: Receive problem notification
description: >-
Receives a problem lifecycle notification from Dynatrace. This
operation is implemented by the client's webhook handler. Dynatrace
triggers this notification when a problem is opened, when a problem
is resolved, or when problems are merged into a single problem.
The payload contains full problem details at the time of the event.
tags:
- name: Problems
- name: Notifications
- name: Webhooks
message:
oneOf:
- $ref: '#/components/messages/ProblemOpened'
- $ref: '#/components/messages/ProblemResolved'
- $ref: '#/components/messages/ProblemMerged'
/api/config/v1/notifications:
description: >-
The Dynatrace Configuration API endpoint for managing webhook
notification integrations. Clients POST to this channel to register
their webhook URL with Dynatrace, specifying which events should
trigger notifications and what payload format to use.
publish:
operationId: registerWebhookNotification
summary: Register webhook notification configuration
description: >-
Creates or updates a webhook notification integration in Dynatrace.
After registering, Dynatrace will deliver problem lifecycle events
to the specified webhook URL. The client specifies the target URL,
optional authentication headers or tokens, and which alerting
profiles (problem filters) should trigger the notification.
tags:
- name: Configuration
- name: Notifications
message:
$ref: '#/components/messages/NotificationRegistration'
components:
messages:
ProblemOpened:
name: ProblemOpened
title: Problem Opened
summary: Notification sent when a new problem is detected by Dynatrace Davis AI
description: >-
Dynatrace sends this notification when the Davis AI engine opens a
new problem. The problem may affect one or more monitored entities
and includes initial root cause analysis, severity assessment, and
the list of affected services or infrastructure.
contentType: application/json
headers:
type: object
properties:
content-type:
type: string
description: Always application/json
enum:
- application/json
x-dynatrace-event:
type: string
description: The event type header set by Dynatrace
enum:
- PROBLEM_OPENED
payload:
$ref: '#/components/schemas/ProblemNotificationPayload'
examples:
- name: ServiceAvailabilityProblem
summary: Example notification for a service availability problem
payload:
ProblemID: P-123456
ProblemTitle: High failure rate on checkout-service
ProblemURL: https://mySampleEnv.live.dynatrace.com/#problems/problemdetail;pid=-1234567890123456789_V2
ProblemSeverity: AVAILABILITY
ProblemStatus: OPEN
ImpactedEntities:
- Entity: SERVICE-ABCDEF1234567890
Name: checkout-service
ImpactedEntityNames: checkout-service
Tags: env:production, team:payments
State: OPEN
ProblemDetailsJSON:
id: -1234567890123456789_V2
title: High failure rate on checkout-service
severityLevel: AVAILABILITY
status: OPEN
startTime: 1609459200000
endTime: -1
affectedEntities:
- entityId: SERVICE-ABCDEF1234567890
name: checkout-service
type: SERVICE
ProblemResolved:
name: ProblemResolved
title: Problem Resolved
summary: Notification sent when a problem is resolved by Dynatrace Davis AI
description: >-
Dynatrace sends this notification when the Davis AI engine detects
that a previously opened problem has been resolved. The payload
includes the resolution timestamp (endTime) and the full problem
details at the time of resolution.
contentType: application/json
headers:
type: object
properties:
content-type:
type: string
enum:
- application/json
x-dynatrace-event:
type: string
enum:
- PROBLEM_RESOLVED
payload:
$ref: '#/components/schemas/ProblemNotificationPayload'
examples:
- name: ServiceAvailabilityProblemResolved
summary: Example notification for a resolved service availability problem
payload:
ProblemID: P-123456
ProblemTitle: High failure rate on checkout-service
ProblemURL: https://mySampleEnv.live.dynatrace.com/#problems/problemdetail;pid=-1234567890123456789_V2
ProblemSeverity: AVAILABILITY
ProblemStatus: RESOLVED
ImpactedEntities:
- Entity: SERVICE-ABCDEF1234567890
Name: checkout-service
ImpactedEntityNames: checkout-service
Tags: env:production, team:payments
State: RESOLVED
ProblemDetailsJSON:
id: -1234567890123456789_V2
title: High failure rate on checkout-service
severityLevel: AVAILABILITY
status: RESOLVED
startTime: 1609459200000
endTime: 1609462800000
affectedEntities:
- entityId: SERVICE-ABCDEF1234567890
name: checkout-service
type: SERVICE
ProblemMerged:
name: ProblemMerged
title: Problem Merged
summary: Notification sent when two problems are merged into a single problem by Davis AI
description: >-
Dynatrace sends this notification when the Davis AI engine determines
that two separate problems share the same root cause and merges them
into a single problem. The payload reflects the merged problem state.
contentType: application/json
headers:
type: object
properties:
content-type:
type: string
enum:
- application/json
x-dynatrace-event:
type: string
enum:
- PROBLEM_MERGED
payload:
$ref: '#/components/schemas/ProblemNotificationPayload'
NotificationRegistration:
name: NotificationRegistration
title: Webhook Notification Registration
summary: Configuration payload for registering a webhook notification integration
description: >-
The configuration object sent to the Dynatrace Configuration API to
register a new webhook notification integration. This defines the
target URL, authentication, and which alerting profiles trigger
the webhook delivery.
contentType: application/json
payload:
$ref: '#/components/schemas/WebhookNotificationConfig'
schemas:
ProblemNotificationPayload:
type: object
description: >-
The webhook notification payload delivered by Dynatrace when a
problem lifecycle event occurs. Contains both summary fields for
quick processing and the full ProblemDetailsJSON for detailed analysis.
properties:
ProblemID:
type: string
description: >-
The human-readable problem identifier displayed in the Dynatrace
UI, e.g., P-123456.
example: P-123456
ProblemTitle:
type: string
description: >-
The title of the problem generated by the Davis AI engine,
describing the nature of the detected anomaly.
example: High failure rate on payment-service
ProblemURL:
type: string
format: uri
description: >-
The full URL to the problem detail page in the Dynatrace UI,
allowing recipients to navigate directly to the problem.
example: https://mySampleEnv.live.dynatrace.com/#problems/problemdetail;pid=-1234567890123456789_V2
ProblemSeverity:
type: string
description: The severity level classification of the problem.
enum:
- AVAILABILITY
- ERROR
- PERFORMANCE
- RESOURCE_CONTENTION
- CUSTOM_ALERT
example: PERFORMANCE
ProblemStatus:
type: string
description: The current lifecycle status of the problem at the time of notification.
enum:
- OPEN
- RESOLVED
example: OPEN
ImpactedEntities:
type: array
description: >-
The list of monitored entities that are experiencing service
degradation as a result of the problem.
items:
$ref: '#/components/schemas/ImpactedEntity'
example:
- Entity: SERVICE-ABCDEF1234567890
Name: payment-service
ImpactedEntityNames:
type: string
description: >-
A comma-separated string of display names for all impacted
entities, for use in simple notification templates.
example: payment-service, checkout-service
Tags:
type: string
description: >-
A comma-separated string of tags applied to the impacted entities,
for use in routing or filtering notification handlers.
example: env:production, team:backend
State:
type: string
description: >-
The state of the problem notification. OPEN for new or ongoing
problems, RESOLVED for resolved problems, MERGED for merged problems.
enum:
- OPEN
- RESOLVED
- MERGED
example: OPEN
ProblemDetailsJSON:
$ref: '#/components/schemas/ProblemDetails'
ImpactedEntity:
type: object
description: A monitored entity that is impacted by the problem.
properties:
Entity:
type: string
description: >-
The Dynatrace entity ID of the impacted entity, in the format
TYPE-HEXADECIMALID, e.g., SERVICE-1234567890ABCDEF.
example: SERVICE-ABCDEF1234567890
Name:
type: string
description: The display name of the impacted entity.
example: payment-service
ProblemDetails:
type: object
description: >-
Full problem details included in the notification payload. Contains
the same data as the Problems API v2 GET response for this problem.
properties:
id:
type: string
description: The internal unique identifier of the problem.
example: -1234567890123456789_V2
title:
type: string
description: The problem title generated by Davis AI.
example: High failure rate on payment-service
severityLevel:
type: string
description: The severity level of the problem.
enum:
- AVAILABILITY
- ERROR
- PERFORMANCE
- RESOURCE_CONTENTION
- CUSTOM_ALERT
example: AVAILABILITY
status:
type: string
description: The current status of the problem.
enum:
- OPEN
- RESOLVED
example: OPEN
startTime:
type: integer
format: int64
description: The Unix timestamp in milliseconds when the problem started.
example: 1609459200000
endTime:
type: integer
format: int64
description: >-
The Unix timestamp in milliseconds when the problem ended.
Returns -1 if the problem is still open.
example: -1
affectedEntities:
type: array
description: The list of entities directly affected by the problem.
items:
$ref: '#/components/schemas/EntityRef'
example:
- entityId: SERVICE-ABCDEF1234567890
name: payment-service
type: SERVICE
EntityRef:
type: object
description: A reference to a monitored entity in problem details.
properties:
entityId:
type: string
description: The unique Dynatrace entity ID.
example: SERVICE-ABCDEF1234567890
name:
type: string
description: The display name of the entity.
example: payment-service
type:
type: string
description: The entity type, e.g., SERVICE, HOST, PROCESS_GROUP.
example: SERVICE
WebhookNotificationConfig:
type: object
description: >-
Configuration for a webhook notification integration in Dynatrace.
Posted to POST /api/config/v1/notifications to register the webhook.
required:
- type
- name
- active
- url
- alertingProfile
properties:
type:
type: string
description: The notification type. Must be WEBHOOK for webhook integrations.
enum:
- WEBHOOK
example: WEBHOOK
name:
type: string
description: A display name for this notification configuration.
example: My Problem Webhook
active:
type: boolean
description: Whether this notification integration is active.
example: true
url:
type: string
format: uri
description: >-
The HTTPS URL of the webhook endpoint that will receive
problem notifications.
example: https://webhook.example.com/webhook/dynatrace/problems
alertingProfile:
type: string
description: >-
The ID of the alerting profile (problem filter) that controls
which problems trigger this notification.
example: alerting-profile-uuid
headers:
type: array
description: >-
Optional HTTP headers to include in the webhook request, such
as authorization headers or content-type overrides.
items:
$ref: '#/components/schemas/WebhookHeader'
example:
- name: Authorization
value: Bearer my-secret-token
acceptAnyCertificate:
type: boolean
description: >-
Whether to accept any TLS certificate from the webhook endpoint.
Should be false in production environments.
example: false
payload:
type: string
description: >-
The custom payload template using Dynatrace placeholder variables
such as {ProblemID}, {ProblemTitle}, {State}. If not specified,
Dynatrace uses the default JSON payload format.
example: example-value
WebhookHeader:
type: object
description: An HTTP header to include in webhook notification requests.
required:
- name
- value
properties:
name:
type: string
description: The HTTP header name.
example: Authorization
value:
type: string
description: The HTTP header value.
example: Bearer my-secret-token