Dashboards API - POST a dashboard

Creates a new dashboard.

The request consumes and produces an application/json payload.

POSTSaaShttps://{your-environment-id}.live.dynatrace.com/api/config/v1/dashboards
Environment ActiveGatehttps://{your-activegate-domain}:9999/e/{your-environment-id}/api/config/v1/dashboards

Authentication

To execute this request, you need an access token with WriteConfig scope.

To learn how to obtain and use it, see Tokens and authentication.

Parameters

The body must not provide an ID. An ID is assigned automatically by Dynatrace.

Refer to Tile JSON models to find JSON models for each tile type.

Parameter
Type
Description
In
Required
body

The JSON body of the request. Contains parameters of the new dashboard.

body
optional

Request body objects

The Dashboard object

Configuration of a dashboard.

Element
Type
Description
Required
dashboardMetadata

Parameters of a dashboard.

required
id
string

The ID of the dashboard.

optional
metadata

Metadata useful for debugging

optional
tiles

The list of tiles on the dashboard.

required

The DashboardMetadata object

Parameters of a dashboard.

Element
Type
Description
Required
dashboardFilter

Filters, applied to a dashboard.

optional
dynamicFilters

Dashboard filter configuration of a dashboard.

optional
hasConsistentColors
boolean

The tile uses consistent colors when rendering its content.

optional
name
string

The name of the dashboard.

required
owner
string

The owner of the dashboard.

required
preset
boolean

The dashboard is a preset (true) or a custom (false) dashboard.

optional
shared
boolean

The dashboard is shared (true) or private (false).

optional
tags
string[]

A set of tags assigned to the dashboard.

optional
tilesNameSize
string

The general size of the tiles tile. Default value is medium

  • small
  • medium
  • large
optional

The DashboardFilter object

Filters, applied to a dashboard.

Element
Type
Description
Required
managementZone

The short representation of a Dynatrace entity.

optional
timeframe
string

The default timeframe of the dashboard.

optional

The EntityShortRepresentation object

The short representation of a Dynatrace entity.

Element
Type
Description
Required
description
string

A short description of the Dynatrace entity.

optional
id
string

The ID of the Dynatrace entity.

required
name
string

The name of the Dynatrace entity.

optional

The DynamicFilters object

Dashboard filter configuration of a dashboard.

Element
Type
Description
Required
filters
string[]

A set of all possible global dashboard filters that can be applied to a dashboard

Currently supported values are:

OS_TYPE,
SERVICE_TYPE,
DEPLOYMENT_TYPE,
APPLICATION_INJECTION_TYPE,
PAAS_VENDOR_TYPE,
DATABASE_VENDOR,
HOST_VIRTUALIZATION_TYPE,
HOST_MONITORING_MODE,
KUBERNETES_CLUSTER,
RELATED_CLOUD_APPLICATION,
RELATED_NAMESPACE,
SERVICE_TAG_KEY:<tagname>,
HOST_TAG_KEY:<tagname>,
APPLICATION_TAG_KEY:<tagname>,
CUSTOM_DIMENSION:<key>,
PROCESS_GROUP_TAG_KEY:<tagname>,
PROCESS_GROUP_INSTANCE_TAG_KEY:<tagname>
required
genericTagFilters

A set of generic tag filters that can be applied to a dashboard

required

The DashboardGenericTagFilter object

Generic tag filters that can be applied to a dashboard.

Element
Type
Description
Required
displayName
string

The display name used to identify this generic filter.

optional
entityTypes
string[]

Entity types affected by tag.

required
suggestionsFromEntityType
string

The entity type for which the suggestions should be provided.

optional
tagKey
string

The tag key for this filter.

optional

The ConfigurationMetadata object

Metadata useful for debugging

Element
Type
Description
Required
clusterVersion
string

Dynatrace version.

optional
configurationVersions
integer[]

A sorted list of the version numbers of the configuration.

optional
currentConfigurationVersions
string[]

A sorted list of version numbers of the configuration.

optional

The Tile object

Configuration of a tile.

The actual set of fields depends on the type of the tile. Find the list of actual objects in the description of the tileType field or see Dashboards API - Tile JSON models.

Element
Type
Description
Required
bounds

The position and size of a tile.

required
configured
boolean

The tile is configured and ready to use (true) or just placed on the dashboard (false).

optional
isAutoRefreshDisabled
boolean

The tile auto refresh is disabled. Only works for certain tile types.

optional
name
string

The name of the tile.

required
nameSize
string

The size of the tile name. Default value is null.

  • small
  • medium
  • large
optional
tileFilter

A filter applied to a tile.

It overrides dashboard's filter.

optional
tileType
string

