Datadog

App · Monitoring · 20 actions

Post events, submit and query metrics, report service checks, and manage monitors, downtimes and host tags in Datadog.

Actions

ActionWhat it does
Add host tagsAdd tags to a host.
Cancel a downtimeEnd a downtime now, so its monitors alert again.
Create a monitorCreate a Datadog monitor that alerts when a query crosses a threshold.
Delete a monitorDelete a monitor.
Get a monitorFetch one monitor, including its current state.
Get an eventFetch one event by the ID 'Post an event' returned.
Get host tagsThe tags on a host.
Get metric detailsA metric's type, unit and description.
List active metricsThe names of metrics that have reported since a time.
List dashboardsList your custom and cloned dashboards.
List downtimesList downtimes.
List hostsList the hosts reporting to Datadog.
List monitorsList monitors a page at a time, optionally filtered.
Post an eventPost an event to your Datadog event stream, for example a deploy notice or an alert from a workflow.
Query metricsRead metric values over a time range with a Datadog metric query.
Schedule a downtimeSilence a monitor, or every monitor with some tags, for a while - for example during a deploy.
Search eventsSearch the event stream, newest first by default.
Submit a metricSend one value for a custom metric, for example the number of orders processed.
Submit a service checkReport whether something is up: OK, Warning, Critical or Unknown for a named check on a host.
Update a monitorChange a monitor.

Add host tags

Add tags to a host. Tags it already has are kept; adding one it already has changes nothing.

Inputs

Hosthost_nametextRequired
The host's name, as 'List hosts' shows it.
TagstagslistRequired
The tags to add, for example role:web.
Sourcesourcetext
Which source the tags belong to. Defaults to user.

Outputs

hosttext
tagslist
Example output
{
  "host": "web-1",
  "tags": [
    "role:web"
  ]
}

Cancel a downtime

End a downtime now, so its monitors alert again.

Inputs

Downtime IDdowntime_idtextRequired
The 'id' from 'Schedule a downtime' or 'List downtimes', or the downtime's Datadog link.

Outputs

canceledtrue/false
downtime_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

NamenametextRequired
The monitor's name, for example High CPU on web hosts.
Monitor typemonitor_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.
QueryquerytextRequired
The monitor query, threshold included, for example avg(last_5m):avg:system.cpu.user{role:web} > 90.
Notification messagemessagetext
What the alert says. Mention people or channels with @-handles, for example @slack-ops or @jane@example.com.
Tagstagslist
Tags for the monitor itself, for example team:payments.
Priorityprioritytext
How urgent the monitor is, P1 being the highest.One of: 1 (P1 (highest)), 2 (P2), 3 (P3), 4 (P4), 5 (P5 (lowest)).
Critical thresholdcritical_thresholdnumber
The value that triggers an alert. It must match the threshold in the query, for example 90 for 'avg(last_5m):... > 90'.
Warning thresholdwarning_thresholdnumber
The value that triggers a warning, before the alert.
Critical recovery thresholdcritical_recovery_thresholdnumber
The value the metric must get back past to recover.
Warning recovery thresholdwarning_recovery_thresholdnumber
The value that clears a warning.
Notify when data stopsnotify_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 datarequire_full_windowtrue/false
Only evaluate once the whole time window has data.
Include tags in the titleinclude_tagstrue/false
Put the triggering tags in the notification title.
When data is missingon_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 contentnotification_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 optionsextra_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

createdtext
creatorobject
idnumber
matching_downtimeslist
messagetext
modifiedtext
multitrue/false
nametext
optionsobject
overall_statetext
prioritynumber
querytext
restricted_roleslist
stateobject
tagslist
typetext
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 IDmonitor_idtextRequired
The monitor to delete: its ID or Datadog address.
Delete even if in useforcetrue/false
Delete it even when an SLO or composite monitor depends on it.

Outputs

deletedtrue/false
deleted_monitor_idnumber
Example output
{
  "deleted": true,
  "deleted_monitor_id": 12345678
}

Get a monitor

Fetch one monitor, including its current state.

Inputs

Monitor IDmonitor_idtextRequired
The monitor's ID, or its Datadog address (https://app.datadoghq.com/monitors/12345678).
Include groups in stategroup_statestext
Also return the monitor's groups in these states.One or more of: all, alert, warn, no data.
Include downtimeswith_downtimestrue/false
Also return the downtimes silencing this monitor.

Outputs

