Datadog · Capability

Datadog API — Rules

Datadog API — Rules. 54 operations. Lead operation: Datadog Get All Monitor Notification Rules. Self-contained Naftiko capability covering one Datadog business surface.

Run with Naftiko DatadogRules

What You Can Do

GET
Getmonitornotificationrules — Datadog Get All Monitor Notification Rules
/v1/api/v2/monitor/notification-rule
POST
Createmonitornotificationrule — Datadog Create a Monitor Notification Rule
/v1/api/v2/monitor/notification-rule
DELETE
Deletemonitornotificationrule — Datadog Delete a Monitor Notification Rule
/v1/api/v2/monitor/notification-rule/{rule-id}
GET
Getmonitornotificationrule — Datadog Get a Monitor Notification Rule
/v1/api/v2/monitor/notification-rule/{rule-id}
PATCH
Updatemonitornotificationrule — Datadog Update a Monitor Notification Rule
/v1/api/v2/monitor/notification-rule/{rule-id}
GET
Getoncallteamroutingrules — Datadog Get On-call Team Routing Rules
/v1/api/v2/on-call/teams/{team-id}/routing-rules
PUT
Setoncallteamroutingrules — Datadog Set On-call Team Routing Rules
/v1/api/v2/on-call/teams/{team-id}/routing-rules
GET
Listapplicationsecuritywafcustomrules — Datadog List All Waf Custom Rules
/v1/api/v2/remote-config/products/asm/waf/custom-rules
POST
Createapplicationsecuritywafcustomrule — Datadog Create a Waf Custom Rule
/v1/api/v2/remote-config/products/asm/waf/custom-rules
DELETE
Deleteapplicationsecuritywafcustomrule — Datadog Delete a Waf Custom Rule
/v1/api/v2/remote-config/products/asm/waf/custom-rules/{custom-rule-id}
GET
Getapplicationsecuritywafcustomrule — Datadog Get a Waf Custom Rule
/v1/api/v2/remote-config/products/asm/waf/custom-rules/{custom-rule-id}
PUT
Updateapplicationsecuritywafcustomrule — Datadog Update a Waf Custom Rule
/v1/api/v2/remote-config/products/asm/waf/custom-rules/{custom-rule-id}
GET
Listcsmthreatsagentrules — Datadog Get All Workload Protection Agent Rules
/v1/api/v2/remote-config/products/cws/agent-rules
POST
Createcsmthreatsagentrule — Datadog Create a Workload Protection Agent Rule
/v1/api/v2/remote-config/products/cws/agent-rules
DELETE
Deletecsmthreatsagentrule — Datadog Delete a Workload Protection Agent Rule
/v1/api/v2/remote-config/products/cws/agent-rules/{agent-rule-id}
GET
Getcsmthreatsagentrule — Datadog Get a Workload Protection Agent Rule
/v1/api/v2/remote-config/products/cws/agent-rules/{agent-rule-id}
PATCH
Updatecsmthreatsagentrule — Datadog Update a Workload Protection Agent Rule
/v1/api/v2/remote-config/products/cws/agent-rules/{agent-rule-id}
GET
Listscorecardoutcomes — Datadog List All Rule Outcomes
/v1/api/v2/scorecard/outcomes
GET
Listscorecardrules — Datadog List All Rules
/v1/api/v2/scorecard/rules
POST
Createscorecardrule — Datadog Create a New Rule
/v1/api/v2/scorecard/rules
DELETE
Deletescorecardrule — Datadog Delete a Rule
/v1/api/v2/scorecard/rules/{rule-id}
PUT
Updatescorecardrule — Datadog Update an Existing Rule
/v1/api/v2/scorecard/rules/{rule-id}
GET
Getsignalnotificationrules — Datadog Get the List of Signal-based Notification Rules
/v1/api/v2/security/signals/notification-rules
POST
Createsignalnotificationrule — Datadog Create a New Signal-based Notification Rule
/v1/api/v2/security/signals/notification-rules
DELETE
Deletesignalnotificationrule — Datadog Delete a Signal-based Notification Rule
/v1/api/v2/security/signals/notification-rules/{id}
GET
Getsignalnotificationrule — Datadog Get Details of a Signal-based Notification Rule
/v1/api/v2/security/signals/notification-rules/{id}
PATCH
Patchsignalnotificationrule — Datadog Patch a Signal-based Notification Rule
/v1/api/v2/security/signals/notification-rules/{id}
GET
Getvulnerabilitynotificationrules — Datadog Get the List of Vulnerability Notification Rules
/v1/api/v2/security/vulnerabilities/notification-rules
POST
Createvulnerabilitynotificationrule — Datadog Create a New Vulnerability-based Notification Rule
/v1/api/v2/security/vulnerabilities/notification-rules
DELETE
Deletevulnerabilitynotificationrule — Datadog Delete a Vulnerability-based Notification Rule
/v1/api/v2/security/vulnerabilities/notification-rules/{id}
GET
Getvulnerabilitynotificationrule — Datadog Get Details of a Vulnerability Notification Rule
/v1/api/v2/security/vulnerabilities/notification-rules/{id}
PATCH
Patchvulnerabilitynotificationrule — Datadog Patch a Vulnerability-based Notification Rule
/v1/api/v2/security/vulnerabilities/notification-rules/{id}
GET
Listcloudworkloadsecurityagentrules — Datadog Get All Workload Protection Agent Rules (us1-fed)
/v1/api/v2/security-monitoring/cloud-workload-security/agent-rules
POST
Createcloudworkloadsecurityagentrule — Datadog Create a Workload Protection Agent Rule (us1-fed)
/v1/api/v2/security-monitoring/cloud-workload-security/agent-rules
DELETE
Deletecloudworkloadsecurityagentrule — Datadog Delete a Workload Protection Agent Rule (us1-fed)
/v1/api/v2/security-monitoring/cloud-workload-security/agent-rules/{agent-rule-id}
GET
Getcloudworkloadsecurityagentrule — Datadog Get a Workload Protection Agent Rule (us1-fed)
/v1/api/v2/security-monitoring/cloud-workload-security/agent-rules/{agent-rule-id}
PATCH
Updatecloudworkloadsecurityagentrule — Datadog Update a Workload Protection Agent Rule (us1-fed)
/v1/api/v2/security-monitoring/cloud-workload-security/agent-rules/{agent-rule-id}
GET
Listsecuritymonitoringsuppressions — Datadog Get All Suppression Rules
/v1/api/v2/security-monitoring/configuration/suppressions
POST
Createsecuritymonitoringsuppression — Datadog Create a Suppression Rule
/v1/api/v2/security-monitoring/configuration/suppressions
DELETE
Deletesecuritymonitoringsuppression — Datadog Delete a Suppression Rule
/v1/api/v2/security-monitoring/configuration/suppressions/{suppression-id}
GET
Getsecuritymonitoringsuppression — Datadog Get a Suppression Rule
/v1/api/v2/security-monitoring/configuration/suppressions/{suppression-id}
PATCH
Updatesecuritymonitoringsuppression — Datadog Update a Suppression Rule
/v1/api/v2/security-monitoring/configuration/suppressions/{suppression-id}
GET
Listsecuritymonitoringrules — Datadog List Rules
/v1/api/v2/security-monitoring/rules
POST
Createsecuritymonitoringrule — Datadog Create a Detection Rule
/v1/api/v2/security-monitoring/rules
POST
Convertsecuritymonitoringrulefromjsontoterraform — Datadog Convert a Rule from Json to Terraform
/v1/api/v2/security-monitoring/rules/convert
POST
Testsecuritymonitoringrule — Datadog Test a Rule
/v1/api/v2/security-monitoring/rules/test
POST
Validatesecuritymonitoringrule — Datadog Validate a Detection Rule
/v1/api/v2/security-monitoring/rules/validation
DELETE
Deletesecuritymonitoringrule — Datadog Delete an Existing Rule
/v1/api/v2/security-monitoring/rules/{rule-id}
PUT
Updatesecuritymonitoringrule — Datadog Update an Existing Rule
/v1/api/v2/security-monitoring/rules/{rule-id}
GET
Convertexistingsecuritymonitoringrule — Datadog Convert an Existing Rule from Json to Terraform
/v1/api/v2/security-monitoring/rules/{rule-id}/convert
POST
Testexistingsecuritymonitoringrule — Datadog Test an Existing Rule
/v1/api/v2/security-monitoring/rules/{rule-id}/test
POST
Createscanningrule — Datadog Create Scanning Rule
/v1/api/v2/sensitive-data-scanner/config/rules
DELETE
Deletescanningrule — Datadog Delete Scanning Rule
/v1/api/v2/sensitive-data-scanner/config/rules/{rule-id}
PATCH
Updatescanningrule — Datadog Update Scanning Rule
/v1/api/v2/sensitive-data-scanner/config/rules/{rule-id}

