> ## Documentation Index
> Fetch the complete documentation index at: https://docs.archal.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Datadog

> Observability REST API: metrics, logs, monitors, dashboards, SLOs, incidents, teams, users, and service definitions.

Datadog is included in Archal's environment catalog. Use it in a sandbox for observability REST API: metrics, logs, monitors, dashboards, SLOs, incidents, teams, users, and service definitions.

| | |
| - | - |
| Environment ID | `datadog` |
| Transport | REST |
| State | JSON |
| Contract | `archal.environment-state.datadog` version `1` |
| Channel | Public |
| Curated samples | 5 |

Public means the environment is released and startable. It still describes a bounded provider surface, not a promise that every upstream operation exists.

## Compatibility boundary

**Local catalog validation:** All five published samples passed. Checks cover the state contract, relationships, artifact hash, secret scan, and size limit.

> [!NOTE]
>
> Local catalog validation is not hosted proof. Archal checks current certification, reset, and isolation evidence before admitting new sandboxes. Use the authenticated environment catalog for live availability.

* Queries and resource families are bounded to the deterministic domain simulator.

## Curated starting states

List the five samples with `archal sample list datadog`. Each sample is a versioned starting state with a representative read, mutation, expected diff, reset expectation, and verified artifact hash.

> [accordion] Datadog CPU monitor baseline
>
> Inspect one deterministic CPU monitor, then add a distinct memory monitor without unrelated telemetry.
>
> **Sample ID:** `datadog.cpu-monitor-baseline.v1`
>
> **Category:** `minimal`
>
> **Starting state:** 1 record across `_datadogSimulator.monitors`: 1
>
> **Supported surface:** Stateful metrics, monitors, events, incidents, dashboards, and modeled resources.
>
> **Required capabilities:** `state.read`, `state.load`, `state.reset`, `rest.monitors`
>
> **First read:** `GET /api/v1/monitor/20000001`. Expected result: HTTP 200.
>
> **Representative mutation:** `POST /api/v1/monitor`. Expected result: HTTP 200, 201.
>
> **Mutation input**
>
> ```json theme={null}
> {
>   "message": "Checkout API available memory is below 20% for ten minutes.",
>   "name": "Checkout API low available memory",
>   "query": "avg(last_10m):avg:system.mem.pct_usable{service:checkout-api,env:staging} < 20",
>   "tags": [
>     "service:checkout-api",
>     "env:staging",
>     "team:platform"
>   ],
>   "type": "query alert"
> }
> ```
>
> **Expected diff:** changes include `_datadogSimulator.monitors`. Exact match required: no. Hosted promotion must observe every listed path after the provider-native mutation; dynamic provider ids and timestamps are excluded from exact matching.
>
> **Expected reset:** restores loaded sample.
>
> **Known limits**
>
> * Queries and resource families are bounded to the deterministic domain simulator.
>
> **Start this sample**
>
> ```bash theme={null}
> archal sample show datadog.cpu-monitor-baseline.v1 --raw > archal-datadog-cpu-monitor-baseline.json
> archal state validate datadog archal-datadog-cpu-monitor-baseline.json
> archal session create datadog \
>   --state datadog=archal-datadog-cpu-monitor-baseline.json
> ```
>
> **Inspect the raw state**
>
> ```bash theme={null}
> archal sample show datadog.cpu-monitor-baseline.v1 --raw
> ```
>
> The packaged JSON artifact is `samples/states/datadog/cpu-monitor-baseline/state.json` and is 945 bytes. The CLI verifies SHA-256 `b681752c3146ab4d37d74bbc58a30bf8ab7d35643a4cbdea653bcc4a4640ce45` before printing it.
>
> Catalog validation: **Passed**. Hosted availability is determined by Archal's live certification and admission system, not this static page.

