Datadog · Capability
Datadog Monitors API — Monitors
Datadog Monitors API — Monitors. 5 operations. Lead operation: Datadog Create a Monitor. Self-contained Naftiko capability covering one Datadog business surface.
What You Can Do
POST
Createmonitor
— Datadog Create a Monitor
/v1/api/v1/monitor
GET
Listmonitors
— Datadog List All Monitors
/v1/api/v1/monitor
GET
Getmonitor
— Datadog Get a Monitor
/v1/api/v1/monitor/{monitor-id}
PUT
Updatemonitor
— Datadog Edit a Monitor
/v1/api/v1/monitor/{monitor-id}
DELETE
Deletemonitor
— Datadog Delete a Monitor
/v1/api/v1/monitor/{monitor-id}
MCP Tools
datadog-create-monitor
Datadog Create a Monitor
datadog-list-all-monitors
Datadog List All Monitors
read-only
idempotent
datadog-get-monitor
Datadog Get a Monitor
read-only
idempotent
datadog-edit-monitor
Datadog Edit a Monitor
idempotent
datadog-delete-monitor
Datadog Delete a Monitor
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Datadog Monitors API — Monitors
description: 'Datadog Monitors API — Monitors. 5 operations. Lead operation: Datadog Create a Monitor. Self-contained Naftiko
capability covering one Datadog business surface.'
tags:
- Datadog
- Monitors
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
DATADOG_API_KEY: DATADOG_API_KEY
capability:
consumes:
- type: http
namespace: monitors-monitors
baseUri: https://api.datadoghq.com
description: Datadog Monitors API — Monitors business capability. Self-contained, no shared references.
resources:
- name: api-v1-monitor
path: /api/v1/monitor
operations:
- name: createmonitor
method: POST
description: Datadog Create a Monitor
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: listmonitors
method: GET
description: Datadog List All Monitors
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: group_states
in: query
type: string
description: Comma-separated list of group states to filter monitors by (alert, ignored, no data, ok, skipped, unknown,
warn)
- name: name
in: query
type: string
description: Filter monitors by name substring match
- name: tags
in: query
type: string
description: Comma-separated list of tags to filter monitors by
- name: monitor_tags
in: query
type: string
description: Comma-separated list of monitor-specific tags to filter by
- name: with_downtimes
in: query
type: boolean
description: When true, includes downtime information in the response
- name: id_offset
in: query
type: integer
description: Monitor ID to start paginating from (for cursor-based pagination)
- name: page
in: query
type: integer
description: The page number to retrieve (zero-indexed, for offset-based pagination)
- name: page_size
in: query
type: integer
description: The number of monitors to return per page (default 100, max 1000)
- name: api-v1-monitor-monitor_id
path: /api/v1/monitor/{monitor_id}
operations:
- name: getmonitor
method: GET
description: Datadog Get a Monitor
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: group_states
in: query
type: string
description: Comma-separated group states to include in the response (alert, ignored, no data, ok, skipped, unknown,
warn)
- name: with_downtimes
in: query
type: boolean
description: When true, includes active downtime information in the response
- name: updatemonitor
method: PUT
description: Datadog Edit a Monitor
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: deletemonitor
method: DELETE
description: Datadog Delete a Monitor
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: force
in: query
type: string
description: When true, forcefully deletes the monitor even if it is referenced by SLOs or composite monitors
authentication:
type: apikey
key: DD-API-KEY
value: '{{env.DATADOG_API_KEY}}'
placement: header
exposes:
- type: rest
namespace: monitors-monitors-rest
port: 8080
description: REST adapter for Datadog Monitors API — Monitors. One Spectral-compliant resource per consumed operation,
prefixed with /v1.
resources:
- path: /v1/api/v1/monitor
name: api-v1-monitor
description: REST surface for api-v1-monitor.
operations:
- method: POST
name: createmonitor
description: Datadog Create a Monitor
call: monitors-monitors.createmonitor
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- method: GET
name: listmonitors
description: Datadog List All Monitors
call: monitors-monitors.listmonitors
with:
group_states: rest.group_states
name: rest.name
tags: rest.tags
monitor_tags: rest.monitor_tags
with_downtimes: rest.with_downtimes
id_offset: rest.id_offset
page: rest.page
page_size: rest.page_size
outputParameters:
- type: object
mapping: $.
- path: /v1/api/v1/monitor/{monitor-id}
name: api-v1-monitor-monitor-id
description: REST surface for api-v1-monitor-monitor_id.
operations:
- method: GET
name: getmonitor
description: Datadog Get a Monitor
call: monitors-monitors.getmonitor
with:
group_states: rest.group_states
with_downtimes: rest.with_downtimes
outputParameters:
- type: object
mapping: $.
- method: PUT
name: updatemonitor
description: Datadog Edit a Monitor
call: monitors-monitors.updatemonitor
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- method: DELETE
name: deletemonitor
description: Datadog Delete a Monitor
call: monitors-monitors.deletemonitor
with:
force: rest.force
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: monitors-monitors-mcp
port: 9090
transport: http
description: MCP adapter for Datadog Monitors API — Monitors. One tool per consumed operation, routed inline through this
capability's consumes block.
tools:
- name: datadog-create-monitor
description: Datadog Create a Monitor
hints:
readOnly: false
destructive: false
idempotent: false
call: monitors-monitors.createmonitor
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: datadog-list-all-monitors
description: Datadog List All Monitors
hints:
readOnly: true
destructive: false
idempotent: true
call: monitors-monitors.listmonitors
with:
group_states: tools.group_states
name: tools.name
tags: tools.tags
monitor_tags: tools.monitor_tags
with_downtimes: tools.with_downtimes
id_offset: tools.id_offset
page: tools.page
page_size: tools.page_size
outputParameters:
- type: object
mapping: $.
- name: datadog-get-monitor
description: Datadog Get a Monitor
hints:
readOnly: true
destructive: false
idempotent: true
call: monitors-monitors.getmonitor
with:
group_states: tools.group_states
with_downtimes: tools.with_downtimes
outputParameters:
- type: object
mapping: $.
- name: datadog-edit-monitor
description: Datadog Edit a Monitor
hints:
readOnly: false
destructive: false
idempotent: true
call: monitors-monitors.updatemonitor
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: datadog-delete-monitor
description: Datadog Delete a Monitor
hints:
readOnly: false
destructive: true
idempotent: true
call: monitors-monitors.deletemonitor
with:
force: tools.force
outputParameters:
- type: object
mapping: $.