MCP Tools

datadog-get-all-monitor-notification

Datadog Get All Monitor Notification Rules

read-only idempotent
datadog-create-monitor-notification-rule

Datadog Create a Monitor Notification Rule

datadog-delete-monitor-notification-rule

Datadog Delete a Monitor Notification Rule

idempotent
datadog-get-monitor-notification-rule

Datadog Get a Monitor Notification Rule

read-only idempotent
datadog-update-monitor-notification-rule

Datadog Update a Monitor Notification Rule

idempotent
datadog-get-call-team-routing

Datadog Get On-call Team Routing Rules

read-only idempotent
datadog-set-call-team-routing

Datadog Set On-call Team Routing Rules

idempotent
datadog-list-all-waf-custom

Datadog List All Waf Custom Rules

read-only idempotent
datadog-create-waf-custom-rule

Datadog Create a Waf Custom Rule

datadog-delete-waf-custom-rule

Datadog Delete a Waf Custom Rule

idempotent
datadog-get-waf-custom-rule

Datadog Get a Waf Custom Rule

read-only idempotent
datadog-update-waf-custom-rule

Datadog Update a Waf Custom Rule

idempotent
datadog-get-all-workload-protection

Datadog Get All Workload Protection Agent Rules

read-only idempotent
datadog-create-workload-protection-agent