createdtext
creatorobject
idnumber
matching_downtimeslist
messagetext
modifiedtext
multitrue/false
nametext
optionsobject
overall_statetext
prioritynumber
querytext
restricted_roleslist
stateobject
tagslist
typetext
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 IDevent_idtextRequired
The event's ID, or its Datadog link. Use the 'id' from 'Post an event'.

Outputs

alert_typetext
date_happenednumber
device_nametext
hosttext
idtext
id_strtext
payloadtext
prioritytext
source_type_nametext
tagslist
texttext
titletext
urltext
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

Hosthost_nametextRequired
The host's name, as 'List hosts' shows it.
Sourcesourcetext
Only tags from this source, for example users or datadog. Blank returns every tag.

Outputs

hosttext
tagslist
Example output
{
  "host": "web-1",
  "tags": [
    "env:prod",
    "role:web"
  ]
}

Get metric details

A metric's type, unit and description.

Inputs

Metric namemetric_nametextRequired
The metric, for example system.cpu.user.

Outputs

descriptiontext
integrationtext
metric_nametext
per_unittext
short_nametext
statsd_intervalnumber
typetext
unittext
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

Sincefromdate and time
Metrics reporting since this time. Defaults to an hour ago.
Hosthosttext
Only metrics from this host.
Tag filtertag_filtertext
Only metrics with these tags, for example env:prod. Cannot be combined with Host.

Outputs

countnumber
fromtext
metricslist
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 onlyshared_onlytrue/false
Only dashboards shared outside your organization.
Limitlimitnumber
How many to return, up to 1000. Defaults to 100.From 1 to 1000.
Offsetoffsetnumber
How many to skip, for the next page. Use the 'next_offset' the previous run returned.At least 0.

Outputs

countnumber
dashboardslist
has_moretrue/false
next_offsetnumber
offsetnumber
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 onlycurrent_onlytrue/false
Only downtimes silencing something right now.
Limitlimitnumber
How many to return, up to 100. Defaults to 30.From 1 to 100.
Offsetoffsetnumber
How many to skip, for the next page. Use the 'next_offset' the previous run returned.At least 0.

Outputs

countnumber
downtimeslist
has_moretrue/false
next_offsetnumber
offsetnumber
totalnumber
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

Searchfiltertext
Only hosts matching this name, alias or tag, for example env:prod.
Seen sincefromdate and time
Only hosts that reported since this time.
Include mute detailsinclude_muted_hosts_datatrue/false
Include whether each host is muted, and until when.
Include host detailsinclude_hosts_metadatatrue/false
Include agent version, platform and processor details.
Limitlimitnumber
How many to return, up to 1000. Defaults to 100.From 1 to 1000.
Offsetoffsetnumber
How many to skip, for the next page. Use the 'next_offset' the previous run returned.At least 0.

Outputs

countnumber
has_moretrue/false
hostslist
next_offsetnumber
offsetnumber
total_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 containsnametext
Only monitors whose name contains this text.
Monitor tagsmonitor_tagslist
Only monitors tagged with all of these, for example team:payments.
Scope tagstagslist
Only monitors whose query scope includes these tags, for example host:web-1.
Include groups in stategroup_statestext
Also return each monitor's groups in these states.One or more of: all, alert, warn, no data.
Pagepagenumber
Which page, starting at 0. Use 'next_page' for the next.At least 0.
Page sizepage_sizenumber
Monitors per page, up to 1000. Defaults to 100.From 1 to 1000.

Outputs

countnumber
has_moretrue/false
monitorslist
next_pagenumber
pagenumber
page_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

TitletitletextRequired
The event title, for example, Deploy finished.
MessagetexttextRequired
The event body, up to 4000 characters. Supports Datadog message markdown.
Alert typealert_typetext
How the event is categorized in the stream.One of: info, success, warning, error.
Priorityprioritytext
The event priority.One of: normal, low.
Tagstagslist
Tags to attach, each in key:value form, for example env:prod.
Hosthosttext
The host name the event is about, if any.
Aggregation keyaggregation_keytext
Events with the same key (up to 100 characters) are grouped together in the stream.
Source typesource_type_nametext
The kind of source that sent it, for example my_apps.
When it happeneddate_happeneddate and time
When the event happened. Leave blank for now. Datadog accepts events up to 18 hours old.

Outputs

alert_typetext
date_happenednumber
hosttext
idtext
prioritytext
statustext
tagslist
texttext
titletext
urltext
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

QueryquerytextRequired
A Datadog metric query, for example avg:system.cpu.user{env:prod} by {host}.
Fromfromdate and time
The start of the range. Defaults to an hour before 'To'.
Totodate and time
The end of the range. Defaults to now.