Defines the actual set of fields depending on the value. See one of the following objects:

  • DATA_EXPLORER -> DataExplorerTile
  • CUSTOM_CHARTING -> CustomChartingTile
  • DTAQL -> UserSessionQueryTile
  • MARKDOWN -> MarkdownTile
  • IMAGE -> ImageTile
  • HOSTS -> FilterableEntityTile
  • APPLICATIONS -> FilterableEntityTile
  • SERVICES -> FilterableEntityTile
  • DATABASES_OVERVIEW -> FilterableEntityTile
  • SYNTHETIC_TESTS -> FilterableEntityTile
  • APPLICATION_WORLDMAP -> AssignedEntitiesWithMetricTile
  • RESOURCES -> AssignedEntitiesWithMetricTile
  • THIRD_PARTY_MOST_ACTIVE -> AssignedEntitiesWithMetricTile
  • UEM_CONVERSIONS_PER_GOAL -> AssignedEntitiesWithMetricTile
  • HOST -> AssignedEntitiesWithMetricTile
  • PROCESS_GROUPS_ONE -> AssignedEntitiesWithMetricTile
  • SYNTHETIC_SINGLE_WEBCHECK -> SyntheticSingleWebcheckTile
  • APPLICATION -> AssignedEntitiesTile
  • VIRTUALIZATION -> AssignedEntitiesTile
  • AWS -> AssignedEntitiesTile
  • SERVICE_VERSATILE -> AssignedEntitiesTile
  • SESSION_METRICS -> AssignedEntitiesTile
  • USERS -> AssignedEntitiesTile
  • UEM_KEY_USER_ACTIONS -> AssignedEntitiesTile
  • BOUNCE_RATE -> AssignedEntitiesTile
  • UEM_CONVERSIONS_OVERALL -> AssignedEntitiesTile
  • UEM_JSERRORS_OVERALL -> AssignedEntitiesTile
  • MOBILE_APPLICATION -> AssignedEntitiesTile
  • SYNTHETIC_SINGLE_EXT_TEST -> AssignedEntitiesTile
  • SYNTHETIC_HTTP_MONITOR -> AssignedEntitiesTile
  • DATABASE -> AssignedEntitiesTile
  • CUSTOM_APPLICATION -> AssignedEntitiesTile
  • APPLICATION_METHOD -> AssignedEntitiesTile
  • LOG_ANALYTICS -> AssignedEntitiesTile
  • OPENSTACK -> AssignedEntitiesTile
  • OPENSTACK_PROJECT -> AssignedEntitiesTile
  • OPENSTACK_AV_ZONE -> AssignedEntitiesTile
  • DEVICE_APPLICATION_METHOD -> AssignedEntitiesTile
  • DEM_KEY_USER_ACTION -> AssignedEntitiesTile
  • SLO -> AssignedEntitiesWithMetricTile
  • SCALABLE_LIST -> ScalableListTile
  • HEADER -> Tile
  • OPEN_PROBLEMS -> ProblemTile
  • PURE_MODEL -> Tile
  • DOCKER -> Tile
  • NETWORK_MEDIUM -> Tile
  • APPLICATIONS_MOST_ACTIVE -> Tile
  • NETWORK -> Tile
  • UEM_ACTIVE_SESSIONS -> Tile
  • DCRUM_SERVICES -> Tile
  • APPLICATION
  • APPLICATIONS
  • APPLICATIONS_MOST_ACTIVE
  • APPLICATION_METHOD
  • APPLICATION_WORLDMAP
  • AWS
  • BOUNCE_RATE
  • CUSTOM_APPLICATION
  • CUSTOM_CHARTING
  • DATABASE
  • DATABASES_OVERVIEW
  • DATA_EXPLORER
  • DCRUM_SERVICES
  • DEM_KEY_USER_ACTION
  • DEVICE_APPLICATION_METHOD
  • DOCKER
  • DTAQL
  • HEADER
  • HOST
  • HOSTS
  • IMAGE
  • LOG_ANALYTICS
  • MARKDOWN
  • MOBILE_APPLICATION
  • NETWORK
  • NETWORK_MEDIUM
  • OPENSTACK
  • OPENSTACK_AV_ZONE
  • OPENSTACK_PROJECT
  • OPEN_PROBLEMS
  • PROCESS_GROUPS_ONE
  • PURE_MODEL
  • RESOURCES
  • SCALABLE_LIST
  • SERVICES
  • SERVICE_VERSATILE
  • SESSION_METRICS
  • SLO
  • SYNTHETIC_HTTP_MONITOR
  • SYNTHETIC_SINGLE_EXT_TEST
  • SYNTHETIC_SINGLE_WEBCHECK
  • SYNTHETIC_TESTS
  • THIRD_PARTY_MOST_ACTIVE
  • UEM_ACTIVE_SESSIONS
  • UEM_CONVERSIONS_OVERALL
  • UEM_CONVERSIONS_PER_GOAL
  • UEM_JSERRORS_OVERALL
  • UEM_KEY_USER_ACTIONS
  • USERS
  • VIRTUALIZATION
required

The TileBounds object

The position and size of a tile.

Element
Type
Description
Required
height
integer

The height of the tile, in pixels.

optional
left
integer

The horizontal distance from the top left corner of the dashboard to the top left corner of the tile, in pixels.

optional
top
integer

The vertical distance from the top left corner of the dashboard to the top left corner of the tile, in pixels.

optional
width
integer

The width of the tile, in pixels.

optional

The TileFilter object