Datadog Create a Workload Protection Agent Rule

datadog-delete-workload-protection-agent

Datadog Delete a Workload Protection Agent Rule

idempotent
datadog-get-workload-protection-agent

Datadog Get a Workload Protection Agent Rule

read-only idempotent
datadog-update-workload-protection-agent

Datadog Update a Workload Protection Agent Rule

idempotent
datadog-list-all-rule-outcomes

Datadog List All Rule Outcomes

read-only idempotent
datadog-list-all-rules

Datadog List All Rules

read-only idempotent
datadog-create-new-rule

Datadog Create a New Rule

datadog-delete-rule

Datadog Delete a Rule

idempotent
datadog-update-existing-rule

Datadog Update an Existing Rule

idempotent
datadog-get-list-signal-based

Datadog Get the List of Signal-based Notification Rules

read-only idempotent
datadog-create-new-signal-based

Datadog Create a New Signal-based Notification Rule

datadog-delete-signal-based-notification

Datadog Delete a Signal-based Notification Rule

idempotent
datadog-get-details-signal-based

Datadog Get Details of a Signal-based Notification Rule

read-only idempotent
datadog-patch-signal-based-notification

Datadog Patch a Signal-based Notification Rule

idempotent
datadog-get-list-vulnerability-notification

Datadog Get the List of Vulnerability Notification Rules

read-only idempotent
datadog-create-new-vulnerability-based

Datadog Create a New Vulnerability-based Notification Rule

