[
{
"handle": "metrics",
"meta": {
"short": "Metrics",
"description": "Submit and query time-series metric data points."
},
"endpoint": {
"value": "/api/v2/metrics"
},
"fields": [
{ "name": "metric", "type": "String", "selector": ["metric"], "meta": { "description": "The metric name." } },
{ "name": "type", "type": "Integer", "selector": ["type"], "meta": { "description": "Metric type: 0=unspecified, 1=count, 2=rate, 3=gauge." } },
{ "name": "unit", "type": "String", "selector": ["unit"], "meta": { "description": "Human-readable unit of the metric." } },
{ "name": "description", "type": "String", "selector": ["description"], "meta": { "description": "Description of the metric." } },
{ "name": "integration", "type": "String", "selector": ["integration"], "meta": { "description": "Integration that generated the metric." } },
{ "name": "tags", "type": "String", "multivalue": true, "selector": ["tags"], "meta": { "description": "Tags associated with the metric." } }
],
"operations": {
"list": {
"method": "GET",
"path": { "value": "" },
"queryParams": {
"filter[metric_type]": { "value": "{{metric_type}}", "placeholders": [{ "name": "metric_type", "type": "String", "description": "Filter by metric type (gauge, count, rate).", "required": false }] }
}
},
"read": {
"method": "GET",
"path": { "value": "/{{metric_name}}", "placeholders": [{ "name": "metric_name", "type": "String", "description": "The metric name.", "required": true }] }
},
"create": {
"method": "POST",
"path": { "value": "/api/v1/series" },
"bodyTemplate": {
"value": "{\"series\":[{\"metric\":\"{{metric_name}}\",\"type\":\"{{type}}\",\"points\":[[{{timestamp}},{{value}}]],\"tags\":{{tags}]}]}",
"placeholders": [
{ "name": "metric_name", "type": "String", "description": "Metric name.", "required": true },
{ "name": "type", "type": "String", "description": "Metric type: gauge, count, rate.", "required": false },
{ "name": "timestamp", "type": "Integer", "description": "POSIX timestamp in seconds.", "required": true },
{ "name": "value", "type": "Float", "description": "Metric value.", "required": true },
{ "name": "tags", "type": "String", "description": "JSON array of tag strings.", "required": false }
]
}
},
"delete": {
"method": "DELETE",
"path": { "value": "/{{metric_name}}", "placeholders": [{ "name": "metric_name", "type": "String", "description": "The metric name to delete.", "required": true }] }
}
},
"webhooks": [
{
"event": "metric_alert", "path": "/webhooks/datadog/metrics/alert",
"payload": [
{ "name": "metric", "type": "String", "selector": ["metric"], "meta": { "description": "The metric name." } },
{ "name": "value", "type": "Float", "selector": ["value"], "meta": { "description": "The value of the metric at the time of the alert." } },
{ "name": "timestamp", "type": "Integer", "selector": ["timestamp"], "meta": { "description": "POSIX timestamp when the metric alert occurred." } },
{ "name": "tags", "type": "String", "multivalue": true, "selector": ["tags"], "meta": { "description": "Tags associated with the metric." } }
]
}
]
},
{
"handle": "events",
"meta": {
"short": "Events",
"description": "Post and retrieve events in the event stream."
},
"endpoint": {
"value": "/api/v1/events"
},
"fields": [
{ "name": "id", "type": "Integer", "selector": ["id"], "meta": { "description": "Unique event ID." } },
{ "name": "title", "type": "String", "selector": ["title"], "meta": { "description": "Title of the event." } },
{ "name": "text", "type": "String", "selector": ["text"], "meta": { "description": "Body/content of the event." } },
{ "name": "date_happened", "type": "Integer", "selector": ["date_happened"], "meta": { "description": "POSIX timestamp when the event occurred." } },
{ "name": "priority", "type": "String", "selector": ["priority"], "meta": { "description": "Event priority: normal or low." } },
{ "name": "alert_type", "type": "String", "selector": ["alert_type"], "meta": { "description": "Alert type: error, warning, info, or success." } },
{ "name": "host", "type": "String", "selector": ["host"], "meta": { "description": "Host name associated with the event." } },
{ "name": "tags", "type": "String", "multivalue": true, "selector": ["tags"], "meta": { "description": "Tags associated with the event." } },
{ "name": "url", "type": "String", "selector": ["url"], "meta": { "description": "URL of the event in the Datadog UI." } }
],
"operations": {
"list": {
"method": "GET",
"path": { "value": "" },
"queryParams": {
"start": { "value": "{{start}}", "placeholders": [{ "name": "start", "type": "Integer", "description": "Start of the query window (POSIX timestamp).", "required": true }] },
"end": { "value": "{{end}}", "placeholders": [{ "name": "end", "type": "Integer", "description": "End of the query window (POSIX timestamp).", "required": true }] },
"priority": { "value": "{{priority}}", "placeholders": [{ "name": "priority", "type": "String", "description": "Filter by priority (normal or low).", "required": false }] }
}
},
"read": {
"method": "GET",
"path": { "value": "/{{event_id}}", "placeholders": [{ "name": "event_id", "type": "Integer", "description": "The event ID.", "required": true }] }
},
"create": {
"method": "POST",
"path": { "value": "" },
"bodyTemplate": {
"value": "{\"title\":\"{{title}}\",\"text\":\"{{text}}\",\"date_happened\":{{date_happened}},\"priority\":\"{{priority}}\",\"alert_type\":\"{{alert_type}}\",\"host\":\"{{host}}\",\"tags\":{{tags}}}",
"placeholders": [
{ "name": "title", "type": "String", "description": "Event title.", "required": true },
{ "name": "text", "type": "String", "description": "Event body.", "required": true },
{ "name": "date_happened", "type": "Integer", "description": "POSIX timestamp of the event.", "required": false },
{ "name": "priority", "type": "String", "description": "Priority: normal or low.", "required": false, "options": ["normal", "low"] },
{ "name": "alert_type", "type": "String", "description": "Alert type: error, warning, info, success.", "required": false, "options": ["error", "warning", "info", "success"] },
{ "name": "host", "type": "String", "description": "Host name.", "required": false },
{ "name": "tags", "type": "String", "description": "JSON array of tag strings.", "required": false }
]
}
}
},
"webhooks": [
{
"event": "event_created", "path": "/webhooks/datadog/events/created",
"payload": [
{ "name": "id", "type": "Integer", "selector": ["id"], "meta": { "description": "Unique event ID." } },
{ "name": "title", "type": "String", "selector": ["title"], "meta": { "description": "Title of the event." } },
{ "name": "text", "type": "String", "selector": ["text"], "meta": { "description": "Body/content of the event." } },
{ "name": "date_happened", "type": "Integer", "selector": ["date_happened"], "meta": { "description": "POSIX timestamp when the event occurred." } },
{ "name": "priority", "type": "String", "selector": ["priority"], "meta": { "description": "Event priority: normal or low." } },
{ "name": "alert_type", "type": "String", "selector": ["alert_type"], "meta": { "description": "Alert type: error, warning, info, or success." } },
{ "name": "host", "type": "String", "selector": ["host"], "meta": { "description": "Host name associated with the event." } },
{ "name": "tags", "type": "String", "multivalue": true, "selector": ["tags"], "meta": { "description": "Tags associated with the event." } },
{ "name": "url", "type": "String", "selector": ["url"], "meta": { "description": "URL of the event in the Datadog UI." } }
]
}
]
},
{
"handle": "monitors",
"meta": {
"short": "Monitors",
"description": "Create and manage metric, log, and APM monitors with alerting."
},
"endpoint": {
"value": "/api/v1/monitor"
},
"fields": [
{ "name": "id", "type": "Integer", "selector": ["id"], "meta": { "description": "Monitor ID." } },
{ "name": "name", "type": "String", "selector": ["name"], "meta": { "description": "Name of the monitor." } },
{ "name": "type", "type": "String", "selector": ["type"], "meta": { "description": "Monitor type (e.g., metric alert, service check, log alert)." } },
{ "name": "query", "type": "String", "selector": ["query"], "meta": { "description": "The monitor query." } },
{ "name": "message", "type": "String", "selector": ["message"], "meta": { "description": "Notification message for the monitor." } },
{ "name": "status", "type": "String", "selector": ["overall_state"], "meta": { "description": "Current monitor state: Alert, Warn, No Data, OK." } },
{ "name": "tags", "type": "String", "multivalue": true, "selector": ["tags"], "meta": { "description": "Tags applied to the monitor." } },
{ "name": "created", "type": "String", "selector": ["created"], "meta": { "description": "Timestamp when the monitor was created." } },
{ "name": "modified", "type": "String", "selector": ["modified"], "meta": { "description": "Timestamp when the monitor was last modified." } }
],
"operations": {
"list": {
"method": "GET",
"path": { "value": "s" },
"queryParams": {
"tags": { "value": "{{tags}}", "placeholders": [{ "name": "tags", "type": "String", "description": "Filter by comma-separated tag list.", "required": false }] },
"name": { "value": "{{name}}", "placeholders": [{ "name": "name", "type": "String", "description": "Filter monitors by name.", "required": false }] }
}
},
"read": {
"method": "GET",
"path": { "value": "/{{monitor_id}}", "placeholders": [{ "name": "monitor_id", "type": "Integer", "description": "The monitor ID.", "required": true }] }
},
"create": {
"method": "POST",
"path": { "value": "" },
"bodyTemplate": {
"value": "{\"name\":\"{{name}}\",\"type\":\"{{type}}\",\"query\":\"{{query}}\",\"message\":\"{{message}}\",\"tags\":{{tags}}}",
"placeholders": [
{ "name": "name", "type": "String", "description": "Monitor name.", "required": true },
{ "name": "type", "type": "String", "description": "Monitor type (e.g., metric alert).", "required": true },
{ "name": "query", "type": "String", "description": "Alert query.", "required": true },
{ "name": "message", "type": "String", "description": "Notification message.", "required": false },
{ "name": "tags", "type": "String", "description": "JSON array of tag strings.", "required": false }
]
}
},
"update": {
"method": "PUT",
"path": { "value": "/{{monitor_id}}", "placeholders": [{ "name": "monitor_id", "type": "Integer", "description": "The monitor ID.", "required": true }] },
"bodyTemplate": {
"value": "{\"name\":\"{{name}}\",\"query\":\"{{query}}\",\"message\":\"{{message}}\"}",
"placeholders": [
{ "name": "name", "type": "String", "description": "Monitor name.", "required": false },
{ "name": "query", "type": "String", "description": "Alert query.", "required": false },
{ "name": "message", "type": "String", "description": "Notification message.", "required": false }
]
}
},
"delete": {
"method": "DELETE",
"path": { "value": "/{{monitor_id}}", "placeholders": [{ "name": "monitor_id", "type": "Integer", "description": "The monitor ID.", "required": true }] }
}
},
"webhooks": [
{
"event": "monitor_alert", "path": "/webhooks/datadog/monitors/alert",
"payload": [
{ "name": "id", "type": "Integer", "selector": ["id"], "meta": { "description": "Monitor ID." } },
{ "name": "name", "type": "String", "selector": ["name"], "meta": { "description": "Name of the monitor." } },
{ "name": "status", "type": "String", "selector": ["overall_state"], "meta": { "description": "Current monitor state: Alert, Warn, No Data, OK." } },
{ "name": "alert_title", "type": "String", "selector": ["alert_title"], "meta": { "description": "Title of the alert." } },
{ "name": "alert_message", "type": "String", "selector": ["alert_message"], "meta": { "description": "Notification message." } },
{ "name": "link", "type": "String", "selector": ["link"], "meta": { "description": "Link to the monitor in Datadog." } },
{ "name": "tags", "type": "String", "multivalue": true, "selector": ["tags"], "meta": { "description": "Tags applied to the monitor." } }
]
},
{
"event": "monitor_recovery", "path": "/webhooks/datadog/monitors/recovery",
"payload": [
{ "name": "id", "type": "Integer", "selector": ["id"], "meta": { "description": "Monitor ID." } },
{ "name": "name", "type": "String", "selector": ["name"], "meta": { "description": "Name of the monitor." } },
{ "name": "status", "type": "String", "selector": ["overall_state"], "meta": { "description": "Monitor state transitioned to OK." } }
]
}
]
},
{
"handle": "dashboards",
"meta": {
"short": "Dashboards",
"description": "Create, update, and retrieve visualization dashboards."
},
"endpoint": {
"value": "/api/v1/dashboard"
},
"fields": [
{ "name": "id", "type": "String", "selector": ["id"], "meta": { "description": "Dashboard ID." } },
{ "name": "title", "type": "String", "selector": ["title"], "meta": { "description": "Dashboard title." } },
{ "name": "description", "type": "String", "selector": ["description"], "meta": { "description": "Dashboard description." } },
{ "name": "layout_type", "type": "String", "selector": ["layout_type"], "meta": { "description": "Layout type: ordered or free." } },
{ "name": "url", "type": "String", "selector": ["url"], "meta": { "description": "Dashboard URL in the Datadog UI." } },
{ "name": "author_handle", "type": "String", "selector": ["author_handle"], "meta": { "description": "Handle of the dashboard author." } },
{ "name": "created_at", "type": "String", "selector": ["created_at"], "meta": { "description": "Timestamp when the dashboard was created." } },
{ "name": "modified_at", "type": "String", "selector": ["modified_at"], "meta": { "description": "Timestamp when the dashboard was last modified." } },
{ "name": "tags", "type": "String", "multivalue": true, "selector": ["tags"], "meta": { "description": "Tags applied to the dashboard." } }
],
"operations": {
"list": {
"method": "GET",
"path": { "value": "s" }
},
"read": {
"method": "GET",
"path": { "value": "/{{dashboard_id}}", "placeholders": [{ "name": "dashboard_id", "type": "String", "description": "The dashboard ID.", "required": true }] }
},
"create": {
"method": "POST",
"path": { "value": "" },
"bodyTemplate": {
"value": "{\"title\":\"{{title}}\",\"layout_type\":\"{{layout_type}}\",\"description\":\"{{description}}\",\"widgets\":{{widgets}}}",
"placeholders": [
{ "name": "title", "type": "String", "description": "Dashboard title.", "required": true },
{ "name": "layout_type", "type": "String", "description": "Layout type: ordered or free.", "required": true, "options": ["ordered", "free"] },
{ "name": "description", "type": "String", "description": "Dashboard description.", "required": false },
{ "name": "widgets", "type": "String", "description": "JSON array of widget definitions.", "required": true }
]
}
},
"update": {
"method": "PUT",
"path": { "value": "/{{dashboard_id}}", "placeholders": [{ "name": "dashboard_id", "type": "String", "description": "The dashboard ID.", "required": true }] },
"bodyTemplate": {
"value": "{\"title\":\"{{title}}\",\"layout_type\":\"{{layout_type}}\",\"description\":\"{{description}}\",\"widgets\":{{widgets}}}",
"placeholders": [
{ "name": "title", "type": "String", "description": "Dashboard title.", "required": false },
{ "name": "layout_type", "type": "String", "description": "Layout type: ordered or free.", "required": false },
{ "name": "description", "type": "String", "description": "Dashboard description.", "required": false },
{ "name": "widgets", "type": "String", "description": "JSON array of widget definitions.", "required": false }
]
}
},
"delete": {
"method": "DELETE",
"path": { "value": "/{{dashboard_id}}", "placeholders": [{ "name": "dashboard_id", "type": "String", "description": "The dashboard ID.", "required": true }] }
}
},
"webhooks": [
{
"event": "dashboard_created", "path": "/webhooks/datadog/dashboards/created",
"payload": [
{ "name": "id", "type": "String", "selector": ["id"], "meta": { "description": "Dashboard ID." } },
{ "name": "title", "type": "String", "selector": ["title"], "meta": { "description": "Dashboard title." } },
{ "name": "description", "type": "String", "selector": ["description"], "meta": { "description": "Dashboard description." } },
{ "name": "author_handle", "type": "String", "selector": ["author_handle"], "meta": { "description": "Handle of the dashboard author." } },
{ "name": "url", "type": "String", "selector": ["url"], "meta": { "description": "Dashboard URL in the Datadog UI." } }
]
},
{
"event": "dashboard_updated", "path": "/webhooks/datadog/dashboards/updated",
"payload": [
{ "name": "id", "type": "String", "selector": ["id"], "meta": { "description": "Dashboard ID." } },
{ "name": "title", "type": "String", "selector": ["title"], "meta": { "description": "Dashboard title." } },
{ "name": "author_handle", "type": "String", "selector": ["author_handle"], "meta": { "description": "Handle of the user who modified the dashboard." } }
]
}
]
},
{
"handle": "downtimes",
"meta": {
"short": "Downtimes",
"description": "Schedule downtimes to mute monitors and suppress alerts."
},
"endpoint": {
"value": "/api/v1/downtime"
},
"fields": [
{ "name": "id", "type": "Integer", "selector": ["id"], "meta": { "description": "Downtime ID." } },
{ "name": "scope", "type": "String", "multivalue": true, "selector": ["scope"], "meta": { "description": "Scope of the downtime (e.g., host:myhost, env:prod)." } },
{ "name": "monitor_id", "type": "Integer", "selector": ["monitor_id"], "meta": { "description": "ID of the monitor to mute (null mutes all)." } },
{ "name": "start", "type": "Integer", "selector": ["start"], "meta": { "description": "POSIX timestamp for the start of the downtime." } },
{ "name": "end", "type": "Integer", "selector": ["end"], "meta": { "description": "POSIX timestamp for the end of the downtime (null = indefinite)." } },
{ "name": "message", "type": "String", "selector": ["message"], "meta": { "description": "Message associated with the downtime." } },
{ "name": "active", "type": "Boolean", "selector": ["active"], "meta": { "description": "Whether the downtime is currently active." } },
{ "name": "canceled", "type": "Integer", "selector": ["canceled"], "meta": { "description": "POSIX timestamp when the downtime was canceled." } }
],
"operations": {
"list": {
"method": "GET",
"path": { "value": "s" },
"queryParams": {
"current_only": { "value": "{{current_only}}", "placeholders": [{ "name": "current_only", "type": "Boolean", "description": "Return only currently active downtimes.", "required": false }] }
}
},
"read": {
"method": "GET",
"path": { "value": "/{{downtime_id}}", "placeholders": [{ "name": "downtime_id", "type": "Integer", "description": "The downtime ID.", "required": true }] }
},
"create": {
"method": "POST",
"path": { "value": "" },
"bodyTemplate": {
"value": "{\"scope\":[\"{{scope}}\"],\"start\":{{start}},\"end\":{{end}},\"message\":\"{{message}}\",\"monitor_id\":{{monitor_id}}}",
"placeholders": [
{ "name": "scope", "type": "String", "description": "Scope tag (e.g., host:web-01).", "required": true },
{ "name": "start", "type": "Integer", "description": "Start timestamp (POSIX).", "required": true },
{ "name": "end", "type": "Integer", "description": "End timestamp (POSIX). Omit for indefinite.", "required": false },
{ "name": "message", "type": "String", "description": "Reason for the downtime.", "required": false },
{ "name": "monitor_id", "type": "Integer", "description": "Monitor to mute (omit for all monitors).", "required": false }
]
}
},
"update": {
"method": "PUT",
"path": { "value": "/{{downtime_id}}", "placeholders": [{ "name": "downtime_id", "type": "Integer", "description": "The downtime ID.", "required": true }] },
"bodyTemplate": {
"value": "{\"scope\":[\"{{scope}}\"],\"end\":{{end}},\"message\":\"{{message}}\"}",
"placeholders": [
{ "name": "scope", "type": "String", "description": "Updated scope tag.", "required": false },
{ "name": "end", "type": "Integer", "description": "New end timestamp (POSIX).", "required": false },
{ "name": "message", "type": "String", "description": "Updated message.", "required": false }
]
}
},
"delete": {
"method": "DELETE",
"path": { "value": "/{{downtime_id}}", "placeholders": [{ "name": "downtime_id", "type": "Integer", "description": "The downtime ID.", "required": true }] }
}
},
"webhooks": [
{
"event": "downtime_started", "path": "/webhooks/datadog/downtimes/started",
"payload": [
{ "name": "id", "type": "Integer", "selector": ["id"], "meta": { "description": "Downtime ID." } },
{ "name": "scope", "type": "String", "multivalue": true, "selector": ["scope"], "meta": { "description": "Scope of the downtime." } },
{ "name": "message", "type": "String", "selector": ["message"], "meta": { "description": "Downtime message." } }
]
},
{
"event": "downtime_ended", "path": "/webhooks/datadog/downtimes/ended",
"payload": [
{ "name": "id", "type": "Integer", "selector": ["id"], "meta": { "description": "Downtime ID." } }
]
}
]
},
{
"handle": "hosts",
"meta": {
"short": "Hosts",
"description": "Search and manage infrastructure hosts reporting to Datadog."
},
"endpoint": {
"value": "/api/v1/hosts"
},
"fields": [
{ "name": "id", "type": "Integer", "selector": ["id"], "meta": { "description": "Host ID." } },
{ "name": "name", "type": "String", "selector": ["name"], "meta": { "description": "Host name." } },
{ "name": "aliases", "type": "String", "multivalue": true, "selector": ["aliases"], "meta": { "description": "Aliases for the host." } },
{ "name": "apps", "type": "String", "multivalue": true, "selector": ["apps"], "meta": { "description": "Integrations/apps running on the host." } },
{ "name": "tags_by_source", "type": "String", "selector": ["tags_by_source"], "meta": { "description": "Tags grouped by source." } },
{ "name": "up", "type": "Boolean", "selector": ["up"], "meta": { "description": "Whether the host is up." } },
{ "name": "last_reported_time", "type": "Integer", "selector": ["last_reported_time"], "meta": { "description": "POSIX timestamp of the last metric report." } },
{ "name": "is_muted", "type": "Boolean", "selector": ["is_muted"], "meta": { "description": "Whether the host is muted." } }
],
"operations": {
"list": {
"method": "GET",
"path": { "value": "" },
"queryParams": {
"filter": { "value": "{{filter}}", "placeholders": [{ "name": "filter", "type": "String", "description": "Filter by host name, tag, or alias substring.", "required": false }] },
"count": { "value": "{{count}}", "placeholders": [{ "name": "count", "type": "Integer", "description": "Number of results per page.", "required": false }] },
"start": { "value": "{{start}}", "placeholders": [{ "name": "start", "type": "Integer", "description": "Offset for pagination.", "required": false }] }
}
}
},
"webhooks": [
{
"event": "host_status_changed", "path": "/webhooks/datadog/hosts/status",
"payload": [
{ "name": "id", "type": "Integer", "selector": ["id"], "meta": { "description": "Host ID." } },
{ "name": "name", "type": "String", "selector": ["name"], "meta": { "description": "Host name." } },
{ "name": "up", "type": "Boolean", "selector": ["up"], "meta": { "description": "Whether the host is up." } }
]
}
]
},
{
"handle": "service_checks",
"meta": {
"short": "Service Checks",
"description": "Submit service check statuses for use in monitors."
},
"endpoint": {
"value": "/api/v1/check_run"
},
"fields": [
{ "name": "check", "type": "String", "selector": ["check"], "meta": { "description": "Service check name." } },
{ "name": "host_name", "type": "String", "selector": ["host_name"], "meta": { "description": "Host name associated with the check." } },
{ "name": "status", "type": "Integer", "selector": ["status"], "meta": { "description": "Check status: 0=OK, 1=Warning, 2=Critical, 3=Unknown." } },
{ "name": "message", "type": "String", "selector": ["message"], "meta": { "description": "Optional message for the check." } },
{ "name": "tags", "type": "String", "multivalue": true, "selector": ["tags"], "meta": { "description": "Tags associated with the check." } },
{ "name": "timestamp", "type": "Integer", "selector": ["timestamp"], "meta": { "description": "POSIX timestamp of the check." } }
],
"operations": {
"create": {
"method": "POST",
"path": { "value": "" },
"bodyTemplate": {
"value": "[{\"check\":\"{{check}}\",\"host_name\":\"{{host_name}}\",\"status\":{{status}},\"message\":\"{{message}}\",\"tags\":{{tags}},\"timestamp\":{{timestamp}}}]",
"placeholders": [
{ "name": "check", "type": "String", "description": "Service check name.", "required": true },
{ "name": "host_name", "type": "String", "description": "Host name.", "required": true },
{ "name": "status", "type": "Integer", "description": "Status: 0=OK, 1=Warning, 2=Critical, 3=Unknown.", "required": true },
{ "name": "message", "type": "String", "description": "Status message.", "required": false },
{ "name": "tags", "type": "String", "description": "JSON array of tag strings.", "required": false },
{ "name": "timestamp", "type": "Integer", "description": "POSIX timestamp.", "required": false }
]
}
}
},
"webhooks": [
{
"event": "service_check_alert", "path": "/webhooks/datadog/service_checks/alert",
"payload": [
{ "name": "check", "type": "String", "selector": ["check"], "meta": { "description": "Service check name." } },
{ "name": "host_name", "type": "String", "selector": ["host_name"], "meta": { "description": "Host name." } },
{ "name": "status", "type": "Integer", "selector": ["status"], "meta": { "description": "Check status: 0=OK, 1=Warning, 2=Critical, 3=Unknown." } }
]
}
]
},
{
"handle": "logs",
"meta": {
"short": "Logs",
"description": "Send and search log events."
},
"endpoint": {
"value": "/api/v2/logs"
},
"fields": [
{ "name": "id", "type": "String", "selector": ["id"], "meta": { "description": "Log entry ID." } },
{ "name": "message", "type": "String", "selector": ["attributes", "message"], "meta": { "description": "Log message." } },
{ "name": "service", "type": "String", "selector": ["attributes", "service"], "meta": { "description": "Service that generated the log." } },
{ "name": "status", "type": "String", "selector": ["attributes", "status"], "meta": { "description": "Log status/severity (e.g., info, warn, error)." } },
{ "name": "host", "type": "String", "selector": ["attributes", "host"], "meta": { "description": "Host associated with the log." } },
{ "name": "timestamp", "type": "String", "selector": ["attributes", "timestamp"], "meta": { "description": "Timestamp of the log entry." } },
{ "name": "tags", "type": "String", "multivalue": true, "selector": ["attributes", "tags"], "meta": { "description": "Tags on the log entry." } }
],
"operations": {
"list": {
"method": "POST",
"path": { "value": "/events/search" },
"bodyTemplate": {
"value": "{\"filter\":{\"query\":\"{{query}}\",\"from\":\"{{from}}\",\"to\":\"{{to}}\"},\"page\":{\"limit\":{{limit}}}}",
"placeholders": [
{ "name": "query", "type": "String", "description": "Log search query.", "required": false },
{ "name": "from", "type": "String", "description": "Start time (ISO 8601 or relative).", "required": true },
{ "name": "to", "type": "String", "description": "End time (ISO 8601 or relative).", "required": true },
{ "name": "limit", "type": "Integer", "description": "Max results per page.", "required": false }
]
}
},
"create": {
"method": "POST",
"path": { "value": "" },
"bodyTemplate": {
"value": "[{\"message\":\"{{message}}\",\"service\":\"{{service}}\",\"ddtags\":\"{{tags}}\",\"hostname\":\"{{host}}\"}]",
"placeholders": [
{ "name": "message", "type": "String", "description": "Log message.", "required": true },
{ "name": "service", "type": "String", "description": "Service name.", "required": false },
{ "name": "tags", "type": "String", "description": "Comma-separated tags.", "required": false },
{ "name": "host", "type": "String", "description": "Host name.", "required": false }
]
}
}
},
"webhooks": [
{
"event": "log_alert", "path": "/webhooks/datadog/logs/alert",
"payload": [
{ "name": "id", "type": "String", "selector": ["id"], "meta": { "description": "Log entry ID." } },
{ "name": "message", "type": "String", "selector": ["attributes", "message"], "meta": { "description": "Log message." } },
{ "name": "status", "type": "String", "selector": ["attributes", "status"], "meta": { "description": "Log status/severity." } }
]
}
]
},
{
"handle": "synthetics",
"meta": {
"short": "Synthetics",
"description": "Manage synthetic API and browser tests."
},
"endpoint": {
"value": "/api/v1/synthetics/tests"
},
"fields": [
{ "name": "public_id", "type": "String", "selector": ["public_id"], "meta": { "description": "Public ID of the synthetic test." } },
{ "name": "name", "type": "String", "selector": ["name"], "meta": { "description": "Test name." } },
{ "name": "type", "type": "String", "selector": ["type"], "meta": { "description": "Test type: api or browser." } },
{ "name": "status", "type": "String", "selector": ["status"], "meta": { "description": "Test status: live or paused." } },
{ "name": "monitor_id", "type": "Integer", "selector": ["monitor_id"], "meta": { "description": "Associated monitor ID." } },
{ "name": "tags", "type": "String", "multivalue": true, "selector": ["tags"], "meta": { "description": "Tags applied to the test." } },
{ "name": "locations", "type": "String", "multivalue": true, "selector": ["locations"], "meta": { "description": "Test locations." } }
],
"operations": {
"list": {
"method": "GET",
"path": { "value": "" }
},
"read": {
"method": "GET",
"path": { "value": "/{{public_id}}", "placeholders": [{ "name": "public_id", "type": "String", "description": "The test public ID.", "required": true }] }
},
"create": {
"method": "POST",
"path": { "value": "" },
"bodyTemplate": {
"value": "{\"name\":\"{{name}}\",\"type\":\"{{type}}\",\"config\":{{config}},\"locations\":{{locations}},\"options\":{{options}}}",
"placeholders": [
{ "name": "name", "type": "String", "description": "Test name.", "required": true },
{ "name": "type", "type": "String", "description": "Test type: api or browser.", "required": true, "options": ["api", "browser"] },
{ "name": "config", "type": "String", "description": "JSON object with test config (request, assertions).", "required": true },
{ "name": "locations", "type": "String", "description": "JSON array of location identifiers.", "required": true },
{ "name": "options", "type": "String", "description": "JSON object with test options (tick_every, min_failure_duration).", "required": false }
]
}
},
"delete": {
"method": "POST",
"path": { "value": "/delete" },
"bodyTemplate": {
"value": "{\"public_ids\":[\"{{public_id}}\"]}",
"placeholders": [{ "name": "public_id", "type": "String", "description": "Public ID of the test to delete.", "required": true }]
}
}
},
"webhooks": [
{
"event": "synthetic_test_result", "path": "/webhooks/datadog/synthetics/result",
"payload": [
{ "name": "public_id", "type": "String", "selector": ["public_id"], "meta": { "description": "Public ID of the synthetic test." } },
{ "name": "name", "type": "String", "selector": ["name"], "meta": { "description": "Test name." } },
{ "name": "status", "type": "String", "selector": ["status"], "meta": { "description": "Result status: passed or failed." } }
]
}
]
},
{
"handle": "slos",
"meta": {
"short": "SLOs",
"description": "Create and manage Service Level Objectives (SLOs)."
},
"endpoint": {
"value": "/api/v1/slo"
},
"fields": [
{ "name": "id", "type": "String", "selector": ["id"], "meta": { "description": "SLO ID." } },
{ "name": "name", "type": "String", "selector": ["name"], "meta": { "description": "SLO name." } },
{ "name": "type", "type": "String", "selector": ["type"], "meta": { "description": "SLO type: metric or monitor." } },
{ "name": "description", "type": "String", "selector": ["description"], "meta": { "description": "SLO description." } },
{ "name": "target", "type": "Float", "selector": ["thresholds", "0", "target"], "meta": { "description": "Target SLO percentage (e.g., 99.9)." } },
{ "name": "timeframe", "type": "String", "selector": ["thresholds", "0", "timeframe"], "meta": { "description": "SLO timeframe: 7d, 30d, or 90d." } },
{ "name": "tags", "type": "String", "multivalue": true, "selector": ["tags"], "meta": { "description": "Tags applied to the SLO." } },
{ "name": "created_at", "type": "Integer", "selector": ["created_at"], "meta": { "description": "POSIX timestamp when the SLO was created." } },
{ "name": "modified_at", "type": "Integer", "selector": ["modified_at"], "meta": { "description": "POSIX timestamp when the SLO was last modified." } }
],
"operations": {
"list": {
"method": "GET",
"path": { "value": "s" },
"queryParams": {
"tags_query": { "value": "{{tags_query}}", "placeholders": [{ "name": "tags_query", "type": "String", "description": "Filter SLOs by tags.", "required": false }] }
}
},
"read": {
"method": "GET",
"path": { "value": "/{{slo_id}}", "placeholders": [{ "name": "slo_id", "type": "String", "description": "The SLO ID.", "required": true }] }
},
"create": {
"method": "POST",
"path": { "value": "s" },
"bodyTemplate": {
"value": "{\"name\":\"{{name}}\",\"type\":\"{{type}}\",\"description\":\"{{description}}\",\"thresholds\":[{\"target\":{{target}},\"timeframe\":\"{{timeframe}}\"}],\"tags\":{{tags}}}",
"placeholders": [
{ "name": "name", "type": "String", "description": "SLO name.", "required": true },
{ "name": "type", "type": "String", "description": "SLO type: metric or monitor.", "required": true, "options": ["metric", "monitor"] },
{ "name": "description", "type": "String", "description": "SLO description.", "required": false },
{ "name": "target", "type": "Float", "description": "Target percentage (e.g., 99.9).", "required": true },
{ "name": "timeframe", "type": "String", "description": "Timeframe: 7d, 30d, or 90d.", "required": true, "options": ["7d", "30d", "90d"] },
{ "name": "tags", "type": "String", "description": "JSON array of tag strings.", "required": false }
]
}
},
"update": {
"method": "PUT",
"path": { "value": "/{{slo_id}}", "placeholders": [{ "name": "slo_id", "type": "String", "description": "The SLO ID.", "required": true }] },
"bodyTemplate": {
"value": "{\"name\":\"{{name}}\",\"description\":\"{{description}}\",\"thresholds\":[{\"target\":{{target}},\"timeframe\":\"{{timeframe}}\"}]}",
"placeholders": [
{ "name": "name", "type": "String", "description": "SLO name.", "required": false },
{ "name": "description", "type": "String", "description": "SLO description.", "required": false },
{ "name": "target", "type": "Float", "description": "Target percentage.", "required": false },
{ "name": "timeframe", "type": "String", "description": "Timeframe: 7d, 30d, or 90d.", "required": false }
]
}
},
"delete": {
"method": "DELETE",
"path": { "value": "/{{slo_id}}", "placeholders": [{ "name": "slo_id", "type": "String", "description": "The SLO ID.", "required": true }] }
}
},
"webhooks": [
{
"event": "slo_alert", "path": "/webhooks/datadog/slos/alert",
"payload": [
{ "name": "id", "type": "String", "selector": ["id"], "meta": { "description": "SLO ID." } },
{ "name": "name", "type": "String", "selector": ["name"], "meta": { "description": "SLO name." } },
{ "name": "status", "type": "String", "selector": ["status"], "meta": { "description": "SLO status/alerting state." } }
]
}
]
},
{
"handle": "users",
"meta": {
"short": "Users",
"description": "Manage Datadog user accounts within an organization."
},
"endpoint": {
"value": "/api/v2/users"
},
"fields": [
{ "name": "id", "type": "String", "selector": ["data", "id"], "meta": { "description": "User ID (UUID)." } },
{ "name": "name", "type": "String", "selector": ["data", "attributes", "name"], "meta": { "description": "User full name." } },
{ "name": "email", "type": "String", "selector": ["data", "attributes", "email"], "meta": { "description": "User email address." } },
{ "name": "handle", "type": "String", "selector": ["data", "attributes", "handle"], "meta": { "description": "User handle (usually email)." } },
{ "name": "status", "type": "String", "selector": ["data", "attributes", "status"], "meta": { "description": "User status: Active, Disabled, or Pending." } },
{ "name": "verified", "type": "Boolean", "selector": ["data", "attributes", "verified"], "meta": { "description": "Whether the user's email is verified." } },
{ "name": "created_at", "type": "String", "selector": ["data", "attributes", "created_at"], "meta": { "description": "Timestamp when the user was created." } }
],
"operations": {
"list": {
"method": "GET",
"path": { "value": "" },
"queryParams": {
"filter": { "value": "{{filter}}", "placeholders": [{ "name": "filter", "type": "String", "description": "Filter users by email or name.", "required": false }] },
"page[size]": { "value": "{{page_size}}", "placeholders": [{ "name": "page_size", "type": "Integer", "description": "Number of results per page.", "required": false }] }
}
},
"read": {
"method": "GET",
"path": { "value": "/{{user_id}}", "placeholders": [{ "name": "user_id", "type": "String", "description": "The user ID (UUID).", "required": true }] }
},
"create": {
"method": "POST",
"path": { "value": "" },
"bodyTemplate": {
"value": "{\"data\":{\"type\":\"users\",\"attributes\":{\"name\":\"{{name}}\",\"email\":\"{{email}}\"}}}",
"placeholders": [
{ "name": "name", "type": "String", "description": "User full name.", "required": true },
{ "name": "email", "type": "String", "description": "User email address.", "required": true }
]
}
},
"update": {
"method": "PATCH",
"path": { "value": "/{{user_id}}", "placeholders": [{ "name": "user_id", "type": "String", "description": "The user ID (UUID).", "required": true }] },
"bodyTemplate": {
"value": "{\"data\":{\"type\":\"users\",\"id\":\"{{user_id}}\",\"attributes\":{\"name\":\"{{name}}\",\"disabled\":{{disabled}}}}}",
"placeholders": [
{ "name": "user_id", "type": "String", "description": "The user ID (UUID).", "required": true },
{ "name": "name", "type": "String", "description": "Updated user name.", "required": false },
{ "name": "disabled", "type": "Boolean", "description": "Whether to disable the user.", "required": false }
]
}
}
},
"webhooks": [
{
"event": "user_created", "path": "/webhooks/datadog/users/created",
"payload": [
{ "name": "id", "type": "String", "selector": ["data", "id"], "meta": { "description": "User ID (UUID)." } },
{ "name": "name", "type": "String", "selector": ["data", "attributes", "name"], "meta": { "description": "User full name." } },
{ "name": "email", "type": "String", "selector": ["data", "attributes", "email"], "meta": { "description": "User email address." } }
]
}
]
},
{
"handle": "organizations",
"meta": {
"short": "Organizations",
"description": "Retrieve information about the Datadog organization."
},
"endpoint": {
"value": "/api/v1/org"
},
"fields": [
{ "name": "public_id", "type": "String", "selector": ["org", "public_id"], "meta": { "description": "Organization public ID." } },
{ "name": "name", "type": "String", "selector": ["org", "name"], "meta": { "description": "Organization name." } },
{ "name": "description", "type": "String", "selector": ["org", "description"], "meta": { "description": "Organization description." } },
{ "name": "created", "type": "String", "selector": ["org", "created"], "meta": { "description": "Timestamp when the organization was created." } },
{ "name": "trial", "type": "Boolean", "selector": ["org", "trial"], "meta": { "description": "Whether the organization is on a trial." } }
],
"operations": {
"read": {
"method": "GET",
"path": { "value": "" }
}
},
"webhooks": [
{
"event": "organization_updated", "path": "/webhooks/datadog/organizations/updated",
"payload": [
{ "name": "public_id", "type": "String", "selector": ["org", "public_id"], "meta": { "description": "Organization public ID." } },
{ "name": "name", "type": "String", "selector": ["org", "name"], "meta": { "description": "Organization name." } }
]
}
]
}
]