Datadog/security Rules
Datadog Security Rules — detection rule CRUD and management
2026.09.08.1
Added: Initial code-generated release of @webframp/datadog/security-rules with 11 methods covering the Datadog security rules API surface.
Global Arguments
| Argument | Type | Description |
|---|---|---|
| apiKey | string | Datadog API key (DD-API-KEY) |
| appKey | string | Datadog application key (DD-APPLICATION-KEY) |
| site | enum | Datadog site |
| Argument | Type | Description |
|---|---|---|
| query? | string | A search query to filter security rules. You can filter by attributes such as... |
| sort? | string | Attribute used to sort rules. Prefix with `-` to sort in descending order. |
| Argument | Type | Description |
|---|---|---|
| calculatedFields? | array | Calculated fields. Only allowed for scheduled rules - in other words, when sc... |
| cases | array | Cases for generating signals. |
| filters? | array | Additional queries to filter matched events before they are processed. This f... |
| groupSignalsBy? | array | Additional grouping to perform on top of the existing groups in the query sec... |
| hasExtendedTitle? | boolean | Whether the notifications include the triggering group-by values in their title. |
| isEnabled | boolean | Whether the rule is enabled. |
| message | string | Message for generated signals. |
| name | string | The name of the rule. |
| options | unknown | |
| queries | array | Queries for selecting logs which are part of the rule. |
| referenceTables? | array | Reference tables for the rule. |
| schedulingOptions? | unknown | |
| tags? | array | Tags for generated signals. |
| thirdPartyCases? | array | Cases for generating signals from third-party rules. Only available for third... |
| type? | unknown |
| Argument | Type | Description |
|---|---|---|
| ruleIds | array | List of rule IDs to delete. |
| Argument | Type | Description |
|---|---|---|
| calculatedFields? | array | Calculated fields. Only allowed for scheduled rules - in other words, when sc... |
| cases | array | Cases for generating signals. |
| customMessage? | string | |
| customName? | string | Custom/Overridden name of the rule (used in case of Default rule update). |
| filters? | array | Additional queries to filter matched events before they are processed. This f... |
| groupSignalsBy? | array | Additional grouping to perform on top of the existing groups in the query sec... |
| hasExtendedTitle? | boolean | Whether the notifications include the triggering group-by values in their title. |
| isEnabled | boolean | Whether the rule is enabled. |
| message | string | Message for generated signals. |
| name | string | The name of the rule. |
| options | unknown | |
| queries | array | Queries for selecting logs which are part of the rule. |
| referenceTables? | array | Reference tables for the rule. |
| schedulingOptions? | unknown | |
| tags? | array | Tags for generated signals. |
| thirdPartyCases? | array | Cases for generating signals from third-party rules. Only available for third... |
| type? | unknown |
| Argument | Type | Description |
|---|---|---|
| rule? | unknown | |
| ruleQueryPayloads? | array | Data payloads used to test rules query with the expected result. |
| Argument | Type | Description |
|---|---|---|
| calculatedFields? | array | Calculated fields. Only allowed for scheduled rules - in other words, when sc... |
| cases | array | Cases for generating signals. |
| customMessage? | string | |
| customName? | string | Custom/Overridden name of the rule (used in case of Default rule update). |
| filters? | array | Additional queries to filter matched events before they are processed. This f... |
| groupSignalsBy? | array | Additional grouping to perform on top of the existing groups in the query sec... |
| hasExtendedTitle? | boolean | Whether the notifications include the triggering group-by values in their title. |
| isEnabled | boolean | Whether the rule is enabled. |
| message | string | Message for generated signals. |
| name | string | The name of the rule. |
| options | unknown | |
| queries | array | Queries for selecting logs which are part of the rule. |
| referenceTables? | array | Reference tables for the rule. |
| schedulingOptions? | unknown | |
| tags? | array | Tags for generated signals. |
| thirdPartyCases? | array | Cases for generating signals from third-party rules. Only available for third... |
| type? | unknown |
| Argument | Type | Description |
|---|---|---|
| rule_id | string | The ID of the rule. |
| Argument | Type | Description |
|---|---|---|
| rule_id | string | The ID of the rule. |
| calculatedFields? | array | Calculated fields. Only allowed for scheduled rules - in other words, when sc... |
| cases? | array | Cases for generating signals. |
| complianceSignalOptions? | unknown | |
| customMessage? | string | |
| customName? | string | Custom/Overridden name (used in case of Default rule update). |
| filters? | array | Additional queries to filter matched events before they are processed. This f... |
| groupSignalsBy? | array | Additional grouping to perform on top of the existing groups in the query sec... |
| hasExtendedTitle? | boolean | Whether the notifications include the triggering group-by values in their title. |
| isEnabled? | boolean | Whether the rule is enabled. |
| message? | string | Message for generated signals. |
| name? | string | Name of the rule. |
| options? | unknown | |
| queries? | array | Queries for selecting logs which are part of the rule. |
| referenceTables? | array | Reference tables for the rule. |
| schedulingOptions? | unknown | |
| tags? | array | Tags for generated signals. |
| thirdPartyCases? | array | Cases for generating signals from third-party rules. Only available for third... |
| version? | number | The version of the rule being updated. |
| Argument | Type | Description |
|---|---|---|
| rule_id | string | The ID of the rule. |
| Argument | Type | Description |
|---|---|---|
| rule_id | string | The ID of the rule. |
| Argument | Type | Description |
|---|---|---|
| rule_id | string | The ID of the rule. |
| rule? | unknown | |
| ruleQueryPayloads? | array | Data payloads used to test rules query with the expected result. |
Resources
2026.08.28.2
Hardened codegen: instance names sanitized against path traversal; string schema patterns emit regex validation; output schemas passthrough unknown fields.
2026.08.28.1
Changed: Normalized the extension license to Apache-2.0 and corrected the copyright holder to "Sean Escriva". Extensions that previously shipped an MIT LICENSE.md are now Apache-2.0, consistent with the repository root and every other extension. No code or behavioral changes.
Upgrade note: License text only. No API, schema, or runtime behavior changed.
2026.08.26.2
Fixed: Restored inline npm:zod@4.4.3 import specifiers so the registry
quality scorer can resolve dependencies and score the extension. An earlier
release used a bare "zod" import-map specifier, which published but scored as
unscored.
Changed: Retained explicit compilerOptions.strict in deno.json. No
behavioral or schema changes.
2026.08.26.2
Fixed: Restored inline npm:zod@4.4.3 import specifiers so the registry
quality scorer can resolve dependencies and score the extension. An earlier
release used a bare "zod" import-map specifier, which published but scored as
unscored.
Changed: Retained explicit compilerOptions.strict in deno.json. No
behavioral or schema changes.
2026.08.24.1
Added: Output metadata attributes for observability.
durationMs: Method execution duration in milliseconds.collectedBy: Extension name that produced the data.fetchedAt: ISO 8601 timestamp when data was fetched (added to resources that previously lacked it).
2026.08.21.2
Changed: Error messages and input validation are more specific.
- API errors now name the HTTP method and path that was attempted (e.g.
Datadog API HTTP 404: GET /api/v2/security_monitoring/rules/abc-123) instead of just the raw status code and response body. - A network-level failure (DNS error, connection reset, timeout) reaching the
Datadog API now raises
Datadog API request failed: <METHOD> <path>: <reason>instead of an unlabeled fetch error. create_security_monitoring_rule,convert_security_monitoring_rule_from_json_to_terraform, andvalidate_security_monitoring_rulenow reject an emptycasesorqueriesarray before making a request, instead of letting Datadog return an opaque validation error for a rule with no cases or queries.bulk_delete_security_monitoring_rulesnow rejects an emptyruleIdsarray before making a request.
No changes to request/response shapes or existing successful-path behavior.
2026.08.21.1
Changed: Tightened and clarified Zod schemas as part of a repo-wide schema audit.
- Added
.min(1)toapiKeyandappKeyin the global arguments schema — both are sent directly as request headers, and an empty value would never be accepted by the Datadog API. - Added descriptions to previously undocumented
options,schedulingOptions,type,rule, andcomplianceSignalOptionsarguments across the create/update/validate/test rule methods.
No behavioral changes — these are documentation and validation tightenings only.
2026.07.20.11
Added: Initial code-generated release of @webframp/datadog/security-rules with 11 methods covering the Datadog security rules API surface.
2026.08.21.1
Changed: Tightened and clarified Zod schemas as part of a repo-wide schema audit.
- Added
.min(1)toapiKeyandappKeyin the global arguments schema — both are sent directly as request headers, and an empty value would never be accepted by the Datadog API. - Added descriptions to previously undocumented
options,schedulingOptions,type,rule, andcomplianceSignalOptionsarguments across the create/update/validate/test rule methods.
No behavioral changes — these are documentation and validation tightenings only.
2026.07.20.11
Added: Initial code-generated release of @webframp/datadog/security-rules with 11 methods covering the Datadog security rules API surface.
2026.07.20.11
Added: Initial code-generated release of @webframp/datadog/security-rules with 11 methods covering the Datadog security rules API surface.
- Has README or module doc2/2earned
- README has a code example1/1earned
- README is substantive1/1earned
- Most symbols documented1/1earned
- No slow types (deprecated)1/1earned
- Dependencies pass trust audit2/2earned
- Has description1/1earned
- Platform support declared (or universal)2/2earned
- License declared1/1earned
- Verified public repository2/2earned