datadog-delete-vulnerability-based-notification

Datadog Delete a Vulnerability-based Notification Rule

idempotent
datadog-get-details-vulnerability-notification

Datadog Get Details of a Vulnerability Notification Rule

read-only idempotent
datadog-patch-vulnerability-based-notification

Datadog Patch a Vulnerability-based Notification Rule

idempotent
datadog-get-all-workload-protection-2

Datadog Get All Workload Protection Agent Rules (us1-fed)

read-only idempotent
datadog-create-workload-protection-agent-2

Datadog Create a Workload Protection Agent Rule (us1-fed)

datadog-delete-workload-protection-agent-2

Datadog Delete a Workload Protection Agent Rule (us1-fed)

idempotent
datadog-get-workload-protection-agent-2

Datadog Get a Workload Protection Agent Rule (us1-fed)

read-only idempotent
datadog-update-workload-protection-agent-2

Datadog Update a Workload Protection Agent Rule (us1-fed)

idempotent
datadog-get-all-suppression-rules

Datadog Get All Suppression Rules

read-only idempotent
datadog-create-suppression-rule

Datadog Create a Suppression Rule

datadog-delete-suppression-rule

Datadog Delete a Suppression Rule

idempotent
datadog-get-suppression-rule

Datadog Get a Suppression Rule

read-only idempotent
datadog-update-suppression-rule

Datadog Update a Suppression Rule

idempotent
datadog-list-rules

Datadog List Rules

read-only idempotent
datadog-create-detection-rule

Datadog Create a Detection Rule

datadog-convert-rule-json-terraform

Datadog Convert a Rule from Json to Terraform

datadog-test-rule

Datadog Test a Rule

read-only
datadog-validate-detection-rule

Datadog Validate a Detection Rule

read-only
datadog-delete-existing-rule

Datadog Delete an Existing Rule

idempotent
datadog-update-existing-rule-2

Datadog Update an Existing Rule

idempotent
datadog-convert-existing-rule-json

Datadog Convert an Existing Rule from Json to Terraform

read-only idempotent
datadog-test-existing-rule

Datadog Test an Existing Rule

read-only
datadog-create-scanning-rule

Datadog Create Scanning Rule

datadog-delete-scanning-rule

Datadog Delete Scanning Rule

idempotent
datadog-update-scanning-rule

Datadog Update Scanning Rule

idempotent

Capability Spec