Outputs

from_datenumber
group_bylist
querytext
res_typetext
serieslist
series_countnumber
statustext
to_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

ScopescopetextRequired
Which groups to silence, as a tag query: env:prod, host:web-1, or * for everything the monitors cover.
Monitor IDmonitor_idtext
The monitor to silence (its ID or Datadog address). Give this or Monitor tags.
Monitor tagsmonitor_tagslist
Silence every monitor with all of these tags instead, for example team:payments.
Startstartdate and time
When the silence starts. Leave blank for now.
Endenddate and time
When it ends. Leave blank to last until canceled.
Messagemessagetext
A note shown with the downtime and its notifications.
Display time zonedisplay_timezonetext
The time zone Datadog shows it in, for example Europe/London. Defaults to UTC.
Mute the first recoverymute_first_recovery_notificationtrue/false
Skip the recovery notification sent when the downtime ends.
Notify at the end if in statenotify_end_statestext
When it ends, notify about monitors still in these states.One or more of: alert, warn, no data.
Notify when itnotify_end_typestext
Which endings send that notification.One or more of: canceled, expired.

Outputs

canceledtext
createdtext
display_timezonetext
idtext
messagetext
modifiedtext
monitor_identifierobject
mute_first_recovery_notificationtrue/false
notify_end_stateslist
notify_end_typeslist
relationshipsobject
scheduleobject
scopetext
statustext
typetext
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

Searchquerytext
Datadog event search, for example 'source:my_apps env:prod'. Blank matches everything.
Fromfromdate and time
The earliest event to include. Defaults to 24 hours ago.
Totodate and time
The latest event to include. Defaults to now.
Ordersorttext
Newest or oldest first.One of: -timestamp (Newest first), timestamp (Oldest first).
Limitlimitnumber
How many to return, up to 1000. Defaults to 25.From 1 to 1000.
Next page cursorcursortext
The 'next_cursor' a previous search returned.

Outputs

countnumber
eventslist
has_moretrue/false
next_cursortext
statustext
warningslist
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 namemetrictextRequired
The metric's name, for example shop.orders.processed.
ValuevaluenumberRequired
The number to record.
Metric typemetric_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)).
Tagstagslist
Tags for the point, for example env:prod.
Hosthosttext
The host the value is about, if any.
Whentimestampdate and time
When the value was measured. Leave blank for now.
Unitunittext
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/false
hosttext
metrictext
metric_typetext
tagslist
timestampnumber
unittext
valuenumber
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 namechecktextRequired
The check's name, for example shop.checkout.up.
Hosthost_nametextRequired
The host the check is about.
StatusstatustextRequired
The check's result.One of: ok, warning, critical, unknown.
Messagemessagetext
A note on why, shown with the check.
Tagstagslist
Tags for the check, for example env:prod.
Whentimestampdate and time
When the check ran. Leave blank for now; Datadog accepts checks up to 10 minutes old.

Outputs

acceptedtrue/false
checktext
host_nametext
messagetext
statustext
status_codenumber
tagslist
timestampnumber
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 IDmonitor_idtextRequired
The monitor to change: its ID or Datadog address.
Namenametext
A new name.
Queryquerytext
A new query, threshold included.
Notification messagemessagetext
What the alert says. Mention people or channels with @-handles, for example @slack-ops or @jane@example.com.
Tagstagslist
Tags for the monitor itself, for example team:payments.
Priorityprioritytext
How urgent the monitor is, P1 being the highest.One of: 1 (P1 (highest)), 2 (P2), 3 (P3), 4 (P4), 5 (P5 (lowest)).
Critical thresholdcritical_thresholdnumber
The value that triggers an alert. It must match the threshold in the query, for example 90 for 'avg(last_5m):... > 90'.
Warning thresholdwarning_thresholdnumber
The value that triggers a warning, before the alert.
Critical recovery thresholdcritical_recovery_thresholdnumber
The value the metric must get back past to recover.
Warning recovery thresholdwarning_recovery_thresholdnumber
The value that clears a warning.
Notify when data stopsnotify_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 datarequire_full_windowtrue/false
Only evaluate once the whole time window has data.
Include tags in the titleinclude_tagstrue/false
Put the triggering tags in the notification title.
When data is missingon_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 contentnotification_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 optionsextra_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

createdtext
creatorobject
idnumber
matching_downtimeslist
messagetext
modifiedtext
multitrue/false
nametext
optionsobject
overall_statetext
prioritynumber
querytext
restricted_roleslist
stateobject
tagslist
typetext
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"
}

On this page