Datadog
App · Monitoring · 20 actions
Post events, submit and query metrics, report service checks, and manage monitors, downtimes and host tags in Datadog.
Actions
| Action | What it does |
|---|---|
| Add host tags | Add tags to a host. |
| Cancel a downtime | End a downtime now, so its monitors alert again. |
| Create a monitor | Create a Datadog monitor that alerts when a query crosses a threshold. |
| Delete a monitor | Delete a monitor. |
| Get a monitor | Fetch one monitor, including its current state. |
| Get an event | Fetch one event by the ID 'Post an event' returned. |
| Get host tags | The tags on a host. |
| Get metric details | A metric's type, unit and description. |
| List active metrics | The names of metrics that have reported since a time. |
| List dashboards | List your custom and cloned dashboards. |
| List downtimes | List downtimes. |
| List hosts | List the hosts reporting to Datadog. |
| List monitors | List monitors a page at a time, optionally filtered. |
| Post an event | Post an event to your Datadog event stream, for example a deploy notice or an alert from a workflow. |
| Query metrics | Read metric values over a time range with a Datadog metric query. |
| Schedule a downtime | Silence a monitor, or every monitor with some tags, for a while - for example during a deploy. |
| Search events | Search the event stream, newest first by default. |
| Submit a metric | Send one value for a custom metric, for example the number of orders processed. |
| Submit a service check | Report whether something is up: OK, Warning, Critical or Unknown for a named check on a host. |
| Update a monitor | Change a monitor. |
Add host tags
Add tags to a host. Tags it already has are kept; adding one it already has changes nothing.
Inputs
- Host
host_nametextRequired - The host's name, as 'List hosts' shows it.
- Tags
tagslistRequired - The tags to add, for example role:web.
- Source
sourcetext - Which source the tags belong to. Defaults to user.
Outputs
hosttexttagslist
Example output
{
"host": "web-1",
"tags": [
"role:web"
]
}Cancel a downtime
End a downtime now, so its monitors alert again.
Inputs
- Downtime ID
downtime_idtextRequired - The 'id' from 'Schedule a downtime' or 'List downtimes', or the downtime's Datadog link.
Outputs
canceledtrue/falsedowntime_idtext
Example output
{
"canceled": true,
"downtime_id": "00e000000-0000-1234-0000-000000000000"
}Create a monitor
Create a Datadog monitor that alerts when a query crosses a threshold.
Inputs
- Name
nametextRequired - The monitor's name, for example High CPU on web hosts.
- Monitor type
monitor_typetextRequired - What the monitor watches. It must match the query.One of:
query alert(Metric (query alert)),metric alert(Metric (metric alert)),service check,event-v2 alert(Event),composite,log alert(Logs (needs Log Management)),process alert(Process),rum alert(RUM),trace-analytics alert(APM trace analytics),slo alert(SLO), and 11 more. - Query
querytextRequired - The monitor query, threshold included, for example avg(last_5m):avg:system.cpu.user{role:web} > 90.
- Notification message
messagetext - What the alert says. Mention people or channels with @-handles, for example @slack-ops or @jane@example.com.
- Tags
tagslist - Tags for the monitor itself, for example team:payments.
- Priority
prioritytext - How urgent the monitor is, P1 being the highest.One of:
1(P1 (highest)),2(P2),3(P3),4(P4),5(P5 (lowest)). - Critical threshold
critical_thresholdnumber - The value that triggers an alert. It must match the threshold in the query, for example 90 for 'avg(last_5m):... > 90'.
- Warning threshold
warning_thresholdnumber - The value that triggers a warning, before the alert.
- Critical recovery threshold
critical_recovery_thresholdnumber - The value the metric must get back past to recover.
- Warning recovery threshold
warning_recovery_thresholdnumber - The value that clears a warning.
- Notify when data stops
notify_no_datatrue/false - Alert when the monitored data stops arriving.
- No-data window (minutes)
no_data_timeframenumber - How many minutes without data before that alert fires.At least 1.
- Re-notify every (minutes)
renotify_intervalnumber - Send the alert again every this many minutes while it is unresolved. 0 or blank never re-notifies.At least 0.
- Evaluation delay (seconds)
evaluation_delaynumber - Wait this many seconds before evaluating, for metrics that arrive late (such as cloud integrations).At least 0.
- Require a full window of data
require_full_windowtrue/false - Only evaluate once the whole time window has data.
- Include tags in the title
include_tagstrue/false - Put the triggering tags in the notification title.
- When data is missing
on_missing_datatext - What the monitor does when data stops arriving.One of:
default(Default for this monitor type),show_no_data(Show NO DATA),show_and_notify_no_data(Show NO DATA and notify),resolve(Resolve the alert). - Notification content
notification_preset_nametext - How much of the query and handles the notification shows.One of:
show_all(Show everything),hide_query(Hide the query),hide_handles(Hide the @-handles),hide_all(Hide the query and handles),hide_query_and_handles(Hide the query and handles (keep the rest)),show_only_snapshot(Show only the graph snapshot),hide_handles_and_footer(Hide the handles and footer). - Other options
extra_optionsobject - Any other Datadog monitor option, as JSON, for example {"new_group_delay": 60}. A setting may be given here or in its own field, not both.
Outputs
createdtextcreatorobjectidnumbermatching_downtimeslistmessagetextmodifiedtextmultitrue/falsenametextoptionsobjectoverall_statetextprioritynumberquerytextrestricted_rolesliststateobjecttagslisttypetext
Example output
{
"created": "2026-09-21T10:00:00.000000+00:00",
"creator": {
"email": "jane@example.com",
"handle": "jane@example.com",
"name": "Jane"
},
"id": 12345678,
"message": "CPU is high on {{host.name}}. @slack-ops",
"modified": "2026-09-21T10:00:00.000000+00:00",
"multi": false,
"name": "High CPU on web hosts",
"options": {
"include_tags": true,
"notify_no_data": false,
"thresholds": {
"critical": 90,
"warning": 80
}
},
"overall_state": "OK",
"priority": 2,
"query": "avg(last_5m):avg:system.cpu.user{role:web} > 90",
"restricted_roles": null,
"tags": [
"team:platform"
],
"type": "query alert"
}Delete a monitor
Delete a monitor. Datadog refuses if an SLO or composite monitor uses it, unless you turn on 'Delete even if in use'.
Inputs
- Monitor ID
monitor_idtextRequired - The monitor to delete: its ID or Datadog address.
- Delete even if in use
forcetrue/false - Delete it even when an SLO or composite monitor depends on it.
Outputs
deletedtrue/falsedeleted_monitor_idnumber
Example output
{
"deleted": true,
"deleted_monitor_id": 12345678
}Get a monitor
Fetch one monitor, including its current state.
Inputs
- Monitor ID
monitor_idtextRequired - The monitor's ID, or its Datadog address (https://app.datadoghq.com/monitors/12345678).
- Include groups in state
group_statestext - Also return the monitor's groups in these states.One or more of:
all,alert,warn,no data. - Include downtimes
with_downtimestrue/false - Also return the downtimes silencing this monitor.
Outputs
createdtextcreatorobjectidnumbermatching_downtimeslistmessagetextmodifiedtextmultitrue/falsenametextoptionsobjectoverall_statetextprioritynumberquerytextrestricted_rolesliststateobjecttagslisttypetext
Example output
{
"created": "2026-09-21T10:00:00.000000+00:00",
"creator": {
"email": "jane@example.com",
"handle": "jane@example.com",
"name": "Jane"
},
"id": 12345678,
"message": "CPU is high on {{host.name}}. @slack-ops",
"modified": "2026-09-21T10:00:00.000000+00:00",
"multi": false,
"name": "High CPU on web hosts",
"options": {
"include_tags": true,
"notify_no_data": false,
"thresholds": {
"critical": 90,
"warning": 80
}
},
"overall_state": "OK",
"priority": 2,
"query": "avg(last_5m):avg:system.cpu.user{role:web} > 90",
"restricted_roles": null,
"tags": [
"team:platform"
],
"type": "query alert"
}Get an event
Fetch one event by the ID 'Post an event' returned. A newly posted event can take a few seconds to become readable.
Inputs
- Event ID
event_idtextRequired - The event's ID, or its Datadog link. Use the 'id' from 'Post an event'.
Outputs
alert_typetextdate_happenednumberdevice_nametexthosttextidtextid_strtextpayloadtextprioritytextsource_type_nametexttagslisttexttexttitletexturltext
Example output
{
"alert_type": "success",
"date_happened": 1789900000,
"device_name": null,
"host": "web-1",
"id": "7433012345678901234",
"id_str": "7433012345678901234",
"payload": "{}",
"priority": "normal",
"source_type_name": "my_apps",
"tags": [
"env:prod",
"service:web"
],
"text": "Version 1.4.0 deployed to production.",
"title": "Deploy finished",
"url": "https://app.datadoghq.com/event/event?id=7433012345678901234"
}Get host tags
The tags on a host.
Inputs
- Host
host_nametextRequired - The host's name, as 'List hosts' shows it.
- Source
sourcetext - Only tags from this source, for example users or datadog. Blank returns every tag.
Outputs
hosttexttagslist
Example output
{
"host": "web-1",
"tags": [
"env:prod",
"role:web"
]
}Get metric details
A metric's type, unit and description.
Inputs
- Metric name
metric_nametextRequired - The metric, for example system.cpu.user.
Outputs
descriptiontextintegrationtextmetric_nametextper_unittextshort_nametextstatsd_intervalnumbertypetextunittext
Example output
{
"description": "Percent of time the CPU spent running user space processes.",
"integration": "system",
"metric_name": "system.cpu.user",
"per_unit": null,
"short_name": "cpu user",
"statsd_interval": null,
"type": "gauge",
"unit": "percent"
}List active metrics
The names of metrics that have reported since a time.
Inputs
- Since
fromdate and time - Metrics reporting since this time. Defaults to an hour ago.
- Host
hosttext - Only metrics from this host.
- Tag filter
tag_filtertext - Only metrics with these tags, for example env:prod. Cannot be combined with Host.
Outputs
countnumberfromtextmetricslist
Example output
{
"count": 2,
"from": "1789896400",
"metrics": [
"system.cpu.user",
"system.load.1"
]
}List dashboards
List your custom and cloned dashboards. Datadog's built-in dashboards are not included.
Inputs
- Shared only
shared_onlytrue/false - Only dashboards shared outside your organization.
- Limit
limitnumber - How many to return, up to 1000. Defaults to 100.From 1 to 1000.
- Offset
offsetnumber - How many to skip, for the next page. Use the 'next_offset' the previous run returned.At least 0.
Outputs
countnumberdashboardslisthas_moretrue/falsenext_offsetnumberoffsetnumber
Example output
{
"count": 1,
"dashboards": [
{
"author_handle": "jane@example.com",
"created_at": "2026-09-01T09:00:00.000000+00:00",
"description": "Service health at a glance.",
"id": "abc-def-ghi",
"layout_type": "ordered",
"modified_at": "2026-09-20T09:00:00.000000+00:00",
"title": "Web service overview",
"url": "/dashboard/abc-def-ghi/web-service-overview"
}
],
"has_more": false,
"next_offset": null,
"offset": 0
}List downtimes
List downtimes. Canceled ones stay listed for about two days before Datadog removes them.
Inputs
- Active only
current_onlytrue/false - Only downtimes silencing something right now.
- Limit
limitnumber - How many to return, up to 100. Defaults to 30.From 1 to 100.
- Offset
offsetnumber - How many to skip, for the next page. Use the 'next_offset' the previous run returned.At least 0.
Outputs
countnumberdowntimeslisthas_moretrue/falsenext_offsetnumberoffsetnumbertotalnumber
Example output
{
"count": 1,
"downtimes": [
{
"canceled": null,
"created": "2026-09-21T10:00:00.000Z",
"display_timezone": "UTC",
"id": "00e000000-0000-1234-0000-000000000000",
"message": "Silenced for the deploy.",
"modified": "2026-09-21T10:00:00.000Z",
"monitor_identifier": {
"monitor_id": 12345678
},
"mute_first_recovery_notification": false,
"notify_end_states": [
"alert",
"no data",
"warn"
],
"notify_end_types": [
"expired"
],
"relationships": {
"created_by": {
"data": {
"id": "user-uuid",
"type": "users"
}
},
"monitor": {
"data": {
"id": "12345678",
"type": "monitors"
}
}
},
"schedule": {
"end": "2026-09-21T11:00:00Z",
"start": "2026-09-21T10:00:00Z"
},
"scope": "env:prod",
"status": "active",
"type": "downtime"
}
],
"has_more": false,
"next_offset": null,
"offset": 0,
"total": 1
}List hosts
List the hosts reporting to Datadog. By default, hosts seen in the last 3 hours.
Inputs
- Search
filtertext - Only hosts matching this name, alias or tag, for example env:prod.
- Seen since
fromdate and time - Only hosts that reported since this time.
- Include mute details
include_muted_hosts_datatrue/false - Include whether each host is muted, and until when.
- Include host details
include_hosts_metadatatrue/false - Include agent version, platform and processor details.
- Limit
limitnumber - How many to return, up to 1000. Defaults to 100.From 1 to 1000.
- Offset
offsetnumber - How many to skip, for the next page. Use the 'next_offset' the previous run returned.At least 0.
Outputs
countnumberhas_moretrue/falsehostslistnext_offsetnumberoffsetnumbertotal_matchingnumber
Example output
{
"count": 1,
"has_more": false,
"hosts": [
{
"aliases": [
"web-1"
],
"apps": [
"agent",
"nginx"
],
"host_name": "web-1",
"id": 1234567890,
"is_muted": false,
"last_reported_time": 1789900000,
"name": "web-1",
"sources": [
"agent"
],
"tags_by_source": {
"Datadog": [
"host:web-1"
]
},
"up": true
}
],
"next_offset": null,
"offset": 0,
"total_matching": 1
}List monitors
List monitors a page at a time, optionally filtered.
Inputs
- Name contains
nametext - Only monitors whose name contains this text.
- Monitor tags
monitor_tagslist - Only monitors tagged with all of these, for example team:payments.
- Scope tags
tagslist - Only monitors whose query scope includes these tags, for example host:web-1.
- Include groups in state
group_statestext - Also return each monitor's groups in these states.One or more of:
all,alert,warn,no data. - Page
pagenumber - Which page, starting at 0. Use 'next_page' for the next.At least 0.
- Page size
page_sizenumber - Monitors per page, up to 1000. Defaults to 100.From 1 to 1000.
Outputs
countnumberhas_moretrue/falsemonitorslistnext_pagenumberpagenumberpage_sizenumber
Example output
{
"count": 1,
"has_more": false,
"monitors": [
{
"created": "2026-09-21T10:00:00.000000+00:00",
"creator": {
"email": "jane@example.com",
"handle": "jane@example.com",
"name": "Jane"
},
"id": 12345678,
"message": "CPU is high on {{host.name}}. @slack-ops",
"modified": "2026-09-21T10:00:00.000000+00:00",
"multi": false,
"name": "High CPU on web hosts",
"options": {
"include_tags": true,
"notify_no_data": false,
"thresholds": {
"critical": 90,
"warning": 80
}
},
"overall_state": "OK",
"priority": 2,
"query": "avg(last_5m):avg:system.cpu.user{role:web} > 90",
"restricted_roles": null,
"tags": [
"team:platform"
],
"type": "query alert"
}
],
"next_page": null,
"page": 0,
"page_size": 100
}Post an event
Post an event to your Datadog event stream, for example a deploy notice or an alert from a workflow. Returns the event's ID as text, because it is too large a number to hold exactly otherwise.
Inputs
- Title
titletextRequired - The event title, for example, Deploy finished.
- Message
texttextRequired - The event body, up to 4000 characters. Supports Datadog message markdown.
- Alert type
alert_typetext - How the event is categorized in the stream.One of:
info,success,warning,error. - Priority
prioritytext - The event priority.One of:
normal,low. - Tags
tagslist - Tags to attach, each in key:value form, for example env:prod.
- Host
hosttext - The host name the event is about, if any.
- Aggregation key
aggregation_keytext - Events with the same key (up to 100 characters) are grouped together in the stream.
- Source type
source_type_nametext - The kind of source that sent it, for example my_apps.
- When it happened
date_happeneddate and time - When the event happened. Leave blank for now. Datadog accepts events up to 18 hours old.
Outputs
alert_typetextdate_happenednumberhosttextidtextprioritytextstatustexttagslisttexttexttitletexturltext
Example output
{
"alert_type": "success",
"date_happened": 1789900000,
"host": null,
"id": "7433012345678901234",
"priority": "normal",
"status": "ok",
"tags": [
"env:prod",
"service:web"
],
"text": "Version 1.4.0 deployed to production.",
"title": "Deploy finished",
"url": "https://app.datadoghq.com/event/event?id=7433012345678901234"
}Query metrics
Read metric values over a time range with a Datadog metric query. Covers the last hour unless you pick a range. Each series' 'last_value' is its most recent point.
Inputs
- Query
querytextRequired - A Datadog metric query, for example avg:system.cpu.user{env:prod} by {host}.
- From
fromdate and time - The start of the range. Defaults to an hour before 'To'.
- To
todate and time - The end of the range. Defaults to now.
Outputs
from_datenumbergroup_bylistquerytextres_typetextserieslistseries_countnumberstatustextto_datenumber
Example output
{
"from_date": 1789896400000,
"group_by": [],
"query": "avg:system.cpu.user{*}",
"res_type": "time_series",
"series": [
{
"display_name": "system.cpu.user",
"expression": "avg:system.cpu.user{*}",
"last_value": 13.1,
"length": 2,
"metric": "system.cpu.user",
"pointlist": [
[
1789899960000,
12.5
],
[
1789899980000,
13.1
]
],
"scope": "*"
}
],
"series_count": 1,
"status": "ok",
"to_date": 1789900000000
}Schedule a downtime
Silence a monitor, or every monitor with some tags, for a while - for example during a deploy. Starts now unless you pick a start, and lasts until canceled unless you pick an end.
Inputs
- Scope
scopetextRequired - Which groups to silence, as a tag query: env:prod, host:web-1, or * for everything the monitors cover.
- Monitor ID
monitor_idtext - The monitor to silence (its ID or Datadog address). Give this or Monitor tags.
- Monitor tags
monitor_tagslist - Silence every monitor with all of these tags instead, for example team:payments.
- Start
startdate and time - When the silence starts. Leave blank for now.
- End
enddate and time - When it ends. Leave blank to last until canceled.
- Message
messagetext - A note shown with the downtime and its notifications.
- Display time zone
display_timezonetext - The time zone Datadog shows it in, for example Europe/London. Defaults to UTC.
- Mute the first recovery
mute_first_recovery_notificationtrue/false - Skip the recovery notification sent when the downtime ends.
- Notify at the end if in state
notify_end_statestext - When it ends, notify about monitors still in these states.One or more of:
alert,warn,no data. - Notify when it
notify_end_typestext - Which endings send that notification.One or more of:
canceled,expired.
Outputs
canceledtextcreatedtextdisplay_timezonetextidtextmessagetextmodifiedtextmonitor_identifierobjectmute_first_recovery_notificationtrue/falsenotify_end_stateslistnotify_end_typeslistrelationshipsobjectscheduleobjectscopetextstatustexttypetext
Example output
{
"canceled": null,
"created": "2026-09-21T10:00:00.000Z",
"display_timezone": "UTC",
"id": "00e000000-0000-1234-0000-000000000000",
"message": "Silenced for the deploy.",
"modified": "2026-09-21T10:00:00.000Z",
"monitor_identifier": {
"monitor_id": 12345678
},
"mute_first_recovery_notification": false,
"notify_end_states": [
"alert",
"no data",
"warn"
],
"notify_end_types": [
"expired"
],
"relationships": {
"created_by": {
"data": {
"id": "user-uuid",
"type": "users"
}
},
"monitor": {
"data": {
"id": "12345678",
"type": "monitors"
}
}
},
"schedule": {
"end": "2026-09-21T11:00:00Z",
"start": "2026-09-21T10:00:00Z"
},
"scope": "env:prod",
"status": "active",
"type": "downtime"
}Search events
Search the event stream, newest first by default. Covers the last 24 hours unless you pick a start.
Inputs
- Search
querytext - Datadog event search, for example 'source:my_apps env:prod'. Blank matches everything.
- From
fromdate and time - The earliest event to include. Defaults to 24 hours ago.
- To
todate and time - The latest event to include. Defaults to now.
- Order
sorttext - Newest or oldest first.One of:
-timestamp(Newest first),timestamp(Oldest first). - Limit
limitnumber - How many to return, up to 1000. Defaults to 25.From 1 to 1000.
- Next page cursor
cursortext - The 'next_cursor' a previous search returned.
Outputs
countnumbereventslisthas_moretrue/falsenext_cursortextstatustextwarningslist
Example output
{
"count": 1,
"events": [
{
"attributes": {
"status": "success",
"title": "Deploy finished"
},
"id": "AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm9mWXJFYTR0OA",
"message": "Version 1.4.0 deployed to production.",
"tags": [
"env:prod"
],
"timestamp": "2026-09-21T10:00:00.000Z",
"title": "Deploy finished"
}
],
"has_more": false,
"next_cursor": null,
"status": "done",
"warnings": []
}Submit a metric
Send one value for a custom metric, for example the number of orders processed. Datadog accepts points up to an hour old. Custom metrics count toward your plan's custom-metric limit.
Inputs
- Metric name
metrictextRequired - The metric's name, for example shop.orders.processed.
- Value
valuenumberRequired - The number to record.
- Metric type
metric_typetext - How Datadog should treat the value.One of:
gauge(Gauge (a value at a point in time)),count(Count (how many times something happened)),rate(Rate (how many times per second)). - Tags
tagslist - Tags for the point, for example env:prod.
- Host
hosttext - The host the value is about, if any.
- When
timestampdate and time - When the value was measured. Leave blank for now.
- Unit
unittext - The unit, for example byte or request.
- Interval (seconds)
intervalnumber - For a count or rate: the seconds the value covers.At least 1.
Outputs
acceptedtrue/falsehosttextmetrictextmetric_typetexttagslisttimestampnumberunittextvaluenumber
Example output
{
"accepted": true,
"host": null,
"metric": "shop.orders.processed",
"metric_type": "gauge",
"tags": [
"env:prod"
],
"timestamp": 1789900000,
"unit": null,
"value": 42
}Submit a service check
Report whether something is up: OK, Warning, Critical or Unknown for a named check on a host. A 'service check' monitor can alert on it.
Inputs
- Check name
checktextRequired - The check's name, for example shop.checkout.up.
- Host
host_nametextRequired - The host the check is about.
- Status
statustextRequired - The check's result.One of:
ok,warning,critical,unknown. - Message
messagetext - A note on why, shown with the check.
- Tags
tagslist - Tags for the check, for example env:prod.
- When
timestampdate and time - When the check ran. Leave blank for now; Datadog accepts checks up to 10 minutes old.
Outputs
acceptedtrue/falsechecktexthost_nametextmessagetextstatustextstatus_codenumbertagslisttimestampnumber
Example output
{
"accepted": true,
"check": "shop.checkout.up",
"host_name": "web-1",
"message": null,
"status": "ok",
"status_code": 0,
"tags": [
"env:prod"
],
"timestamp": null
}Update a monitor
Change a monitor. Only the fields you fill in change; the monitor's other settings are kept. Tags, if given, replace the monitor's tags.
Inputs
- Monitor ID
monitor_idtextRequired - The monitor to change: its ID or Datadog address.
- Name
nametext - A new name.
- Query
querytext - A new query, threshold included.
- Notification message
messagetext - What the alert says. Mention people or channels with @-handles, for example @slack-ops or @jane@example.com.
- Tags
tagslist - Tags for the monitor itself, for example team:payments.
- Priority
prioritytext - How urgent the monitor is, P1 being the highest.One of:
1(P1 (highest)),2(P2),3(P3),4(P4),5(P5 (lowest)). - Critical threshold
critical_thresholdnumber - The value that triggers an alert. It must match the threshold in the query, for example 90 for 'avg(last_5m):... > 90'.
- Warning threshold
warning_thresholdnumber - The value that triggers a warning, before the alert.
- Critical recovery threshold
critical_recovery_thresholdnumber - The value the metric must get back past to recover.
- Warning recovery threshold
warning_recovery_thresholdnumber - The value that clears a warning.
- Notify when data stops
notify_no_datatrue/false - Alert when the monitored data stops arriving.
- No-data window (minutes)
no_data_timeframenumber - How many minutes without data before that alert fires.At least 1.
- Re-notify every (minutes)
renotify_intervalnumber - Send the alert again every this many minutes while it is unresolved. 0 or blank never re-notifies.At least 0.
- Evaluation delay (seconds)
evaluation_delaynumber - Wait this many seconds before evaluating, for metrics that arrive late (such as cloud integrations).At least 0.
- Require a full window of data
require_full_windowtrue/false - Only evaluate once the whole time window has data.
- Include tags in the title
include_tagstrue/false - Put the triggering tags in the notification title.
- When data is missing
on_missing_datatext - What the monitor does when data stops arriving.One of:
default(Default for this monitor type),show_no_data(Show NO DATA),show_and_notify_no_data(Show NO DATA and notify),resolve(Resolve the alert). - Notification content
notification_preset_nametext - How much of the query and handles the notification shows.One of:
show_all(Show everything),hide_query(Hide the query),hide_handles(Hide the @-handles),hide_all(Hide the query and handles),hide_query_and_handles(Hide the query and handles (keep the rest)),show_only_snapshot(Show only the graph snapshot),hide_handles_and_footer(Hide the handles and footer). - Other options
extra_optionsobject - Any other Datadog monitor option, as JSON, for example {"new_group_delay": 60}. A setting may be given here or in its own field, not both.
Outputs
createdtextcreatorobjectidnumbermatching_downtimeslistmessagetextmodifiedtextmultitrue/falsenametextoptionsobjectoverall_statetextprioritynumberquerytextrestricted_rolesliststateobjecttagslisttypetext
Example output
{
"created": "2026-09-21T10:00:00.000000+00:00",
"creator": {
"email": "jane@example.com",
"handle": "jane@example.com",
"name": "Jane"
},
"id": 12345678,
"message": "CPU is high on {{host.name}}. @slack-ops",
"modified": "2026-09-21T10:00:00.000000+00:00",
"multi": false,
"name": "High CPU on web hosts",
"options": {
"include_tags": true,
"notify_no_data": false,
"thresholds": {
"critical": 90,
"warning": 80
}
},
"overall_state": "OK",
"priority": 2,
"query": "avg(last_5m):avg:system.cpu.user{role:web} > 90",
"restricted_roles": null,
"tags": [
"team:platform"
],
"type": "query alert"
}