> [accordion] Datadog platform monitoring team
>
> Model CPU and memory metrics with two monitors owned by a small platform team.
>
> **Sample ID:** `datadog.platform-monitoring-team.v1`
>
> **Category:** `small-team`
>
> **Starting state:** 42 records across `_datadogSimulator.monitors`: 2, `_datadogSimulator.submittedSeries`: 40
>
> **Supported surface:** Stateful metrics, monitors, events, incidents, dashboards, and modeled resources.
>
> **Required capabilities:** `state.read`, `state.load`, `state.reset`, `rest.monitors`
>
> **First read:** `GET /api/v1/monitor/20000002`. Expected result: HTTP 200.
>
> **Representative mutation:** `POST /api/v1/monitor`. Expected result: HTTP 200, 201.
>
> **Mutation input**
>
> ```json theme={null}
> {
>   "message": "Billing worker CPU is above 75% while the settlement queue is active.",
>   "name": "Billing worker high CPU",
>   "query": "avg(last_5m):avg:system.cpu.user{service:billing-worker,env:staging} > 75",
>   "tags": [
>     "service:billing-worker",
>     "env:staging",
>     "team:payments-platform"
>   ],
>   "type": "query alert"
> }
> ```
>
> **Expected diff:** changes include `_datadogSimulator.monitors`. Exact match required: no. Hosted promotion must observe every listed path after the provider-native mutation; dynamic provider ids and timestamps are excluded from exact matching.
>
> **Expected reset:** restores loaded sample.
>
> **Known limits**
>
> * Queries and resource families are bounded to the deterministic domain simulator.
>
> **Start this sample**
>
> ```bash theme={null}
> archal sample show datadog.platform-monitoring-team.v1 --raw > archal-datadog-platform-monitoring-team.json
> archal state validate datadog archal-datadog-platform-monitoring-team.json
> archal session create datadog \
>   --state datadog=archal-datadog-platform-monitoring-team.json
> ```
>
> **Inspect the raw state**
>
> ```bash theme={null}
> archal sample show datadog.platform-monitoring-team.v1 --raw
> ```
>
> The packaged JSON artifact is `samples/states/datadog/platform-monitoring-team/state.json` and is 10,975 bytes. The CLI verifies SHA-256 `84bbfc992ba674b8bc40c8c5621beeafa539a99d183cc50967b67159175b2425` before printing it.
>
> Catalog validation: **Passed**. Hosted availability is determined by Archal's live certification and admission system, not this static page.

> [accordion] Datadog populated telemetry corpus
>
> Exercise monitor, series, event, dashboard, incident, service, team, and user resource reads.
>
> **Sample ID:** `datadog.telemetry-corpus.v1`
>
> **Category:** `populated`
>
> **Starting state:** 101 records across `_datadogSimulator.events`: 1, `_datadogSimulator.monitors`: 3, `_datadogSimulator.resources`: 7, `_datadogSimulator.submittedSeries`: 90
>
> **Supported surface:** Stateful metrics, monitors, events, incidents, dashboards, and modeled resources.
>
> **Required capabilities:** `state.read`, `state.load`, `state.reset`, `rest.monitors`
>
> **First read:** `GET /api/v1/monitor/20000003`. Expected result: HTTP 200.
>
> **Representative mutation:** `POST /api/v1/monitor`. Expected result: HTTP 200, 201.
>
> **Mutation input**
>
> ```json theme={null}
> {
>   "message": "Connector worker available memory is below 25% across the last ten minutes.",
>   "name": "Connector worker low available memory",
>   "query": "avg(last_10m):avg:system.mem.pct_usable{service:connector-worker,env:staging} < 25",
>   "tags": [
>     "service:connector-worker",
>     "env:staging",
>     "team:integrations"
>   ],
>   "type": "query alert"
> }
> ```
>
> **Expected diff:** changes include `_datadogSimulator.monitors`. Exact match required: no. Hosted promotion must observe every listed path after the provider-native mutation; dynamic provider ids and timestamps are excluded from exact matching.
>
> **Expected reset:** restores loaded sample.
>
> **Known limits**
>
> * Queries and resource families are bounded to the deterministic domain simulator.
>
> **Start this sample**
>
> ```bash theme={null}
> archal sample show datadog.telemetry-corpus.v1 --raw > archal-datadog-telemetry-corpus.json
> archal state validate datadog archal-datadog-telemetry-corpus.json
> archal session create datadog \
>   --state datadog=archal-datadog-telemetry-corpus.json
> ```
>
> **Inspect the raw state**
>
> ```bash theme={null}
> archal sample show datadog.telemetry-corpus.v1 --raw
> ```
>
> The packaged JSON artifact is `samples/states/datadog/telemetry-corpus/state.json` and is 25,006 bytes. The CLI verifies SHA-256 `65ab75e5ea95c5743efd2432da35f53707b59806da2985ec7d5977e5e39ea34b` before printing it.
>
> Catalog validation: **Passed**. Hosted availability is determined by Archal's live certification and admission system, not this static page.

