:dog2: Give Your Agent a Puppy: Introducing Pup CLI
Every AI agent needs a loyal companion. Meet Pup — the CLI that gives your agents full access to Datadog's observability platform (because even autonomous agents need good tooling, not just tricks).
What is Pup?
A comprehensive, AI-agent-ready CLI covering a wide range of Datadog product domains. We've unleashed the full power of Datadog's APIs so your agents can fetch metrics, sniff out errors, and track down issues without barking up the wrong API tree.
AI agents are the fastest-growing interface for infrastructure management. Companies like Vercel and AWS are racing to make their platforms agent-accessible, but we're leading the pack. Pup makes Datadog a great choice for AI-native workflows by exposing the API surface in a way agents can navigate without barking up the wrong tree.
Why Your Agent Will Love It
- :paw_prints: Well-trained: Self-discoverable commands (no need to chase documentation)
- :guide_dog: Obedient: Structured JSON/YAML output for easy parsing
- :service_dog: On a leash: OAuth2 + PKCE for scoped access (no more long-lived keys running wild)
- :dog: Knows all the tricks: Monitors, logs, metrics, RUM, security and more!
Try It (Humans Welcome Too!)
# Give your agent credentials (house-training, basically)
pup auth login
# Now they can fetch data like a good pup
pup monitors list --tags="team:api-platform" # Fetch monitors
pup logs search --query="status:error" --from="1h" # Sniff out errors
pup metrics query --query="avg:system.cpu.user{*}" # Track the metrics tail
:dog: TL;DR: We built a comprehensive CLI so AI agents can use Datadog like a pro. Give your agent a pup. They're housetrained, loyal, and know way more tricks than you'd expect.
P.S. No actual puppies were harmed in the making of this CLI. Just a lot of Rust code and API endpoints.
API Coverage
Pup covers most major Datadog product surfaces. See
docs/COMMANDS.md for the canonical command reference, or run
pup --help (or pup agent schema for machine-readable output) for the live
list of commands as built.
💡 Tip: Use Ctrl/Cmd+F to search for specific APIs. Request features via GitHub Issues.
📊 Core Observability
| API Domain | Status | Pup Commands | Notes |
|---|---|---|---|
| Metrics | ✅ | metrics search, metrics query, metrics list, metrics get |
V1 and V2 APIs supported |
| Logs | ✅ | logs search, logs list, logs aggregate |
V1 and V2 APIs supported |
| Events | ✅ | events list, events search, events get |
Infrastructure event management |
| RUM | ✅ | rum apps, rum sessions, rum events, rum aggregate, rum metrics, rum retention-filters, rum playlists, rum replay, rum viewership, rum heatmaps |
Apps, sessions, events, metrics, retention filters, replay playlists/segments/viewership, heatmaps |
| APM Services | ✅ | apm services, apm entities, apm dependencies, apm flow-map |
Services stats, operations, resources; entity queries; dependencies; flow visualization |
| Traces | ✅ | traces search, traces aggregate, traces metrics |
Span search/aggregation and span-based metric definitions |
| Profiling | ⏳ | profiling |
Not supported in pup yet. Use the Datadog MCP server: https://docs.datadoghq.com/bits_ai/mcp_server. Enable with: https://mcp.datadoghq.com/api/unstable/mcp-server/mcp?toolsets=core,profiling |
| Database Monitoring | ✅ | dbm samples search |
DBM query sample search |
| Session Replay | ✅ | rum replay segments, rum playlists, rum viewership, rum sessions search |
Segments, playlist CRUD, viewership; discover sessions via RUM (not logs) |
🔔 Monitoring & Alerting
| API Domain | Status | Pup Commands | Notes |
|---|---|---|---|
| Monitors | ✅ | monitors list, monitors get, monitors delete, monitors search |
Full CRUD support with advanced search |
| Dashboards | ✅ | dashboards list, dashboards get, dashboards delete, dashboards url |
Full management capabilities |
| SLOs | ✅ | slos list, slos get, slos delete, slos status |
Full CRUD plus V2 status query |
| Synthetics | ✅ | synthetics tests, synthetics locations, synthetics suites |
Tests, locations, and V2 suites management |
| Downtimes | ✅ | downtime list, downtime get, downtime cancel |
Full downtime management |
| Notebooks | ✅ | notebooks list, notebooks get, notebooks delete |
Investigation notebooks supported |
| Status Pages | ✅ | status-pages pages, status-pages components, status-pages degradations |
New — Pages, components, and degradation management |
| Powerpacks | ❌ | - | Not yet implemented |
| Workflow Automation | ✅ | workflows get, workflows create, workflows update, workflows delete, workflows run, workflows instances |
Full CRUD plus run and instance management (list, get, cancel) |
| Local Runbooks | ✅ | runbooks list, runbooks describe, runbooks run, runbooks import, runbooks validate |
New — YAML-defined multi-step runbooks with pup/shell/http/workflow step types, variable interpolation, and reusable templates |
🔒 Security & Compliance
| API Domain | Status | Pup Commands | Notes |
|---|---|---|---|
| Security Monitoring | ✅ | security rules, security signals, security findings, security content-packs, security risk-scores |
Rules, signals, findings, content packs, entity risk scores |
| Cloud Security | ✅ | security findings analyze, security findings schema |
DDSQL analytics for misconfigurations, identity risks, and all Cloud Security finding types |
| Application Security | ✅ | security findings analyze, security asm-custom-rules, security asm-exclusions |
API findings via DDSQL, WAF custom rules and exclusion filters |
| Static Analysis | ✅ | static-analysis ast, static-analysis custom-rulesets, static-analysis sca, static-analysis coverage |
Code security analysis |
| Audit Logs | ✅ | audit-logs list, audit-logs search |
Full audit log search and listing |
| Data Governance | ✅ | data-governance scanner-rules list |
Sensitive data scanner rules |
| Tag Governance | ✅ | governance tag-rules list, governance tag-rules get, governance tag-rules score |
Tag rules and compliance scoring (/api/v2/governance/tag_rules) |
| CSM Threats | ✅ | csm-threats |
Cloud Security Management threat rules and agent rules |
| Sensitive Data Scanner | ✅ | data-governance scanner-rules list |
Listed via Data Governance row above |
| Agentless Scanning | ✅ | agentless-scanning aws list/get/create/update/delete, agentless-scanning gcp list, agentless-scanning azure list |
Cloud agentless scanning configuration for AWS, GCP, and Azure |
| Logs Restriction | ✅ | logs-restriction list, logs-restriction get, logs-restriction create, logs-restriction update, logs-restriction delete |
Log restriction queries for fine-grained log access control |
| Data Deletion | ✅ | data-deletion requests list, data-deletion requests create, data-deletion requests cancel |
GDPR/compliance data deletion request management |
☁️ Infrastructure & Cloud
| API Domain | Status | Pup Commands | Notes |
|---|---|---|---|
| Infrastructure | ✅ | infrastructure hosts list, infrastructure hosts get |
Host inventory management |
| Tags | ✅ | tags list, tags get, tags add, tags update, tags delete |
Host tag operations |
| Network | ✅ | network flows list, network devices, network interfaces |
Network flows, device inventory, interface tags |
| Cloud (AWS) | ✅ | cloud aws list, cloud aws cloud-auth persona-mappings |
AWS integration management with persona mapping CRUD |
| Cloud (GCP) | ✅ | cloud gcp list |
GCP integration management |
| Cloud (Azure) | ✅ | cloud azure list |
Azure integration management |
| Cloud (OCI) | ✅ | cloud oci |
Oracle Cloud tenancy configs and products |
| Containers | ✅ | containers list, containers images list |
Containers |
| Processes | ✅ | processes list |
Process inventory query |
🚨 Incident & Operations
| API Domain | Status | Pup Commands | Notes |
|---|---|---|---|
| Incidents | ✅ | incidents list, incidents get, incidents attachments, `inc |