openapi: 3.1.0
info:
title: Dynatrace Problems API v2
version: 2.0.0
description: >-
The Dynatrace Problems API v2 allows you to query and manage detected
problems within a Dynatrace environment. Problems represent degradations in
service quality detected by the Dynatrace AI (Davis). The API provides
endpoints for listing open and closed problems, retrieving detailed problem
information including root cause analysis, closing problems programmatically,
and managing problem comments for collaboration.
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/
x-last-validated: '2026-04-18'
externalDocs:
description: Dynatrace Problems API v2 Documentation
url: https://docs.dynatrace.com/docs/discover-dynatrace/references/dynatrace-api/environment-api/problems-v2
servers:
- url: https://{environmentId}.live.dynatrace.com/api/v2
description: Dynatrace SaaS environment
variables:
environmentId:
description: The unique identifier of your Dynatrace environment
default: mySampleEnv
tags:
- name: Problems
description: Operations for querying and managing detected problems
security:
- api-token: []
paths:
/problems:
get:
operationId: listProblems
summary: Dynatrace List Problems
description: >-
Returns a list of problems from the Dynatrace environment. You can
filter problems by problem selector, entity selector, time range, and
other criteria. Results are paginated. By default, returns problems from
the last two hours.
tags:
- Problems
parameters:
- name: nextPageKey
in: query
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 except pageSize are ignored.
required: false
schema:
type: string
example: example-value
- name: pageSize
in: query
description: >-
The number of problems to return per page. Default is 50, maximum
is 500.
required: false
schema:
type: integer
minimum: 1
maximum: 500
default: 50
example: 500
- name: problemSelector
in: query
description: >-
Defines the scope of the query using the problem selector syntax.
Allows filtering by status, severity, management zone, and other
problem properties. For example, status(OPEN),severityLevel(AVAILABILITY).
required: false
schema:
type: string
example: type(SERVICE)
- name: entitySelector
in: query
description: >-
Filters results to problems affecting entities matching this
selector. Use the entity selector syntax, e.g., type(SERVICE),
tag(production). Problems are returned if any affected or impacted
entity matches.
required: false
schema:
type: string
example: type(SERVICE)
- name: from
in: query
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.
required: false
schema:
type: string
example: example-value
- name: to
in: query
description: >-
The end of the queried time range. Use a relative expression (now),
ISO 8601 timestamp, or Unix timestamp in milliseconds. Default is
now.
required: false
schema:
type: string
example: example-value
- name: sort
in: query
description: >-
Defines the sort order of the results. Use field name prefixed with
+ for ascending or - for descending. For example, -startTime sorts
by start time descending (newest first).
required: false
schema:
type: string
example: example-value
- name: fields
in: query
description: >-
Defines additional fields to include in the response beyond the
default set. Use a comma-separated list. For example,
+evidenceDetails,+impactAnalysis to include evidence and impact data.
required: false
schema:
type: string
example: example-value
responses:
'200':
description: A paginated list of problems
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemCollection'
examples:
ListProblems200Example:
summary: Default listProblems 200 response
x-microcks-default: true
value:
nextPageKey: example-value
totalCount: 500
pageSize: 500
problems: &id005
- problemId: abc123
displayId: abc123
title: example-value
severityLevel: AVAILABILITY
status: OPEN
startTime: 1718153645993
endTime: 1718153645993
affectedEntities: &id001
- entityId: abc123
name: Production Service
type: STANDARD
impactedEntities: &id002
- entityId: abc123
name: Production Service
type: STANDARD
rootCauseEntity: example-value
managementZones: &id003
- id: abc123
name: Production Service
problemFilters: &id004
- id: abc123
name: Production Service
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/problems/{problemId}:
get:
operationId: getProblem
summary: Dynatrace Get Problem Details
description: >-
Returns the full details of a specific problem, including its severity,
affected and impacted entities, root cause analysis, evidence, and
management zone assignments. The problem ID is available from the list
problems endpoint.
tags:
- Problems
parameters:
- $ref: '#/components/parameters/problemId'
example: example
- name: fields
in: query
description: >-
Defines additional fields to include in the response. Use a
comma-separated list prefixed with +, e.g., +evidenceDetails.
required: false
schema:
type: string
example: example-value
responses:
'200':
description: The problem details
content:
application/json:
schema:
$ref: '#/components/schemas/Problem'
examples:
GetProblem200Example:
summary: Default getProblem 200 response
x-microcks-default: true
value:
problemId: abc123
displayId: abc123
title: example-value
severityLevel: AVAILABILITY
status: OPEN
startTime: 1718153645993
endTime: 1718153645993
affectedEntities: *id001
impactedEntities: *id002
rootCauseEntity: example-value
managementZones: *id003
problemFilters: *id004
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/problems/{problemId}/close:
post:
operationId: closeProblem
summary: Dynatrace Close Problem
description: >-
Closes the specified problem and optionally attaches a closing message
explaining the reason for closure. Only problems that are currently
OPEN can be closed. Closing a problem will trigger any configured
notifications for problem resolution.
tags:
- Problems
parameters:
- $ref: '#/components/parameters/problemId'
example: example
requestBody:
description: Optional message to attach when closing the problem
required: false
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemCloseRequest'
examples:
CloseProblemRequestExample:
summary: Default closeProblem request
x-microcks-default: true
value:
message: Example description.
responses:
'200':
description: The problem was successfully closed
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemCloseResult'
examples:
CloseProblem200Example:
summary: Default closeProblem 200 response
x-microcks-default: true
value:
problemId: abc123
closing: true
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/problems/{problemId}/comments:
get:
operationId: listProblemComments
summary: Dynatrace List Comments on a Problem
description: >-
Returns a list of all comments attached to the specified problem.
Comments are used for collaboration and tracking investigation notes
or actions taken.
tags:
- Problems
parameters:
- $ref: '#/components/parameters/problemId'
example: example
- name: nextPageKey
in: query
description: Cursor for the next page of results.
required: false
schema:
type: string
example: example-value
- name: pageSize
in: query
description: The number of comments to return per page. Default is 50.
required: false
schema:
type: integer
minimum: 1
maximum: 200
default: 50
example: 500
responses:
'200':
description: A list of comments on the problem
content:
application/json:
schema:
$ref: '#/components/schemas/CommentCollection'
examples:
ListProblemComments200Example:
summary: Default listProblemComments 200 response
x-microcks-default: true
value:
nextPageKey: example-value
totalCount: 500
comments: &id006
- id: abc123
createdAtTimestamp: 1718153645993
authorName: Production Service
content: example-value
context: example-value
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
post:
operationId: createProblemComment
summary: Dynatrace Add Comment to Problem
description: >-
Creates a new comment on the specified problem. Comments can include
a context field to categorize or reference external systems. Useful
for attaching remediation notes, ticket references, or investigation
findings.
tags:
- Problems
parameters:
- $ref: '#/components/parameters/problemId'
example: example
requestBody:
description: The comment to add to the problem
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CommentRequestBody'
examples:
CreateProblemCommentRequestExample:
summary: Default createProblemComment request
x-microcks-default: true
value:
message: Example description.
context: example-value
responses:
'201':
description: The comment was successfully created
content:
application/json:
schema:
$ref: '#/components/schemas/Comment'
examples:
CreateProblemComment201Example:
summary: Default createProblemComment 201 response
x-microcks-default: true
value:
id: abc123
createdAtTimestamp: 1718153645993
authorName: Production Service
content: example-value
context: example-value
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/problems/{problemId}/comments/{commentId}:
get:
operationId: getProblemComment
summary: Dynatrace Get Comment
description: >-
Returns the details of a specific comment on a problem, identified by
both the problem ID and the comment ID.
tags:
- Problems
parameters:
- $ref: '#/components/parameters/problemId'
example: example
- $ref: '#/components/parameters/commentId'
example: example
responses:
'200':
description: The comment details
content:
application/json:
schema:
$ref: '#/components/schemas/Comment'
examples:
GetProblemComment200Example:
summary: Default getProblemComment 200 response
x-microcks-default: true
value:
id: abc123
createdAtTimestamp: 1718153645993
authorName: Production Service
content: example-value
context: example-value
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
put:
operationId: updateProblemComment
summary: Dynatrace Update Comment
description: >-
Updates the content or context of an existing comment on a problem.
Only the comment author or an administrator can update a comment.
tags:
- Problems
parameters:
- $ref: '#/components/parameters/problemId'
example: example
- $ref: '#/components/parameters/commentId'
example: example
requestBody:
description: The updated comment content
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CommentRequestBody'
examples:
UpdateProblemCommentRequestExample:
summary: Default updateProblemComment request
x-microcks-default: true
value:
message: Example description.
context: example-value
responses:
'200':
description: The comment was successfully updated
content:
application/json:
schema:
$ref: '#/components/schemas/Comment'
examples:
UpdateProblemComment200Example:
summary: Default updateProblemComment 200 response
x-microcks-default: true
value:
id: abc123
createdAtTimestamp: 1718153645993
authorName: Production Service
content: example-value
context: example-value
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
delete:
operationId: deleteProblemComment
summary: Dynatrace Delete Comment
description: >-
Permanently deletes a specific comment from a problem. This action
cannot be undone. Only the comment author or an administrator can
delete a comment.
tags:
- Problems
parameters:
- $ref: '#/components/parameters/problemId'
example: example
- $ref: '#/components/parameters/commentId'
example: example
responses:
'204':
description: The comment was successfully deleted
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
components:
securitySchemes:
api-token:
type: apiKey
in: header
name: Authorization
description: >-
Dynatrace API token. Use the format: Api-Token {your-token}
Required scopes: problems.read (for GET operations), problems.write (for POST/PUT/DELETE)
parameters:
problemId:
name: problemId
in: path
description: >-
The unique identifier of the problem. Obtained from the list problems
endpoint or from problem notification callbacks.
required: true
schema:
type: string
commentId:
name: commentId
in: path
description: The unique identifier of the comment.
required: true
schema:
type: string
responses:
BadRequest:
description: Bad request — invalid query parameters or request body
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorEnvelope'
Unauthorized:
description: Unauthorized — missing or invalid API token
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorEnvelope'
Forbidden:
description: Forbidden — the API token lacks the required scope
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorEnvelope'
NotFound:
description: Not found — the specified problem or comment does not exist
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorEnvelope'
schemas:
Problem:
type: object
description: >-
Represents a Dynatrace-detected problem, which is an aggregated
set of related events indicating a service degradation. Problems are
detected and correlated by the Davis AI engine.
properties:
problemId:
type: string
description: >-
The internal unique identifier of the problem, e.g.,
-1234567890123456789_V2.
example: abc123
displayId:
type: string
description: >-
The human-readable problem identifier displayed in the Dynatrace
UI, e.g., P-123456.
example: abc123
title:
type: string
description: >-
The title summarizing the nature of the problem, generated by the
Davis AI.
example: example-value
severityLevel:
type: string
description: >-
The severity classification of the problem, indicating the type
of impact.
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 was first detected.
example: 1718153645993
endTime:
type: integer
format: int64
description: >-
The Unix timestamp in milliseconds when the problem was resolved.
Returns -1 if the problem is still open.
example: 1718153645993
affectedEntities:
type: array
description: >-
The list of entities directly affected by the problem. These are
the entities where the anomaly was first detected.
items:
$ref: '#/components/schemas/EntityStub'
example: *id001
impactedEntities:
type: array
description: >-
The list of entities experiencing degradation as a result of the
problem, including downstream dependencies.
items:
$ref: '#/components/schemas/EntityStub'
example: *id002
rootCauseEntity:
description: >-
The entity identified by Davis AI as the root cause of the problem.
Null if the root cause could not be determined.
nullable: true
oneOf:
- $ref: '#/components/schemas/EntityStub'
example: example-value
managementZones:
type: array
description: >-
The management zones that contain the affected entities, used for
access control and scoping.
items:
$ref: '#/components/schemas/ManagementZone'
example: *id003
problemFilters:
type: array
description: >-
The alerting profiles (problem filters) that match this problem
and control notification routing.
items:
$ref: '#/components/schemas/AlertingProfileStub'
example: *id004
ProblemCollection:
type: object
description: A paginated collection of problems.
properties:
nextPageKey:
type: string
description: Cursor for the next page of results. Null if no more pages.
nullable: true
example: example-value
totalCount:
type: integer
format: int64
description: The total number of problems matching the query.
example: 500
pageSize:
type: integer
description: The number of results returned on this page.
example: 500
problems:
type: array
description: The list of problems on this page.
items:
$ref: '#/components/schemas/Problem'
example: *id005
ProblemCloseRequest:
type: object
description: Request body for closing a problem.
properties:
message:
type: string
description: >-
An optional message explaining why the problem is being closed.
This is stored as a closing comment on the problem.
example: Example description.
ProblemCloseResult:
type: object
description: The result returned after closing a problem.
properties:
problemId:
type: string
description: The ID of the closed problem.
example: abc123
closing:
type: boolean
description: >-
Whether the problem is in the process of closing. The problem
may take a short time to fully transition to RESOLVED status.
example: true
CommentRequestBody:
type: object
description: The request body for creating or updating a problem comment.
required:
- message
properties:
message:
type: string
description: The text content of the comment.
example: Example description.
context:
type: string
description: >-
An optional context reference for the comment, such as a ticket
ID, a link to a runbook, or a category label.
example: example-value
Comment:
type: object
description: A single comment attached to a problem.
properties:
id:
type: string
description: The unique identifier of the comment.
example: abc123
createdAtTimestamp:
type: integer
format: int64
description: The Unix timestamp in milliseconds when the comment was created.
example: 1718153645993
authorName:
type: string
description: The display name of the user who created the comment.
example: Production Service
content:
type: string
description: The text content of the comment.
example: example-value
context:
type: string
description: Optional context reference attached to the comment.
example: example-value
CommentCollection:
type: object
description: A paginated collection of problem comments.
properties:
nextPageKey:
type: string
description: Cursor for the next page of results.
nullable: true
example: example-value
totalCount:
type: integer
format: int64
description: The total number of comments.
example: 500
comments:
type: array
description: The list of comments on this page.
items:
$ref: '#/components/schemas/Comment'
example: *id006
EntityStub:
type: object
description: A lightweight reference to a monitored entity.
properties:
entityId:
type: string
description: >-
The unique identifier of the entity, e.g.,
SERVICE-1234567890ABCDEF.
example: abc123
name:
type: string
description: The display name of the entity.
example: Production Service
type:
type: string
description: >-
The type of the entity, e.g., SERVICE, HOST, PROCESS_GROUP,
APPLICATION.
example: STANDARD
ManagementZone:
type: object
description: A management zone reference.
properties:
id:
type: string
description: The unique identifier of the management zone.
example: abc123
name:
type: string
description: The display name of the management zone.
example: Production Service
AlertingProfileStub:
type: object
description: A reference to an alerting profile (problem filter).
properties:
id:
type: string
description: The unique identifier of the alerting profile.
example: abc123
name:
type: string
description: The display name of the alerting profile.
example: Production Service
ErrorEnvelope:
type: object
description: Error response envelope returned when a request fails.
properties:
error:
$ref: '#/components/schemas/Error'
Error:
type: object
description: Details of an API error.
properties:
code:
type: integer
description: The HTTP status code of the error.
example: 500
message:
type: string
description: A human-readable description of the error.
example: Example description.
constraintViolations:
type: array
description: A list of constraint violations for validation errors (HTTP 400).
items:
$ref: '#/components/schemas/ConstraintViolation'
example:
- path: example-value
message: Example description.
parameterLocation: example-value
location: example-value
ConstraintViolation:
type: object
description: Details of a single constraint violation in a request.
properties:
path:
type: string
description: The JSON path to the field that caused the violation.
example: example-value
message:
type: string
description: A description of the constraint violation.
example: Example description.
parameterLocation:
type: string
description: The location of the violating parameter (QUERY, PATH, BODY).
example: example-value
location:
type: string
description: The location detail for the violation.
example: example-value