> [accordion] Datadog no-data monitor
>
> Verify a monitor with no submitted points remains in the No Data state and survives reset.
>
> **Sample ID:** `datadog.no-data-monitor.v1`
>
> **Category:** `edge-case`
>
> **Starting state:** 1 record across `_datadogSimulator.monitors`: 1
>
> **Supported surface:** Stateful metrics, monitors, events, incidents, dashboards, and modeled resources.
>
> **Required capabilities:** `state.read`, `state.load`, `state.reset`, `rest.monitors`
>
> **First read:** `GET /api/v1/monitor/20000001`. Expected result: HTTP 200.
>
> **Representative mutation:** `POST /api/v1/monitor`. Expected result: HTTP 200, 201.
>
> **Mutation input**
>
> ```json theme={null}
> {
>   "message": "Billing worker CPU is above 75% while no checkout points are arriving.",
>   "name": "Billing worker high CPU",
>   "query": "avg(last_5m):avg:system.cpu.user{service:billing-worker,env:staging} > 75",
>   "tags": [
>     "service:billing-worker",
>     "env:staging",
>     "team:payments-platform"
>   ],
>   "type": "query alert"
> }
> ```
>
> **Expected diff:** changes include `_datadogSimulator.monitors`. Exact match required: no. Hosted promotion must observe every listed path after the provider-native mutation; dynamic provider ids and timestamps are excluded from exact matching.
>
> **Expected reset:** restores loaded sample.
>
> **Known limits**
>
> * Queries and resource families are bounded to the deterministic domain simulator.
>
> **Start this sample**
>
> ```bash theme={null}
> archal sample show datadog.no-data-monitor.v1 --raw > archal-datadog-no-data-monitor.json
> archal state validate datadog archal-datadog-no-data-monitor.json
> archal session create datadog \
>   --state datadog=archal-datadog-no-data-monitor.json
> ```
>
> **Inspect the raw state**
>
> ```bash theme={null}
> archal sample show datadog.no-data-monitor.v1 --raw
> ```
>
> The packaged JSON artifact is `samples/states/datadog/no-data-monitor/state.json` and is 1,038 bytes. The CLI verifies SHA-256 `4dc256c94bd283141d8a77a3b85ea98a3b9aa03307d193f685db1ae083a333c1` before printing it.
>
> Catalog validation: **Passed**. Hosted availability is determined by Archal's live certification and admission system, not this static page.

> [accordion] Datadog incident response workflow
>
> Start from an alerting monitor, matching metric point, deploy event, and active incident before mutation.
>
> **Sample ID:** `datadog.incident-response-workflow.v1`
>
> **Category:** `workflow`
>
> **Starting state:** 11 records across `_datadogSimulator.events`: 1, `_datadogSimulator.monitors`: 1, `_datadogSimulator.resources`: 1, `_datadogSimulator.submittedSeries`: 8
>
> **Supported surface:** Stateful metrics, monitors, events, incidents, dashboards, and modeled resources.
>
> **Required capabilities:** `state.read`, `state.load`, `state.reset`, `rest.monitors`
>
> **First read:** `GET /api/v1/monitor/20000001`. Expected result: HTTP 200.
>
> **Representative mutation:** `POST /api/v1/monitor`. Expected result: HTTP 200, 201.
>
> **Mutation input**
>
> ```json theme={null}
> {
>   "message": "Keep INC-2027-014 open until webhook delivery errors remain below 5%.",
>   "name": "INC-2027-014 webhook delivery recovery",
>   "query": "avg(last_5m):avg:api_gateway.webhook.delivery_error_pct{service:api-gateway,env:production} > 5",
>   "tags": [
>     "service:api-gateway",
>     "env:production",
>     "team:platform",
>     "incident:INC-2027-014"
>   ],
>   "type": "query alert"
> }
> ```
>
> **Expected diff:** changes include `_datadogSimulator.monitors`. Exact match required: no. Hosted promotion must observe every listed path after the provider-native mutation; dynamic provider ids and timestamps are excluded from exact matching.
>
> **Expected reset:** restores loaded sample.
>
> **Known limits**
>
> * Queries and resource families are bounded to the deterministic domain simulator.
>
> **Start this sample**
>
> ```bash theme={null}
> archal sample show datadog.incident-response-workflow.v1 --raw > archal-datadog-incident-response-workflow.json
> archal state validate datadog archal-datadog-incident-response-workflow.json
> archal session create datadog \
>   --state datadog=archal-datadog-incident-response-workflow.json
> ```
>
> **Inspect the raw state**
>
> ```bash theme={null}
> archal sample show datadog.incident-response-workflow.v1 --raw
> ```
>
> The packaged JSON artifact is `samples/states/datadog/incident-response-workflow/state.json` and is 4,503 bytes. The CLI verifies SHA-256 `a90a2318a3d1687813246f77eecb0b3499e97e99691a5ee50f780d79c96cbc60` before printing it.
>
> Catalog validation: **Passed**. Hosted availability is determined by Archal's live certification and admission system, not this static page.

## Use custom state

Start from a sample when possible. For custom state, inspect the contract with `archal environment describe datadog`, then validate the file before creating a sandbox:

```bash theme={null}
archal state validate datadog state.json
```

Loading state replaces the current collections and establishes a new reset baseline. See [Starting state](https://docs.archal.ai/sandboxes/starting-state.md) before replacing state in an existing sandbox.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.