datadog-rules.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Datadog API — Rules
  description: 'Datadog API — Rules. 54 operations. Lead operation: Datadog Get All Monitor Notification Rules. Self-contained
    Naftiko capability covering one Datadog business surface.'
  tags:
  - Datadog
  - Rules
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    DATADOG_API_KEY: DATADOG_API_KEY
capability:
  consumes:
  - type: http
    namespace: datadog-rules
    baseUri: https://{subdomain}.{site}
    description: Datadog API — Rules business capability. Self-contained, no shared references.
    resources:
    - name: api-v2-monitor-notification_rule
      path: /api/v2/monitor/notification_rule
      operations:
      - name: getmonitornotificationrules
        method: GET
        description: Datadog Get All Monitor Notification Rules
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: include
          in: query
          type: string
          description: Comma-separated list of resource paths for related resources to include in the response. Supported
            resource
      - name: createmonitornotificationrule
        method: POST
        description: Datadog Create a Monitor Notification Rule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-monitor-notification_rule-rule_id
      path: /api/v2/monitor/notification_rule/{rule_id}
      operations:
      - name: deletemonitornotificationrule
        method: DELETE
        description: Datadog Delete a Monitor Notification Rule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: rule_id
          in: path
          type: string
          description: ID of the monitor notification rule to delete.
          required: true
      - name: getmonitornotificationrule
        method: GET
        description: Datadog Get a Monitor Notification Rule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: rule_id
          in: path
          type: string
          description: ID of the monitor notification rule to fetch.
          required: true
        - name: include
          in: query
          type: string
          description: Comma-separated list of resource paths for related resources to include in the response. Supported
            resource
      - name: updatemonitornotificationrule
        method: PATCH
        description: Datadog Update a Monitor Notification Rule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: rule_id
          in: path
          type: string
          description: ID of the monitor notification rule to update.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-on-call-teams-team_id-routing-rules
      path: /api/v2/on-call/teams/{team_id}/routing-rules
      operations:
      - name: getoncallteamroutingrules
        method: GET
        description: Datadog Get On-call Team Routing Rules
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: team_id
          in: path
          type: string
          description: The team ID
          required: true
        - name: include
          in: query
          type: string
          description: 'Comma-separated list of included relationships to be returned. Allowed values: `rules`, `rules.policy`.'
      - name: setoncallteamroutingrules
        method: PUT
        description: Datadog Set On-call Team Routing Rules
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: team_id
          in: path
          type: string
          description: The team ID
          required: true
        - name: include
          in: query
          type: string
          description: 'Comma-separated list of included relationships to be returned. Allowed values: `rules`, `rules.policy`.'
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-remote_config-products-asm-waf-custom_rules
      path: /api/v2/remote_config/products/asm/waf/custom_rules
      operations:
      - name: listapplicationsecuritywafcustomrules
        method: GET
        description: Datadog List All Waf Custom Rules
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createapplicationsecuritywafcustomrule
        method: POST
        description: Datadog Create a Waf Custom Rule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-remote_config-products-asm-waf-custom_rules-custom_rule_id
      path: /api/v2/remote_config/products/asm/waf/custom_rules/{custom_rule_id}
      operations:
      - name: deleteapplicationsecuritywafcustomrule
        method: DELETE
        description: Datadog Delete a Waf Custom Rule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: getapplicationsecuritywafcustomrule
        method: GET
        description: Datadog Get a Waf Custom Rule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updateapplicationsecuritywafcustomrule
        method: PUT
        description: Datadog Update a Waf Custom Rule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-remote_config-products-cws-agent_rules
      path: /api/v2/remote_config/products/cws/agent_rules
      operations:
      - name: listcsmthreatsagentrules
        method: GET
        description: Datadog Get All Workload Protection Agent Rules
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createcsmthreatsagentrule
        method: POST
        description: Datadog Create a Workload Protection Agent Rule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-remote_config-products-cws-agent_rules-agent_rule_id
      path: /api/v2/remote_config/products/cws/agent_rules/{agent_rule_id}
      operations:
      - name: deletecsmthreatsagentrule
        method: DELETE
        description: Datadog Delete a Workload Protection Agent Rule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: getcsmthreatsagentrule
        method: GET
        description: Datadog Get a Workload Protection Agent Rule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updatecsmthreatsagentrule
        method: PATCH
        description: Datadog Update a Workload Protection Agent Rule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-scorecard-outcomes
      path: /api/v2/scorecard/outcomes
      operations:
      - name: listscorecardoutcomes
        method: GET
        description: Datadog List All Rule Outcomes
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: include
          in: query
          type: string
          description: Include related rule details in the response.
        - name: fields[outcome]
          in: query
          type: string
          description: Return only specified values in the outcome attributes.
        - name: fields[rule]
          in: query
          type: string
          description: Return only specified values in the included rule details.
        - name: filter[outcome][service_name]
          in: query
          type: string
          description: Filter the outcomes on a specific service name.
        - name: filter[outcome][state]
          in: query
          type: string
          description: Filter the outcomes by a specific state.
        - name: filter[rule][enabled]
          in: query
          type: boolean
          description: Filter outcomes on whether a rule is enabled/disabled.
        - name: filter[rule][id]
          in: query
          type: string
          description: Filter outcomes based on rule ID.
        - name: filter[rule][name]
          in: query
          type: string
          description: Filter outcomes based on rule name.
    - name: api-v2-scorecard-rules
      path: /api/v2/scorecard/rules
      operations:
      - name: listscorecardrules
        method: GET
        description: Datadog List All Rules
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: include
          in: query
          type: string
          description: Include related scorecard details in the response.
        - name: filter[rule][id]
          in: query
          type: string
          description: Filter the rules on a rule ID.
        - name: filter[rule][enabled]
          in: query
          type: boolean
          description: Filter for enabled rules only.
        - name: filter[rule][custom]
          in: query
          type: boolean
          description: Filter for custom rules only.
        - name: filter[rule][name]
          in: query
          type: string
          description: Filter rules on the rule name.
        - name: filter[rule][description]
          in: query
          type: string
          description: Filter rules on the rule description.
        - name: fields[rule]
          in: query
          type: string
          description: Return only specific fields in the response for rule attributes.
        - name: fields[scorecard]
          in: query
          type: string
          description: Return only specific fields in the included response for scorecard attributes.
      - name: createscorecardrule
        method: POST
        description: Datadog Create a New Rule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-scorecard-rules-rule_id
      path: /api/v2/scorecard/rules/{rule_id}
      operations:
      - name: deletescorecardrule
        method: DELETE
        description: Datadog Delete a Rule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updatescorecardrule
        method: PUT
        description: Datadog Update an Existing Rule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-security-signals-notification_rules
      path: /api/v2/security/signals/notification_rules
      operations:
      - name: getsignalnotificationrules
        method: GET
        description: Datadog Get the List of Signal-based Notification Rules
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createsignalnotificationrule
        method: POST
        description: Datadog Create a New Signal-based Notification Rule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-security-signals-notification_rules-id
      path: /api/v2/security/signals/notification_rules/{id}
      operations:
      - name: deletesignalnotificationrule
        method: DELETE
        description: Datadog Delete a Signal-based Notification Rule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: ID of the notification rule.
          required: true
      - name: getsignalnotificationrule
        method: GET
        description: Datadog Get Details of a Signal-based Notification Rule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: ID of the notification rule.
          required: true
      - name: patchsignalnotificationrule
        method: PATCH
        description: Datadog Patch a Signal-based Notification Rule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: ID of the notification rule.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-security-vulnerabilities-notification_rules
      path: /api/v2/security/vulnerabilities/notification_rules
      operations:
      - name: getvulnerabilitynotificationrules
        method: GET
        description: Datadog Get the List of Vulnerability Notification Rules
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createvulnerabilitynotificationrule
        method: POST
        description: Datadog Create a New Vulnerability-based Notification Rule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-security-vulnerabilities-notification_rules-id
      path: /api/v2/security/vulnerabilities/notification_rules/{id}
      operations:
      - name: deletevulnerabilitynotificationrule
        method: DELETE
        description: Datadog Delete a Vulnerability-based Notification Rule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: ID of the notification rule.
          required: true
      - name: getvulnerabilitynotificationrule
        method: GET
        description: Datadog Get Details of a Vulnerability Notification Rule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: ID of the notification rule.
          required: true
      - name: patchvulnerabilitynotificationrule
        method: PATCH
        description: Datadog Patch a Vulnerability-based Notification Rule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: ID of the notification rule.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-security_monitoring-cloud_workload_security-agent_rules
      path: /api/v2/security_monitoring/cloud_workload_security/agent_rules
      operations:
      - name: listcloudworkloadsecurityagentrules
        method: GET
        description: Datadog Get All Workload Protection Agent Rules (us1-fed)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createcloudworkloadsecurityagentrule
        method: POST
        description: Datadog Create a Workload Protection Agent Rule (us1-fed)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-security_monitoring-cloud_workload_security-agent_rules-agent_rule_id
      path: /api/v2/security_monitoring/cloud_workload_security/agent_rules/{agent_rule_id}
      operations:
      - name: deletecloudworkloadsecurityagentrule
        method: DELETE
        description: Datadog Delete a Workload Protection Agent Rule (us1-fed)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: getcloudworkloadsecurityagentrule
        method: GET
        description: Datadog Get a Workload Protection Agent Rule (us1-fed)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updatecloudworkloadsecurityagentrule
        method: PATCH
        description: Datadog Update a Workload Protection Agent Rule (us1-fed)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-security_monitoring-configuration-suppressions
      path: /api/v2/security_monitoring/configuration/suppressions
      operations:
      - name: listsecuritymonitoringsuppressions
        method: GET
        description: Datadog Get All Suppression Rules
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createsecuritymonitoringsuppression
        method: POST
        description: Datadog Create a Suppression Rule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-security_monitoring-configuration-suppressions-suppression_id
      path: /api/v2/security_monitoring/configuration/suppressions/{suppression_id}
      operations:
      - name: deletesecuritymonitoringsuppression
        method: DELETE
        description: Datadog Delete a Suppression Rule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: getsecuritymonitoringsuppression
        method: GET
        description: Datadog Get a Suppression Rule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updatesecuritymonitoringsuppression
        method: PATCH
        description: Datadog Update a Suppression Rule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-security_monitoring-rules
      path: /api/v2/security_monitoring/rules
      operations:
      - name: listsecuritymonitoringrules
        method: GET
        description: Datadog List Rules
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createsecuritymonitoringrule
        method: POST
        description: Datadog Create a Detection Rule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-security_monitoring-rules-convert
      path: /api/v2/security_monitoring/rules/convert
      operations:
      - name: convertsecuritymonitoringrulefromjsontoterraform
        method: POST
        description: Datadog Convert a Rule from Json to Terraform
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-security_monitoring-rules-test
      path: /api/v2/security_monitoring/rules/test
      operations:
      - name: testsecuritymonitoringrule
        method: POST
        description: Datadog Test a Rule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-security_monitoring-rules-validation
      path: /api/v2/security_monitoring/rules/validation
      operations:
      - name: validatesecuritymonitoringrule
        method: POST
        description: Datadog Validate a Detection Rule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-security_monitoring-rules-rule_id
      path: /api/v2/security_monitoring/rules/{rule_id}
      operations:
      - name: deletesecuritymonitoringrule
        method: DELETE
        description: Datadog Delete an Existing Rule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updatesecuritymonitoringrule
        method: PUT
        description: Datadog Update an Existing Rule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-security_monitoring-rules-rule_id-convert
      path: /api/v2/security_monitoring/rules/{rule_id}/convert
      operations:
      - name: convertexistingsecuritymonitoringrule
        method: GET
        description: Datadog Convert an Existing Rule from Json to Terraform
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-v2-security_monitoring-rules-rule_id-test
      path: /api/v2/security_monitoring/rules/{rule_id}/test
      operations:
      - name: testexistingsecuritymonitoringrule
        method: POST
        description: Datadog Test an Existing Rule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-sensitive-data-scanner-config-rules
      path: /api/v2/sensitive-data-scanner/config/rules
      operations:
      - name: createscanningrule
        method: POST
        description: Datadog Create Scanning Rule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-sensitive-data-scanner-config-rules-rule_id
      path: /api/v2/sensitive-data-scanner/config/rules/{rule_id}
      operations:
      - name: deletescanningrule
        method: DELETE
        description: Datadog Delete Scanning Rule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: updatescanningrule
        method: PATCH
        description: Datadog Update Scanning Rule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    authentication:
      type: bearer
      token: '{{env.DATADOG_API_KEY}}'
  exposes:
  - type: rest
    namespace: datadog-rules-rest
    port: 8080
    description: REST adapter for Datadog API — Rules. One Spectral-compliant resource per consumed operation, prefixed with
      /v1.
    resources:
    - path: /v1/api/v2/monitor/notification-rule
      name: api-v2-monitor-notification-rule
      description: REST surface for api-v2-monitor-notification_rule.
      operations:
      - method: GET
        name: getmonitornotificationrules
        description: Datadog Get All Monitor Notification Rules
        call: datadog-rules.getmonitornotificationrules
        with:
          include: rest.include
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createmonitornotificationrule
        description: Datadog Create a Monitor Notification Rule
        call: datadog-rules.createmonitornotificationrule
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/monitor/notification-rule/{rule-id}
      name: api-v2-monitor-notification-rule-rule-id
      description: REST surface for api-v2-monitor-notification_rule-rule_id.
      operations:
      - method: DELETE
        name: deletemonitornotificationrule
        description: Datadog Delete a Monitor Notification Rule
        call: datadog-rules.deletemonitornotificationrule
        with:
          rule_id: rest.rule_id
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: getmonitornotificationrule
        description: Datadog Get a Monitor Notification Rule
        call: datadog-rules.getmonitornotificationrule
        with:
          rule_id: rest.rule_id
          include: rest.include
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: updatemonitornotificationrule
        description: Datadog Update a Monitor Notification Rule
        call: datadog-rules.updatemonitornotificationrule
        with:
          rule_id: rest.rule_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/on-call/teams/{team-id}/routing-rules
      name: api-v2-on-call-teams-team-id-routing-rules
      description: REST surface for api-v2-on-call-teams-team_id-routing-rules.
      operations:
      - method: GET
        name: getoncallteamroutingrules
        description: Datadog Get On-call Team Routing Rules
        call: datadog-rules.getoncallteamroutingrules
        with:
          team_id: rest.team_id
          include: rest.include
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: setoncallteamroutingrules
        description: Datadog Set On-call Team Routing Rules
        call: datadog-rules.setoncallteamroutingrules
        with:
          team_id: rest.team_id
          include: rest.include
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/remote-config/products/asm/waf/custom-rules
      name: api-v2-remote-config-products-asm-waf-custom-rules
      description: REST surface for api-v2-remote_config-products-asm-waf-custom_rules.
      operations:
      - method: GET
        name: listapplicationsecuritywafcustomrules
        description: Datadog List All Waf Custom Rules
        call: datadog-rules.listapplicationsecuritywafcustomrules
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createapplicationsecuritywafcustomrule
        description: Datadog Create a Waf Custom Rule
        call: datadog-rules.createapplicationsecuritywafcustomrule
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/remote-config/products/asm/waf/custom-rules/{custom-rule-id}
      name: api-v2-remote-config-products-asm-waf-custom-rules-custom-rule-id
      description: REST surface for api-v2-remote_config-products-asm-waf-custom_rules-custom_rule_id.
      operations:
      - method: DELETE
        name: deleteapplicationsecuritywafcustomrule
        description: Datadog Delete a Waf Custom Rule
        call: datadog-rules.deleteapplicationsecuritywafcustomrule
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: getapplicationsecuritywafcustomrule
        description: Datadog Get a Waf Custom Rule
        call: datadog-rules.getapplicationsecuritywafcustomrule
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updateapplicationsecuritywafcustomrule
        description: Datadog Update a Waf Custom Rule
        call: datadog-rules.updateapplicationsecuritywafcustomrule
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/remote-config/products/cws/agent-rules
      name: api-v2-remote-config-products-cws-agent-rules
      description: REST surface for api-v2-remote_config-products-cws-agent_rules.
      operations:
      - method: GET
        name: listcsmthreatsagentrules
        description: Datadog Get All Workload Protection Agent Rules
        call: datadog-rules.listcsmthreatsagentrules
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createcsmthreatsagentrule
        description: Datadog Create a Workload Protection Agent Rule
        call: datadog-rules.createcsmthreatsagentrule
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/remote-config/products/cws/agent-rules/{agent-rule-id}
      name: api-v2-remote

# --- truncated at 32 KB (67 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/datadog/refs/heads/main/capabilities/datadog-rules.yaml