> For the complete documentation index, see [llms.txt](https://docs.planetcrust.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.planetcrust.com/human-connections/datadog/datadog.md).

# Datadog

<p align="center"><a class="button primary" data-icon="circle-caret-right">Try @Human</a><a class="button primary" data-icon="check">Buy @Human Subscription</a><a class="button primary" data-icon="comments">Join @Human Community</a></p>

<figure><img src="/files/vZ8ipwxyr9F6k6pQq8ry" alt="" width="250"><figcaption></figcaption></figure>

<h3 align="center">Put Datadog to Work with @Human Automations and @Human Agents</h3>

<p align="center">The Datadog Connection documents all Triggers, Actions and Query Operations available for creating automations via the Datadog API.</p>

{% embed url="<https://www.youtube.com/watch?v=CyuUuaBSZzA>" %}

#### What can you do with the Datadog Connection?

* Connect to the Datadog API in a few clicks
* Use the related Datadog Operations (see below) in @Human Automations or @Human Agents

### Related Operations

#### Trigger Operations

**Metric Alert**

Triggers on: metrics/metric\_alert

Triggered when a metric alert is fired in Datadog.

**Event Created**

Triggers on: events/event\_created

Triggered when a new event is created in the Datadog event stream.

**Monitor Alert**

Triggers on: monitors/monitor\_alert

Triggered when a monitor enters an alert state.

**Monitor Recovery**

Triggers on: monitors/monitor\_recovery

Triggered when a monitor recovers from an alert or warning state.

**Dashboard Created**

Triggers on: dashboards/dashboard\_created

Triggered when a new dashboard is created in Datadog.

**Dashboard Updated**

Triggers on: dashboards/dashboard\_updated

Triggered when an existing dashboard is modified.

**Downtime Started**

Triggers on: downtimes/downtime\_started

Triggered when a scheduled downtime period begins.

**Downtime Ended**

Triggers on: downtimes/downtime\_ended

Triggered when a scheduled downtime period concludes.

**Host Status Changed**

Triggers on: hosts/host\_status\_changed

Triggered when the reporting status of a host changes.

**Service Check Alert**

Triggers on: service\_checks/service\_check\_alert

Triggered when a service check results in an alert status.

**Log Alert**

Triggers on: logs/log\_alert

Triggered when a log-based monitor alert is fired.

**Synthetic Test Result**

Triggers on: synthetics/synthetic\_test\_result

Triggered when a synthetic test provides a pass or fail result.

**SLO Alert**

Triggers on: slos/slo\_alert

Triggered when a Service Level Objective alert is triggered.

**User Created**

Triggers on: users/user\_created

Triggered when a new user is invited or created in the organization.

**Organization Updated**

Triggers on: organizations/organization\_updated

Triggered when the organization settings or metadata are updated.

Example link

#### Action Operations

[Action: New Metric Post](/human-connections/datadog/datadog/action-new-metric-post.md)

[Action: API Request](/human-connections/datadog/datadog/action-api-request.md)

#### Query Operations

Example link

### Related Automations

Example link

### Obtaining Access Credentials

To obtain a **System-to-System Personal Access Token (PAT)** for **Datadog**, follow these steps:

#### **Prerequisites**

* A **Datadog account** with **Admin** or **API Key management** permissions.
* Access to the **Datadog UI** ([app.datadoghq.com](https://app.datadoghq.com)).

#### **Steps to Generate a PAT**

1. **Log in** to the Datadog UI.
2. Navigate to: **Organization Settings** → **API Keys** (or directly visit: <https://app.datadoghq.com/organization-settings/api-keys>).
3. Under the **Personal Access Tokens** section, click **+ New Personal Access Token**.
4. Provide:
   * **Token Name** (descriptive, e.g., `system-to-system-integration`).
   * **Scopes** (select required permissions, e.g., `api_key_read`, `api_key_write`, `dashboards_read`, etc.).
5. Click **Create Token**.
6. **Copy the generated token immediately** (it will **not** be shown again).

**Done.** Use this token for system-to-system authentication.

### Configuring Webhooks

1. **Log in** to your Datadog account.
2. Navigate to **Integrations** → **Integrations** in the left-hand sidebar.
3. Search for **Webhooks** in the search bar and click on the **Webhooks** tile.
4. If the integration is not installed, click **Install**. If it is already installed, click **Configure**.
5. Scroll down to the **Webhooks** section and click **New Webhook**.
6. Provide a **Name** for the webhook (e.g., `human-webhook`).
7. Enter the **URL** provided by your integration (e.g., `https://your-endpoint.com/webhook`).
8. (Optional) Define a custom **Payload** or add **Custom Headers** if required.
9. Click **Save**.

### Code (Apache v2.0): Service Connectivity and Metadata

```
{
  "handle": "datadog",
  "status": "active",
  "meta": {
    "short": "Datadog",
    "description": "Connect to Datadog for monitoring, analytics, and event tracking.",
    "icon": "datadog",
    "tags": ["monitoring", "analytics", "events", "devops", "observability"]
  },
  "service": {
    "baseURL": {
      "value": "https://api.{{region}}.datadoghq.com",
      "placeholders": [
        {
          "name": "region",
          "type": "String",
          "description": "Datadog site region (e.g., datadoghq.com → us1, datadoghq.eu → eu1).",
          "required": true
        }
      ]
    },
    "protocol": "https",
    "contentType": "application/json",
    "headers": {
      "DD-API-KEY": {
        "value": "{{apiKey}}",
        "placeholders": [
          {
            "name": "apiKey",
            "type": "String",
            "description": "Datadog API key.",
            "required": true
          }
        ]
      },
      "DD-APPLICATION-KEY": {
        "value": "{{appKey}}",
        "placeholders": [
          {
            "name": "appKey",
            "type": "String",
            "description": "Datadog application key (required for read/write operations beyond metrics submission).",
            "required": false
          }
        ]
      }
    },
    "auth": {
      "method": "api_token",
      "params": {
        "apiToken": {
          "token": {
            "value": "{{apiKey}}"
          },
          "headerName": {
            "value": "DD-API-KEY"
          }
        }
      }
    }
  }
}

```

### Code (Apache v2.0): List of External Resources and Internal Mapping

```
[
  {
    "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." } }
        ]
      }
    ]
  }
]

```

<p align="center"><a class="button primary" data-icon="square-caret-right">Try @Human</a><a class="button primary" data-icon="check">Buy @Human Subscription</a><a class="button primary" data-icon="comments">Join @Human Community</a></p>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.planetcrust.com/human-connections/datadog/datadog.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
