MonitorOptions is a JSON Structure definition published by Datadog, describing 14 properties. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.
{
"$schema": "https://json-structure.org/meta/core/v0/#",
"$id": "https://raw.githubusercontent.com/api-evangelist/datadog/refs/heads/main/json-structure/datadog-monitors-monitor-options-structure.json",
"name": "MonitorOptions",
"description": "Configuration options for a monitor controlling evaluation, notification, and recovery behavior",
"type": "object",
"properties": {
"thresholds": {
"$ref": "#/components/schemas/MonitorThresholds"
},
"notify_no_data": {
"type": "boolean",
"description": "Whether to send a notification when there is no data for the monitored metric",
"default": false,
"example": true
},
"no_data_timeframe": {
"type": "int32",
"description": "The number of minutes after which the monitor reports no data (minimum 2x the evaluation timeframe)",
"example": 42
},
"require_full_window": {
"type": "boolean",
"description": "Whether the monitor requires a full evaluation window of data before alerting",
"example": true
},
"notify_audit": {
"type": "boolean",
"description": "Whether to send notifications to auditors when the monitor is changed",
"example": true
},
"renotify_interval": {
"type": "int32",
"description": "The number of minutes between re-notifications while the monitor remains in an alert state (0 to disable)",
"example": 42
},
"renotify_statuses": {
"type": "array",
"description": "Monitor status types that trigger re-notification messages",
"items": {
"type": "string",
"enum": [
"alert",
"warn",
"no data"
]
}
},
"escalation_message": {
"type": "string",
"description": "The message to include with re-notification alerts instead of the main message",
"example": "CPU usage is high on {{host.name}}"
},
"timeout_h": {
"type": "int32",
"description": "The number of hours after which an automatically resolving alert times out",
"example": 42
},
"evaluation_delay": {
"type": "int32",
"description": "The time in seconds to delay evaluation, used to ensure all data arrives before checking thresholds",
"example": 42
},
"new_group_delay": {
"type": "int32",
"description": "The number of seconds to delay notification for new monitor groups to allow transient issues to resolve",
"example": 42
},
"include_tags": {
"type": "boolean",
"description": "Whether to include group scope tags in notification subject and body",
"default": true,
"example": true
},
"silenced": {
"type": "object",
"description": "Map of monitor scopes to Unix timestamps indicating when each scope's mute expires (0 for indefinite)",
"additionalProperties": {
"type": "integer",
"nullable": true
}
},
"aggregation": {
"type": "object",
"description": "Aggregation settings used for anomaly and outlier monitors",
"properties": {
"type": {
"type": "string",
"description": "The type of aggregation function applied to the metric"
},
"metric": {
"type": "string",
"description": "The metric name used in the aggregation"
},
"group_by": {
"type": "string",
"description": "The tag key to group the aggregation by"
}
}
}
}
}