A filter applied to a tile.

It overrides dashboard's filter.

Element
Type
Description
Required
managementZone

The short representation of a Dynatrace entity.

optional
timeframe
string

The default timeframe of the tile.

optional

Request body JSON model

This is a model of the request body, showing the possible elements. It has to be adjusted for usage in an actual request.

{
"dashboardMetadata": {
"dashboardFilter": {
"managementZone": {
"id": "3438779970106539862",
"name": "Example Management Zone"
},
"timeframe": "l_72_HOURS"
},
"dynamicFilters": {
"filters": [
"SERVICE_TYPE"
]
},
"name": "Example Dashboard",
"owner": "Example Owner",
"shared": true
},
"metadata": {
"clusterVersion": "Mock version",
"configurationVersions": [
4,
2
]
},
"tiles": [
{
"bounds": {
"height": 38,
"left": 0,
"top": 0,
"width": 304
},
"configured": true,
"name": "Hosts",
"tileFilter": {},
"tileType": "HEADER"
},
{
"bounds": {
"height": 38,
"left": 304,
"top": 0,
"width": 304
},
"configured": true,
"name": "Applications",
"tileFilter": {},
"tileType": "HEADER"
},
{
"bounds": {
"height": 304,
"left": 0,
"top": 38,
"width": 304
},
"chartVisible": true,
"configured": true,
"name": "Host health",
"tileFilter": {
"managementZone": {
"id": "3438779970106539862",
"name": "Example Management Zone"
}
},
"tileType": "HOSTS"
},
{
"bounds": {
"height": 304,
"left": 304,
"top": 38,
"width": 304
},
"chartVisible": true,
"configured": true,
"name": "Application health",
"tileFilter": {
"managementZone": {
"id": "3438779970106539862",
"name": "Example Management Zone"
}
},
"tileType": "APPLICATIONS"
}
]
}

Response

Response codes

Code
Type
Description
201

Success. The new dashboard has been created. The response body contains the generated ID.

400

Failed. The input is invalid

Response body objects

The EntityShortRepresentation object

The short representation of a Dynatrace entity.

Element
Type
Description
description
string

A short description of the Dynatrace entity.

id
string

The ID of the Dynatrace entity.

name
string

The name of the Dynatrace entity.

Response body JSON model

{
"description": "Dynatrace entity for the REST API example",
"id": "6a98d7bc-abb9-44f8-ae6a-73e68e71812a",
"name": "Dynatrace entity"
}

Validate payload

We recommend that you validate the payload before submitting it with an actual request. A response code of 204 indicates a valid payload.

The request consumes an application/json payload.

POSTSaaShttps://{your-environment-id}.live.dynatrace.com/api/config/v1/dashboards/validator
Environment ActiveGatehttps://{your-activegate-domain}:9999/e/{your-environment-id}/api/config/v1/dashboards/validator

Authentication

To execute this request, you need an access token with WriteConfig scope.

To learn how to obtain and use it, see Tokens and authentication.

Response

Response codes

Code
Type
Description
204
-

Validated. The submitted dashboard is valid. The response doesn't have a body.

400

Failed. The input is invalid

Example

In this example, the request creates a new dashboard with the REST example name. The dashboard shows data for the Easytravel management zone in the time frame of last 2 hours.

The dashboard contains just one tile—a User Session Query tile that queries for all user actions that, according to their Apdex status, are either tolerating or frustrated.

The API token is passed in the Authorization header.

Since the request body is lengthy, it is truncated in this example Curl section. See the full body in the Request body section. You can download or copy the example request body to try it out on your own. Be sure to replace the ID and name of the Easytravel management zone to a management zone that exists in your environment or set this field to null.

Curl

curl -X POST \
https://mySampleEnv.live.dynatrace.com/api/config/v1/dashboards \
-H 'Authorization: Api-Token dt0c01.abc123.abcdefjhij1234567890' \
-H 'Content-Type: application/json' \
-d '{<truncated - see the Request body section >}'

Request URL

https://mySampleEnv.live.dynatrace.com/api/config/v1/dashboards

Request body

{
"dashboardMetadata": {
"name": "REST example",
"shared": true,
"sharingDetails": {
"linkShared": true,
"published": true
},
"dashboardFilter": {
"timeframe": "l_2_HOURS",
"managementZone": {
"id": "9130632296508575249",
"name": "Easytravel"
}
}
},
"tiles": [
{
"name": "User Sessions Query",
"tileType": "DTAQL",
"configured": true,
"bounds": {
"top": 0,
"left": 0,
"width": 1200,
"height": 450
},
"tileFilter": {
"managementZone": null
},
"customName": "User sessions query results",
"query": "select * FROM useraction where (apdexCategory IS 'TOLERATING' OR apdexCategory IS 'FRUSTRATED')",
"type": "TABLE",
"chartConfig": {
"xAxis": ["apdexCategory"],
"yAxis": ["application"]
}
}
]
}

Response body

{
"id": "7dd386fe-f91d-42e3-a2ec-0c88070933f4",
"name": "REST example"
}

Response code

204

Result

New dashboard