diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index 90e97c4cc9de..075f40ce1592 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -37239,7 +37239,7 @@ components: - data type: object DueDateRuleDataCreate: - description: The data object for a due date rule create or update request. + description: The data object for a due date rule create request. properties: attributes: $ref: "#/components/schemas/DueDateRuleAttributesCreate" @@ -37266,6 +37266,23 @@ components: - type - attributes type: object + DueDateRuleDataUpdate: + description: The data object for a due date rule update request. The `id` must match the `rule_id` path parameter. + properties: + attributes: + $ref: "#/components/schemas/DueDateRuleAttributesCreate" + id: + description: The ID of the due date rule to update. + example: "00000000-0000-0000-0000-000000000000" + format: uuid + type: string + type: + $ref: "#/components/schemas/DueDateRuleType" + required: + - id + - type + - attributes + type: object DueDateRuleReorderData: description: The ordered list of all due date rules. Every rule must be included. items: @@ -37286,7 +37303,15 @@ components: - id type: object DueDateRuleReorderRequest: - description: The body of the due date rule reorder request. + description: The body of a due date rule reorder request. + properties: + data: + $ref: "#/components/schemas/DueDateRuleReorderData" + required: + - data + type: object + DueDateRuleReorderResponse: + description: The response of a due date rule reorder request. properties: data: $ref: "#/components/schemas/DueDateRuleReorderData" @@ -37313,7 +37338,7 @@ components: description: The body of a due date rule update request. properties: data: - $ref: "#/components/schemas/DueDateRuleDataCreate" + $ref: "#/components/schemas/DueDateRuleDataUpdate" required: - data type: object @@ -73704,7 +73729,7 @@ components: - data type: object MuteRuleDataCreate: - description: The data object for a mute rule create or update request. + description: The data object for a mute rule create request. properties: attributes: $ref: "#/components/schemas/MuteRuleAttributesCreate" @@ -73731,6 +73756,23 @@ components: - type - attributes type: object + MuteRuleDataUpdate: + description: The data object for a mute rule update request. The `id` must match the `rule_id` path parameter. + properties: + attributes: + $ref: "#/components/schemas/MuteRuleAttributesCreate" + id: + description: The ID of the mute rule to update. + example: "00000000-0000-0000-0000-000000000000" + format: uuid + type: string + type: + $ref: "#/components/schemas/MuteRuleType" + required: + - id + - type + - attributes + type: object MuteRuleReorderData: description: The ordered list of all mute rules. Every rule must be included. items: @@ -73751,7 +73793,15 @@ components: - id type: object MuteRuleReorderRequest: - description: The body of the mute rule reorder request. + description: The body of a mute rule reorder request. + properties: + data: + $ref: "#/components/schemas/MuteRuleReorderData" + required: + - data + type: object + MuteRuleReorderResponse: + description: The response of a mute rule reorder request. properties: data: $ref: "#/components/schemas/MuteRuleReorderData" @@ -73778,7 +73828,7 @@ components: description: The body of a mute rule update request. properties: data: - $ref: "#/components/schemas/MuteRuleDataCreate" + $ref: "#/components/schemas/MuteRuleDataUpdate" required: - data type: object @@ -110641,7 +110691,7 @@ components: - data type: object SeverityModifierRuleDataCreate: - description: The data object for a severity modifier rule create or update request. + description: The data object for a severity modifier rule create request. properties: attributes: $ref: "#/components/schemas/SeverityModifierRuleAttributesCreate" @@ -110668,6 +110718,23 @@ components: - type - attributes type: object + SeverityModifierRuleDataUpdate: + description: The data object for a severity modifier rule update request. The `id` must match the `rule_id` path parameter. + properties: + attributes: + $ref: "#/components/schemas/SeverityModifierRuleAttributesCreate" + id: + description: The ID of the severity modifier rule to update. + example: "00000000-0000-0000-0000-000000000000" + format: uuid + type: string + type: + $ref: "#/components/schemas/SeverityModifierRuleType" + required: + - id + - type + - attributes + type: object SeverityModifierRuleReorderData: description: The ordered list of all severity modifier rules. Every rule must be included. items: @@ -110771,7 +110838,7 @@ components: description: The body of a severity modifier rule update request. properties: data: - $ref: "#/components/schemas/SeverityModifierRuleDataCreate" + $ref: "#/components/schemas/SeverityModifierRuleDataUpdate" required: - data type: object @@ -123805,7 +123872,7 @@ components: - data type: object TicketCreationRuleDataCreate: - description: The data object for a ticket creation rule create or update request. + description: The data object for a ticket creation rule create request. properties: attributes: $ref: "#/components/schemas/TicketCreationRuleAttributesCreate" @@ -123832,6 +123899,23 @@ components: - type - attributes type: object + TicketCreationRuleDataUpdate: + description: The data object for a ticket creation rule update request. The `id` must match the `rule_id` path parameter. + properties: + attributes: + $ref: "#/components/schemas/TicketCreationRuleAttributesCreate" + id: + description: The ID of the ticket creation rule to update. + example: "00000000-0000-0000-0000-000000000000" + format: uuid + type: string + type: + $ref: "#/components/schemas/TicketCreationRuleType" + required: + - id + - type + - attributes + type: object TicketCreationRuleReorderData: description: The ordered list of all ticket creation rules. Every rule must be included. items: @@ -123852,7 +123936,15 @@ components: - id type: object TicketCreationRuleReorderRequest: - description: The body of the ticket creation rule reorder request. + description: The body of a ticket creation rule reorder request. + properties: + data: + $ref: "#/components/schemas/TicketCreationRuleReorderData" + required: + - data + type: object + TicketCreationRuleReorderResponse: + description: The response of a ticket creation rule reorder request. properties: data: $ref: "#/components/schemas/TicketCreationRuleReorderData" @@ -123879,7 +123971,7 @@ components: description: The body of a ticket creation rule update request. properties: data: - $ref: "#/components/schemas/TicketCreationRuleDataCreate" + $ref: "#/components/schemas/TicketCreationRuleDataUpdate" required: - data type: object @@ -205416,7 +205508,7 @@ paths: - id: "11111111-1111-1111-1111-111111111111" type: due_date_rules schema: - $ref: "#/components/schemas/DueDateRuleReorderRequest" + $ref: "#/components/schemas/DueDateRuleReorderResponse" description: Successfully reordered the due date rules "400": content: @@ -205589,6 +205681,7 @@ paths: finding_types: - misconfiguration query: "env:prod" + id: "00000000-0000-0000-0000-000000000000" type: due_date_rules schema: $ref: "#/components/schemas/DueDateRuleUpdateRequest" @@ -206300,7 +206393,7 @@ paths: - id: "11111111-1111-1111-1111-111111111111" type: mute_rules schema: - $ref: "#/components/schemas/MuteRuleReorderRequest" + $ref: "#/components/schemas/MuteRuleReorderResponse" description: Successfully reordered the mute rules "400": content: @@ -206463,6 +206556,7 @@ paths: finding_types: - misconfiguration query: "env:dev" + id: "00000000-0000-0000-0000-000000000000" type: mute_rules schema: $ref: "#/components/schemas/MuteRuleUpdateRequest" @@ -206915,6 +207009,7 @@ paths: finding_types: - misconfiguration query: "env:dev" + id: "00000000-0000-0000-0000-000000000000" type: severity_modifier_rules schema: $ref: "#/components/schemas/SeverityModifierRuleUpdateRequest" @@ -207190,7 +207285,7 @@ paths: - id: "11111111-1111-1111-1111-111111111111" type: ticket_creation_rules schema: - $ref: "#/components/schemas/TicketCreationRuleReorderRequest" + $ref: "#/components/schemas/TicketCreationRuleReorderResponse" description: Successfully reordered the ticket creation rules "400": content: @@ -207355,6 +207450,7 @@ paths: finding_types: - misconfiguration query: "env:prod" + id: "00000000-0000-0000-0000-000000000000" type: ticket_creation_rules schema: $ref: "#/components/schemas/TicketCreationRuleUpdateRequest" diff --git a/features/generated-test/test-runner-data/manifest.json b/features/generated-test/test-runner-data/manifest.json index 3d61d8979bf4..e4df73f3050a 100644 --- a/features/generated-test/test-runner-data/manifest.json +++ b/features/generated-test/test-runner-data/manifest.json @@ -9541,6 +9541,13 @@ "scenario": "Create a ticket creation rule returns \"Successfully created the ticket creation rule\" response", "version": "v2" }, + { + "feature": "Security Monitoring", + "feature_file": "../../v2/security_monitoring.feature", + "file": "v2/security-monitoring/create-an-inbox-rule-returns-successfully-created-the-inbox-rule-response.json", + "scenario": "Create an inbox rule returns \"Successfully created the inbox rule\" response", + "version": "v2" + }, { "feature": "Security Monitoring", "feature_file": "../../v2/security_monitoring.feature", @@ -9709,6 +9716,13 @@ "scenario": "Delete an existing rule returns \"OK\" response", "version": "v2" }, + { + "feature": "Security Monitoring", + "feature_file": "../../v2/security_monitoring.feature", + "file": "v2/security-monitoring/delete-an-inbox-rule-returns-successfully-deleted-the-inbox-rule-response.json", + "scenario": "Delete an inbox rule returns \"Successfully deleted the inbox rule\" response", + "version": "v2" + }, { "feature": "Security Monitoring", "feature_file": "../../v2/security_monitoring.feature", @@ -9730,6 +9744,20 @@ "scenario": "Detach security findings from their case returns \"Not Found\" response", "version": "v2" }, + { + "feature": "Security Monitoring", + "feature_file": "../../v2/security_monitoring.feature", + "file": "v2/security-monitoring/disable-a-default-inbox-rule-returns-successfully-disabled-the-default-inbox-rule-response.json", + "scenario": "Disable a default inbox rule returns \"Successfully disabled the default inbox rule\" response", + "version": "v2" + }, + { + "feature": "Security Monitoring", + "feature_file": "../../v2/security_monitoring.feature", + "file": "v2/security-monitoring/enable-a-default-inbox-rule-returns-successfully-enabled-the-default-inbox-rule-response.json", + "scenario": "Enable a default inbox rule returns \"Successfully enabled the default inbox rule\" response", + "version": "v2" + }, { "feature": "Security Monitoring", "feature_file": "../../v2/security_monitoring.feature", @@ -9786,6 +9814,13 @@ "scenario": "Get a custom framework returns \"OK\" response", "version": "v2" }, + { + "feature": "Security Monitoring", + "feature_file": "../../v2/security_monitoring.feature", + "file": "v2/security-monitoring/get-a-default-inbox-rule-returns-successfully-retrieved-the-default-inbox-rule-response.json", + "scenario": "Get a default inbox rule returns \"Successfully retrieved the default inbox rule\" response", + "version": "v2" + }, { "feature": "Security Monitoring", "feature_file": "../../v2/security_monitoring.feature", @@ -9933,6 +9968,13 @@ "scenario": "Get all critical assets returns \"OK\" response", "version": "v2" }, + { + "feature": "Security Monitoring", + "feature_file": "../../v2/security_monitoring.feature", + "file": "v2/security-monitoring/get-all-default-inbox-rules-returns-successfully-retrieved-the-list-of-default-inbox-rules-response.json", + "scenario": "Get all default inbox rules returns \"Successfully retrieved the list of default inbox rules\" response", + "version": "v2" + }, { "feature": "Security Monitoring", "feature_file": "../../v2/security_monitoring.feature", @@ -9940,6 +9982,13 @@ "scenario": "Get all due date rules returns \"Successfully retrieved the list of due date rules\" response", "version": "v2" }, + { + "feature": "Security Monitoring", + "feature_file": "../../v2/security_monitoring.feature", + "file": "v2/security-monitoring/get-all-inbox-rules-returns-successfully-retrieved-the-list-of-inbox-rules-response.json", + "scenario": "Get all inbox rules returns \"Successfully retrieved the list of inbox rules\" response", + "version": "v2" + }, { "feature": "Security Monitoring", "feature_file": "../../v2/security_monitoring.feature", @@ -9989,6 +10038,13 @@ "scenario": "Get all ticket creation rules returns \"Successfully retrieved the list of ticket creation rules\" response", "version": "v2" }, + { + "feature": "Security Monitoring", + "feature_file": "../../v2/security_monitoring.feature", + "file": "v2/security-monitoring/get-an-inbox-rule-returns-successfully-retrieved-the-inbox-rule-response.json", + "scenario": "Get an inbox rule returns \"Successfully retrieved the inbox rule\" response", + "version": "v2" + }, { "feature": "Security Monitoring", "feature_file": "../../v2/security_monitoring.feature", @@ -10297,6 +10353,13 @@ "scenario": "Reorder due date rules returns \"Successfully reordered the due date rules\" response", "version": "v2" }, + { + "feature": "Security Monitoring", + "feature_file": "../../v2/security_monitoring.feature", + "file": "v2/security-monitoring/reorder-inbox-rules-returns-successfully-reordered-the-inbox-rules-response.json", + "scenario": "Reorder inbox rules returns \"Successfully reordered the inbox rules\" response", + "version": "v2" + }, { "feature": "Security Monitoring", "feature_file": "../../v2/security_monitoring.feature", @@ -10514,6 +10577,13 @@ "scenario": "Update an existing rule returns \"OK\" response", "version": "v2" }, + { + "feature": "Security Monitoring", + "feature_file": "../../v2/security_monitoring.feature", + "file": "v2/security-monitoring/update-an-inbox-rule-returns-successfully-updated-the-inbox-rule-response.json", + "scenario": "Update an inbox rule returns \"Successfully updated the inbox rule\" response", + "version": "v2" + }, { "feature": "Security Monitoring", "feature_file": "../../v2/security_monitoring.feature", diff --git a/features/generated-test/test-runner-data/v2/security-monitoring/create-an-inbox-rule-returns-successfully-created-the-inbox-rule-response.json b/features/generated-test/test-runner-data/v2/security-monitoring/create-an-inbox-rule-returns-successfully-created-the-inbox-rule-response.json new file mode 100644 index 000000000000..032647e423dc --- /dev/null +++ b/features/generated-test/test-runner-data/v2/security-monitoring/create-an-inbox-rule-returns-successfully-created-the-inbox-rule-response.json @@ -0,0 +1,43 @@ +{ + "api": "SecurityMonitoring", + "expected_status": 201, + "feature": "Security Monitoring", + "id": "v2/Security Monitoring/Create an inbox rule returns \"Successfully created the inbox rule\" response", + "operation_id": "CreateSecurityFindingsAutomationInboxRule", + "request": { + "body": { + "schema": { + "format": null, + "ref": "InboxRuleCreateRequest", + "type": "object" + }, + "source": "inline", + "value": { + "data": { + "attributes": { + "action": { + "description": "Needs triage" + }, + "enabled": true, + "name": "{{ unique }}", + "rule": { + "finding_types": [ + "misconfiguration" + ], + "query": "env:staging" + } + }, + "type": "inbox_rules" + } + } + }, + "content_type": "application/json", + "method": "POST", + "pagination": false, + "parameters": [], + "path": "/api/v2/security/findings/automation/inbox_rules" + }, + "scenario": "Create an inbox rule returns \"Successfully created the inbox rule\" response", + "schema_version": 1, + "version": "v2" +} diff --git a/features/generated-test/test-runner-data/v2/security-monitoring/delete-an-inbox-rule-returns-successfully-deleted-the-inbox-rule-response.json b/features/generated-test/test-runner-data/v2/security-monitoring/delete-an-inbox-rule-returns-successfully-deleted-the-inbox-rule-response.json new file mode 100644 index 000000000000..c00c2842a4af --- /dev/null +++ b/features/generated-test/test-runner-data/v2/security-monitoring/delete-an-inbox-rule-returns-successfully-deleted-the-inbox-rule-response.json @@ -0,0 +1,35 @@ +{ + "api": "SecurityMonitoring", + "expected_status": 204, + "feature": "Security Monitoring", + "id": "v2/Security Monitoring/Delete an inbox rule returns \"Successfully deleted the inbox rule\" response", + "operation_id": "DeleteSecurityFindingsAutomationInboxRule", + "request": { + "body": null, + "content_type": null, + "method": "DELETE", + "pagination": false, + "parameters": [ + { + "explode": null, + "in": "path", + "name": "rule_id", + "required": true, + "schema": { + "format": "uuid", + "ref": null, + "type": "string" + }, + "source": { + "path": "valid_inbox_rule.data.id", + "type": "fixture" + }, + "style": null + } + ], + "path": "/api/v2/security/findings/automation/inbox_rules/{rule_id}" + }, + "scenario": "Delete an inbox rule returns \"Successfully deleted the inbox rule\" response", + "schema_version": 1, + "version": "v2" +} diff --git a/features/generated-test/test-runner-data/v2/security-monitoring/disable-a-default-inbox-rule-returns-successfully-disabled-the-default-inbox-rule-response.json b/features/generated-test/test-runner-data/v2/security-monitoring/disable-a-default-inbox-rule-returns-successfully-disabled-the-default-inbox-rule-response.json new file mode 100644 index 000000000000..9e1ab4378f7d --- /dev/null +++ b/features/generated-test/test-runner-data/v2/security-monitoring/disable-a-default-inbox-rule-returns-successfully-disabled-the-default-inbox-rule-response.json @@ -0,0 +1,35 @@ +{ + "api": "SecurityMonitoring", + "expected_status": 200, + "feature": "Security Monitoring", + "id": "v2/Security Monitoring/Disable a default inbox rule returns \"Successfully disabled the default inbox rule\" response", + "operation_id": "DisableSecurityFindingsAutomationDefaultInboxRule", + "request": { + "body": null, + "content_type": null, + "method": "POST", + "pagination": false, + "parameters": [ + { + "explode": null, + "in": "path", + "name": "rule_id", + "required": true, + "schema": { + "format": null, + "ref": null, + "type": "string" + }, + "source": { + "type": "literal", + "value": "secret_default_rule" + }, + "style": null + } + ], + "path": "/api/v2/security/findings/automation/default_inbox_rules/{rule_id}/disable" + }, + "scenario": "Disable a default inbox rule returns \"Successfully disabled the default inbox rule\" response", + "schema_version": 1, + "version": "v2" +} diff --git a/features/generated-test/test-runner-data/v2/security-monitoring/enable-a-default-inbox-rule-returns-successfully-enabled-the-default-inbox-rule-response.json b/features/generated-test/test-runner-data/v2/security-monitoring/enable-a-default-inbox-rule-returns-successfully-enabled-the-default-inbox-rule-response.json new file mode 100644 index 000000000000..5626359ceabb --- /dev/null +++ b/features/generated-test/test-runner-data/v2/security-monitoring/enable-a-default-inbox-rule-returns-successfully-enabled-the-default-inbox-rule-response.json @@ -0,0 +1,35 @@ +{ + "api": "SecurityMonitoring", + "expected_status": 200, + "feature": "Security Monitoring", + "id": "v2/Security Monitoring/Enable a default inbox rule returns \"Successfully enabled the default inbox rule\" response", + "operation_id": "EnableSecurityFindingsAutomationDefaultInboxRule", + "request": { + "body": null, + "content_type": null, + "method": "POST", + "pagination": false, + "parameters": [ + { + "explode": null, + "in": "path", + "name": "rule_id", + "required": true, + "schema": { + "format": null, + "ref": null, + "type": "string" + }, + "source": { + "type": "literal", + "value": "secret_default_rule" + }, + "style": null + } + ], + "path": "/api/v2/security/findings/automation/default_inbox_rules/{rule_id}/enable" + }, + "scenario": "Enable a default inbox rule returns \"Successfully enabled the default inbox rule\" response", + "schema_version": 1, + "version": "v2" +} diff --git a/features/generated-test/test-runner-data/v2/security-monitoring/get-a-default-inbox-rule-returns-successfully-retrieved-the-default-inbox-rule-response.json b/features/generated-test/test-runner-data/v2/security-monitoring/get-a-default-inbox-rule-returns-successfully-retrieved-the-default-inbox-rule-response.json new file mode 100644 index 000000000000..c99cd903c4c0 --- /dev/null +++ b/features/generated-test/test-runner-data/v2/security-monitoring/get-a-default-inbox-rule-returns-successfully-retrieved-the-default-inbox-rule-response.json @@ -0,0 +1,35 @@ +{ + "api": "SecurityMonitoring", + "expected_status": 200, + "feature": "Security Monitoring", + "id": "v2/Security Monitoring/Get a default inbox rule returns \"Successfully retrieved the default inbox rule\" response", + "operation_id": "GetSecurityFindingsAutomationDefaultInboxRule", + "request": { + "body": null, + "content_type": null, + "method": "GET", + "pagination": false, + "parameters": [ + { + "explode": null, + "in": "path", + "name": "rule_id", + "required": true, + "schema": { + "format": null, + "ref": null, + "type": "string" + }, + "source": { + "type": "literal", + "value": "secret_default_rule" + }, + "style": null + } + ], + "path": "/api/v2/security/findings/automation/default_inbox_rules/{rule_id}" + }, + "scenario": "Get a default inbox rule returns \"Successfully retrieved the default inbox rule\" response", + "schema_version": 1, + "version": "v2" +} diff --git a/features/generated-test/test-runner-data/v2/security-monitoring/get-all-default-inbox-rules-returns-successfully-retrieved-the-list-of-default-inbox-rules-response.json b/features/generated-test/test-runner-data/v2/security-monitoring/get-all-default-inbox-rules-returns-successfully-retrieved-the-list-of-default-inbox-rules-response.json new file mode 100644 index 000000000000..5f8a1d802b06 --- /dev/null +++ b/features/generated-test/test-runner-data/v2/security-monitoring/get-all-default-inbox-rules-returns-successfully-retrieved-the-list-of-default-inbox-rules-response.json @@ -0,0 +1,18 @@ +{ + "api": "SecurityMonitoring", + "expected_status": 200, + "feature": "Security Monitoring", + "id": "v2/Security Monitoring/Get all default inbox rules returns \"Successfully retrieved the list of default inbox rules\" response", + "operation_id": "ListSecurityFindingsAutomationDefaultInboxRules", + "request": { + "body": null, + "content_type": null, + "method": "GET", + "pagination": false, + "parameters": [], + "path": "/api/v2/security/findings/automation/default_inbox_rules" + }, + "scenario": "Get all default inbox rules returns \"Successfully retrieved the list of default inbox rules\" response", + "schema_version": 1, + "version": "v2" +} diff --git a/features/generated-test/test-runner-data/v2/security-monitoring/get-all-inbox-rules-returns-successfully-retrieved-the-list-of-inbox-rules-response.json b/features/generated-test/test-runner-data/v2/security-monitoring/get-all-inbox-rules-returns-successfully-retrieved-the-list-of-inbox-rules-response.json new file mode 100644 index 000000000000..b44008ee6efd --- /dev/null +++ b/features/generated-test/test-runner-data/v2/security-monitoring/get-all-inbox-rules-returns-successfully-retrieved-the-list-of-inbox-rules-response.json @@ -0,0 +1,18 @@ +{ + "api": "SecurityMonitoring", + "expected_status": 200, + "feature": "Security Monitoring", + "id": "v2/Security Monitoring/Get all inbox rules returns \"Successfully retrieved the list of inbox rules\" response", + "operation_id": "ListSecurityFindingsAutomationInboxRules", + "request": { + "body": null, + "content_type": null, + "method": "GET", + "pagination": false, + "parameters": [], + "path": "/api/v2/security/findings/automation/inbox_rules" + }, + "scenario": "Get all inbox rules returns \"Successfully retrieved the list of inbox rules\" response", + "schema_version": 1, + "version": "v2" +} diff --git a/features/generated-test/test-runner-data/v2/security-monitoring/get-an-inbox-rule-returns-successfully-retrieved-the-inbox-rule-response.json b/features/generated-test/test-runner-data/v2/security-monitoring/get-an-inbox-rule-returns-successfully-retrieved-the-inbox-rule-response.json new file mode 100644 index 000000000000..dd03b20aa865 --- /dev/null +++ b/features/generated-test/test-runner-data/v2/security-monitoring/get-an-inbox-rule-returns-successfully-retrieved-the-inbox-rule-response.json @@ -0,0 +1,35 @@ +{ + "api": "SecurityMonitoring", + "expected_status": 200, + "feature": "Security Monitoring", + "id": "v2/Security Monitoring/Get an inbox rule returns \"Successfully retrieved the inbox rule\" response", + "operation_id": "GetSecurityFindingsAutomationInboxRule", + "request": { + "body": null, + "content_type": null, + "method": "GET", + "pagination": false, + "parameters": [ + { + "explode": null, + "in": "path", + "name": "rule_id", + "required": true, + "schema": { + "format": "uuid", + "ref": null, + "type": "string" + }, + "source": { + "path": "valid_inbox_rule.data.id", + "type": "fixture" + }, + "style": null + } + ], + "path": "/api/v2/security/findings/automation/inbox_rules/{rule_id}" + }, + "scenario": "Get an inbox rule returns \"Successfully retrieved the inbox rule\" response", + "schema_version": 1, + "version": "v2" +} diff --git a/features/generated-test/test-runner-data/v2/security-monitoring/reorder-inbox-rules-returns-successfully-reordered-the-inbox-rules-response.json b/features/generated-test/test-runner-data/v2/security-monitoring/reorder-inbox-rules-returns-successfully-reordered-the-inbox-rules-response.json new file mode 100644 index 000000000000..f6c22d3558f0 --- /dev/null +++ b/features/generated-test/test-runner-data/v2/security-monitoring/reorder-inbox-rules-returns-successfully-reordered-the-inbox-rules-response.json @@ -0,0 +1,33 @@ +{ + "api": "SecurityMonitoring", + "expected_status": 200, + "feature": "Security Monitoring", + "id": "v2/Security Monitoring/Reorder inbox rules returns \"Successfully reordered the inbox rules\" response", + "operation_id": "ReorderSecurityFindingsAutomationInboxRules", + "request": { + "body": { + "schema": { + "format": null, + "ref": "InboxRuleReorderRequest", + "type": "object" + }, + "source": "inline", + "value": { + "data": [ + { + "id": "{{ valid_inbox_rule.data.id }}", + "type": "inbox_rules" + } + ] + } + }, + "content_type": "application/json", + "method": "POST", + "pagination": false, + "parameters": [], + "path": "/api/v2/security/findings/automation/inbox_rules/reorder" + }, + "scenario": "Reorder inbox rules returns \"Successfully reordered the inbox rules\" response", + "schema_version": 1, + "version": "v2" +} diff --git a/features/generated-test/test-runner-data/v2/security-monitoring/update-a-due-date-rule-returns-successfully-updated-the-due-date-rule-response.json b/features/generated-test/test-runner-data/v2/security-monitoring/update-a-due-date-rule-returns-successfully-updated-the-due-date-rule-response.json index 46ce5b101a48..cfd691fbc912 100644 --- a/features/generated-test/test-runner-data/v2/security-monitoring/update-a-due-date-rule-returns-successfully-updated-the-due-date-rule-response.json +++ b/features/generated-test/test-runner-data/v2/security-monitoring/update-a-due-date-rule-returns-successfully-updated-the-due-date-rule-response.json @@ -33,6 +33,7 @@ "query": "env:staging" } }, + "id": "{{ valid_due_date_rule.data.id }}", "type": "due_date_rules" } } diff --git a/features/generated-test/test-runner-data/v2/security-monitoring/update-a-mute-rule-returns-successfully-updated-the-mute-rule-response.json b/features/generated-test/test-runner-data/v2/security-monitoring/update-a-mute-rule-returns-successfully-updated-the-mute-rule-response.json index 3c363125e9b1..1d892dd7afe4 100644 --- a/features/generated-test/test-runner-data/v2/security-monitoring/update-a-mute-rule-returns-successfully-updated-the-mute-rule-response.json +++ b/features/generated-test/test-runner-data/v2/security-monitoring/update-a-mute-rule-returns-successfully-updated-the-mute-rule-response.json @@ -27,6 +27,7 @@ "query": "env:staging" } }, + "id": "{{ valid_mute_rule.data.id }}", "type": "mute_rules" } } diff --git a/features/generated-test/test-runner-data/v2/security-monitoring/update-a-severity-modifier-rule-returns-successfully-updated-the-severity-modifier-rule-response.json b/features/generated-test/test-runner-data/v2/security-monitoring/update-a-severity-modifier-rule-returns-successfully-updated-the-severity-modifier-rule-response.json index 755f467322fa..2ccc8d6881a5 100644 --- a/features/generated-test/test-runner-data/v2/security-monitoring/update-a-severity-modifier-rule-returns-successfully-updated-the-severity-modifier-rule-response.json +++ b/features/generated-test/test-runner-data/v2/security-monitoring/update-a-severity-modifier-rule-returns-successfully-updated-the-severity-modifier-rule-response.json @@ -29,6 +29,7 @@ "query": "env:prod team:platform" } }, + "id": "{{ valid_severity_modifier_rule.data.id }}", "type": "severity_modifier_rules" } } diff --git a/features/generated-test/test-runner-data/v2/security-monitoring/update-a-ticket-creation-rule-returns-successfully-updated-the-ticket-creation-rule-response.json b/features/generated-test/test-runner-data/v2/security-monitoring/update-a-ticket-creation-rule-returns-successfully-updated-the-ticket-creation-rule-response.json index e5ab343959c7..0cc29f75d3f5 100644 --- a/features/generated-test/test-runner-data/v2/security-monitoring/update-a-ticket-creation-rule-returns-successfully-updated-the-ticket-creation-rule-response.json +++ b/features/generated-test/test-runner-data/v2/security-monitoring/update-a-ticket-creation-rule-returns-successfully-updated-the-ticket-creation-rule-response.json @@ -29,6 +29,7 @@ "query": "env:staging" } }, + "id": "{{ valid_ticket_creation_rule.data.id }}", "type": "ticket_creation_rules" } } diff --git a/features/generated-test/test-runner-data/v2/security-monitoring/update-an-inbox-rule-returns-successfully-updated-the-inbox-rule-response.json b/features/generated-test/test-runner-data/v2/security-monitoring/update-an-inbox-rule-returns-successfully-updated-the-inbox-rule-response.json new file mode 100644 index 000000000000..9e72e2db0047 --- /dev/null +++ b/features/generated-test/test-runner-data/v2/security-monitoring/update-an-inbox-rule-returns-successfully-updated-the-inbox-rule-response.json @@ -0,0 +1,61 @@ +{ + "api": "SecurityMonitoring", + "expected_status": 200, + "feature": "Security Monitoring", + "id": "v2/Security Monitoring/Update an inbox rule returns \"Successfully updated the inbox rule\" response", + "operation_id": "UpdateSecurityFindingsAutomationInboxRule", + "request": { + "body": { + "schema": { + "format": null, + "ref": "InboxRuleUpdateRequest", + "type": "object" + }, + "source": "inline", + "value": { + "data": { + "attributes": { + "action": { + "description": "Needs triage" + }, + "enabled": false, + "name": "{{ unique }}", + "rule": { + "finding_types": [ + "misconfiguration" + ], + "query": "env:staging" + } + }, + "id": "{{ valid_inbox_rule.data.id }}", + "type": "inbox_rules" + } + } + }, + "content_type": "application/json", + "method": "PUT", + "pagination": false, + "parameters": [ + { + "explode": null, + "in": "path", + "name": "rule_id", + "required": true, + "schema": { + "format": "uuid", + "ref": null, + "type": "string" + }, + "source": { + "path": "valid_inbox_rule.data.id", + "type": "fixture" + }, + "style": null + } + ], + "path": "/api/v2/security/findings/automation/inbox_rules/{rule_id}" + }, + "scenario": "Update an inbox rule returns \"Successfully updated the inbox rule\" response", + "schema_version": 1, + "version": "v2" +} diff --git a/features/generated-test/test-server-data/v2/security-monitoring.json b/features/generated-test/test-server-data/v2/security-monitoring.json index d73c2d96ce39..4aaa1af1cf55 100644 --- a/features/generated-test/test-server-data/v2/security-monitoring.json +++ b/features/generated-test/test-server-data/v2/security-monitoring.json @@ -3572,6 +3572,75 @@ "scenario": "Create a ticket creation rule returns \"Successfully created the ticket creation rule\" response", "version": "v2" }, + { + "feature": "Security Monitoring", + "frozen_at": "2026-09-28T16:14:27.938Z", + "interactions": [ + { + "request": { + "body": { + "type": "json", + "value": { + "data": { + "attributes": { + "action": { + "description": "Needs triage" + }, + "enabled": true, + "name": "Test-Create_an_inbox_rule_returns_Successfully_created_the_inbox_rule_response-1790612067", + "rule": { + "finding_types": [ + "misconfiguration" + ], + "query": "env:staging" + } + }, + "type": "inbox_rules" + } + } + }, + "content_type": "application/json", + "method": "POST", + "path": "/api/v2/security/findings/automation/inbox_rules", + "query": [] + }, + "response": { + "body": { + "encoding": "text", + "value": "{\"data\":{\"id\":\"dc57dc85-6aca-47bf-b8b3-28898cb0b855\",\"type\":\"inbox_rules\",\"attributes\":{\"action\":{\"description\":\"Needs triage\"},\"created_at\":1790612069795,\"created_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"enabled\":true,\"modified_at\":1790612069795,\"modified_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"name\":\"Test-Create_an_inbox_rule_returns_Successfully_created_the_inbox_rule_response-1790612067\",\"rule\":{\"finding_types\":[\"misconfiguration\"],\"query\":\"env:staging\"}}}}" + }, + "headers": { + "content-type": "application/vnd.api+json" + }, + "reason": "Created", + "status": 201 + } + }, + { + "request": { + "body": { + "type": "empty", + "value": null + }, + "content_type": "", + "method": "DELETE", + "path": "/api/v2/security/findings/automation/inbox_rules/dc57dc85-6aca-47bf-b8b3-28898cb0b855", + "query": [] + }, + "response": { + "body": { + "encoding": "text", + "value": "" + }, + "headers": {}, + "reason": "No Content", + "status": 204 + } + } + ], + "scenario": "Create an inbox rule returns \"Successfully created the inbox rule\" response", + "version": "v2" + }, { "feature": "Security Monitoring", "frozen_at": "2025-12-12T14:46:23.960Z", @@ -5287,6 +5356,98 @@ "scenario": "Delete an existing rule returns \"OK\" response", "version": "v2" }, + { + "feature": "Security Monitoring", + "frozen_at": "2026-09-28T16:14:30.420Z", + "interactions": [ + { + "request": { + "body": { + "type": "json", + "value": { + "data": { + "attributes": { + "action": { + "description": "Needs triage" + }, + "enabled": true, + "name": "Test-Delete_an_inbox_rule_returns_Successfully_deleted_the_inbox_rule_response-1790612070", + "rule": { + "finding_types": [ + "misconfiguration" + ], + "query": "env:staging" + } + }, + "type": "inbox_rules" + } + } + }, + "content_type": "application/json", + "method": "POST", + "path": "/api/v2/security/findings/automation/inbox_rules", + "query": [] + }, + "response": { + "body": { + "encoding": "text", + "value": "{\"data\":{\"id\":\"4801a0e2-68ad-4a78-a19c-1ed461044144\",\"type\":\"inbox_rules\",\"attributes\":{\"action\":{\"description\":\"Needs triage\"},\"created_at\":1790612070593,\"created_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"enabled\":true,\"modified_at\":1790612070593,\"modified_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"name\":\"Test-Delete_an_inbox_rule_returns_Successfully_deleted_the_inbox_rule_response-1790612070\",\"rule\":{\"finding_types\":[\"misconfiguration\"],\"query\":\"env:staging\"}}}}" + }, + "headers": { + "content-type": "application/vnd.api+json" + }, + "reason": "Created", + "status": 201 + } + }, + { + "request": { + "body": { + "type": "empty", + "value": null + }, + "content_type": "", + "method": "DELETE", + "path": "/api/v2/security/findings/automation/inbox_rules/4801a0e2-68ad-4a78-a19c-1ed461044144", + "query": [] + }, + "response": { + "body": { + "encoding": "text", + "value": "" + }, + "headers": {}, + "reason": "No Content", + "status": 204 + } + }, + { + "request": { + "body": { + "type": "empty", + "value": null + }, + "content_type": "", + "method": "DELETE", + "path": "/api/v2/security/findings/automation/inbox_rules/4801a0e2-68ad-4a78-a19c-1ed461044144", + "query": [] + }, + "response": { + "body": { + "encoding": "text", + "value": "{\"errors\":[{\"status\":\"404\",\"title\":\"Not Found\",\"detail\":\"rule does not exist\"}]}" + }, + "headers": { + "content-type": "application/vnd.api+json" + }, + "reason": "Not Found", + "status": 404 + } + } + ], + "scenario": "Delete an inbox rule returns \"Successfully deleted the inbox rule\" response", + "version": "v2" + }, { "feature": "Security Monitoring", "frozen_at": "2025-11-20T16:07:27.292Z", @@ -5415,6 +5576,68 @@ "scenario": "Detach security findings from their case returns \"Not Found\" response", "version": "v2" }, + { + "feature": "Security Monitoring", + "frozen_at": "2026-09-28T16:14:31.398Z", + "interactions": [ + { + "request": { + "body": { + "type": "empty", + "value": null + }, + "content_type": "", + "method": "POST", + "path": "/api/v2/security/findings/automation/default_inbox_rules/secret_default_rule/disable", + "query": [] + }, + "response": { + "body": { + "encoding": "text", + "value": "{\"data\":{\"id\":\"secret_default_rule\",\"type\":\"default_inbox_rules\",\"attributes\":{\"action\":{\"description\":\"Maintained by Datadog Security Research. Customize your inbox by adding your own rules, cloning this rule, or disabling it.\"},\"created_at\":1787094752823,\"created_by\":{\"type\":\"system\",\"id\":\"datadog.security_research\",\"name\":\"Datadog Security Research\"},\"enabled\":false,\"modified_at\":1790612071580,\"modified_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"name\":\"Secrets\",\"rule\":{\"finding_types\":[\"secret\"],\"query\":\"@git.repository_visibility:public OR @secret.validation_status:valid\"}}}}" + }, + "headers": { + "content-type": "application/vnd.api+json" + }, + "reason": "OK", + "status": 200 + } + } + ], + "scenario": "Disable a default inbox rule returns \"Successfully disabled the default inbox rule\" response", + "version": "v2" + }, + { + "feature": "Security Monitoring", + "frozen_at": "2026-09-28T16:14:31.756Z", + "interactions": [ + { + "request": { + "body": { + "type": "empty", + "value": null + }, + "content_type": "", + "method": "POST", + "path": "/api/v2/security/findings/automation/default_inbox_rules/secret_default_rule/enable", + "query": [] + }, + "response": { + "body": { + "encoding": "text", + "value": "{\"data\":{\"id\":\"secret_default_rule\",\"type\":\"default_inbox_rules\",\"attributes\":{\"action\":{\"description\":\"Maintained by Datadog Security Research. Customize your inbox by adding your own rules, cloning this rule, or disabling it.\"},\"created_at\":1787094752823,\"created_by\":{\"type\":\"system\",\"id\":\"datadog.security_research\",\"name\":\"Datadog Security Research\"},\"enabled\":true,\"modified_at\":1790612071928,\"modified_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"name\":\"Secrets\",\"rule\":{\"finding_types\":[\"secret\"],\"query\":\"@git.repository_visibility:public OR @secret.validation_status:valid\"}}}}" + }, + "headers": { + "content-type": "application/vnd.api+json" + }, + "reason": "OK", + "status": 200 + } + } + ], + "scenario": "Enable a default inbox rule returns \"Successfully enabled the default inbox rule\" response", + "version": "v2" + }, { "feature": "Security Monitoring", "frozen_at": "2026-04-10T08:56:17.310Z", @@ -6034,6 +6257,37 @@ "scenario": "Get a custom framework returns \"OK\" response", "version": "v2" }, + { + "feature": "Security Monitoring", + "frozen_at": "2026-09-28T16:14:32.107Z", + "interactions": [ + { + "request": { + "body": { + "type": "empty", + "value": null + }, + "content_type": "", + "method": "GET", + "path": "/api/v2/security/findings/automation/default_inbox_rules/secret_default_rule", + "query": [] + }, + "response": { + "body": { + "encoding": "text", + "value": "{\"data\":{\"id\":\"secret_default_rule\",\"type\":\"default_inbox_rules\",\"attributes\":{\"action\":{\"description\":\"Maintained by Datadog Security Research. Customize your inbox by adding your own rules, cloning this rule, or disabling it.\"},\"created_at\":1787094752823,\"created_by\":{\"type\":\"system\",\"id\":\"datadog.security_research\",\"name\":\"Datadog Security Research\"},\"enabled\":true,\"modified_at\":1790612071928,\"modified_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"name\":\"Secrets\",\"rule\":{\"finding_types\":[\"secret\"],\"query\":\"@git.repository_visibility:public OR @secret.validation_status:valid\"}}}}" + }, + "headers": { + "content-type": "application/vnd.api+json" + }, + "reason": "OK", + "status": 200 + } + } + ], + "scenario": "Get a default inbox rule returns \"Successfully retrieved the default inbox rule\" response", + "version": "v2" + }, { "feature": "Security Monitoring", "frozen_at": "2026-06-16T15:41:07.946Z", @@ -7407,6 +7661,37 @@ "scenario": "Get all critical assets returns \"OK\" response", "version": "v2" }, + { + "feature": "Security Monitoring", + "frozen_at": "2026-09-28T16:14:32.340Z", + "interactions": [ + { + "request": { + "body": { + "type": "empty", + "value": null + }, + "content_type": "", + "method": "GET", + "path": "/api/v2/security/findings/automation/default_inbox_rules", + "query": [] + }, + "response": { + "body": { + "encoding": "text", + "value": "{\"data\":[{\"id\":\"attack_path_default_rule\",\"type\":\"default_inbox_rules\",\"attributes\":{\"action\":{\"description\":\"Maintained by Datadog Security Research. Customize your inbox by adding your own rules, cloning this rule, or disabling it.\"},\"created_at\":1787094752823,\"created_by\":{\"type\":\"system\",\"id\":\"datadog.security_research\",\"name\":\"Datadog Security Research\"},\"enabled\":true,\"modified_at\":1788857644518,\"modified_by\":{\"type\":\"system\",\"id\":\"datadog.security_research\",\"name\":\"Datadog Security Research\"},\"name\":\"Attack Paths\",\"rule\":{\"finding_types\":[\"attack_path\"],\"query\":\"@severity:(high OR critical)\"}}},{\"id\":\"host_and_container_vulnerability_default_rule\",\"type\":\"default_inbox_rules\",\"attributes\":{\"action\":{\"description\":\"Maintained by Datadog Security Research. Customize your inbox by adding your own rules, cloning this rule, or disabling it.\"},\"created_at\":1787094752823,\"created_by\":{\"type\":\"system\",\"id\":\"datadog.security_research\",\"name\":\"Datadog Security Research\"},\"enabled\":true,\"modified_at\":1787094752823,\"modified_by\":{\"type\":\"system\",\"id\":\"datadog.security_research\",\"name\":\"Datadog Security Research\"},\"name\":\"Host \\u0026 Container Vulnerabilities\",\"rule\":{\"finding_types\":[\"host_and_container_vulnerability\"],\"query\":\"-@risk.is_image_running:false @risk.has_exploit_available:true @remediation.is_available:true @risk.has_high_exploitability_chance:true @risk_details.has_exploit_available.evidence.exploit_sources:CISA @risk.is_publicly_accessible:true @severity:(high OR critical)\"}}},{\"id\":\"iac_misconfiguration_default_rule\",\"type\":\"default_inbox_rules\",\"attributes\":{\"action\":{\"description\":\"Maintained by Datadog Security Research. Customize your inbox by adding your own rules, cloning this rule, or disabling it.\"},\"created_at\":1787094752823,\"created_by\":{\"type\":\"system\",\"id\":\"datadog.security_research\",\"name\":\"Datadog Security Research\"},\"enabled\":true,\"modified_at\":1787094752823,\"modified_by\":{\"type\":\"system\",\"id\":\"datadog.security_research\",\"name\":\"Datadog Security Research\"},\"name\":\"IaC Misconfigurations\",\"rule\":{\"finding_types\":[\"iac_misconfiguration\"],\"query\":\"@vulnerability.confidence:high @iac_resource.platform:cicd @rule.type:(insecure_configurations OR insecure_defaults) @git.repository_visibility:public @severity:(critical OR high)\"}}},{\"id\":\"identity_risk_default_rule\",\"type\":\"default_inbox_rules\",\"attributes\":{\"action\":{\"description\":\"Maintained by Datadog Security Research. Customize your inbox by adding your own rules, cloning this rule, or disabling it.\"},\"created_at\":1788468727122,\"created_by\":{\"type\":\"system\",\"id\":\"datadog.security_research\",\"name\":\"Datadog Security Research\"},\"enabled\":true,\"modified_at\":1788468727122,\"modified_by\":{\"type\":\"system\",\"id\":\"datadog.security_research\",\"name\":\"Datadog Security Research\"},\"name\":\"Identity Risks\",\"rule\":{\"finding_types\":[\"identity_risk\"],\"query\":\"@rule.default_rule_id:(def-000-65w OR def-000-k6r)\"}}},{\"id\":\"library_vulnerability_default_rule\",\"type\":\"default_inbox_rules\",\"attributes\":{\"action\":{\"description\":\"Maintained by Datadog Security Research. Customize your inbox by adding your own rules, cloning this rule, or disabling it.\"},\"created_at\":1787094752823,\"created_by\":{\"type\":\"system\",\"id\":\"datadog.security_research\",\"name\":\"Datadog Security Research\"},\"enabled\":true,\"modified_at\":1787094752823,\"modified_by\":{\"type\":\"system\",\"id\":\"datadog.security_research\",\"name\":\"Datadog Security Research\"},\"name\":\"Library Vulnerabilities\",\"rule\":{\"finding_types\":[\"library_vulnerability\"],\"query\":\"@risk.is_emerging:true OR ((@risk.is_function_reachable:true OR (@risk.is_exposed_to_attacks:true @risk.is_production:true)) @risk.has_exploit_available:true @severity:critical)\"}}},{\"id\":\"misconfiguration_default_rule\",\"type\":\"default_inbox_rules\",\"attributes\":{\"action\":{\"description\":\"Maintained by Datadog Security Research. Customize your inbox by adding your own rules, cloning this rule, or disabling it.\"},\"created_at\":1788468727122,\"created_by\":{\"type\":\"system\",\"id\":\"datadog.security_research\",\"name\":\"Datadog Security Research\"},\"enabled\":true,\"modified_at\":1788468727122,\"modified_by\":{\"type\":\"system\",\"id\":\"datadog.security_research\",\"name\":\"Datadog Security Research\"},\"name\":\"Misconfigurations\",\"rule\":{\"finding_types\":[\"misconfiguration\"],\"query\":\"@rule.default_rule_id:(542-ddc-8ba OR 5yq-fi1-8pn OR 7hk-tff-0fv OR 8yh-cqk-qbn OR a7e-e88-302 OR def-000-0f1 OR def-000-1u4 OR def-000-5g7 OR def-000-5zq OR def-000-6vi OR def-000-7qa OR def-000-8nn OR def-000-8zx OR def-000-936 OR def-000-9vv OR def-000-ag8 OR def-000-ag9 OR def-000-ee1 OR def-000-fdu OR def-000-glk OR def-000-hrv OR def-000-imu OR def-000-m2r OR def-000-ma8 OR def-000-mcz OR def-000-mwf OR def-000-ny3 OR def-000-ocr OR def-000-ont OR def-000-oru OR def-000-p1v OR def-000-pgo OR def-000-ph2 OR def-000-pp0 OR def-000-q4w OR def-000-qk5 OR def-000-rdc OR def-000-rtu OR def-000-u48 OR def-000-ua9 OR def-000-vcf OR def-000-xog OR def-000-y7k OR dsk-1y0-pv3 OR ee4-ngx-bwr OR exe-9ow-gwv OR fcc-nsq-vkn OR fo0-6re-l0f OR fu0-rtv-2rb OR g1t-jj4-k8k OR rl5-ki5-ja8 OR tzw-4b4-bz5 OR w95-9o2-mw0)\"}}},{\"id\":\"runtime_code_vulnerability_default_rule\",\"type\":\"default_inbox_rules\",\"attributes\":{\"action\":{\"description\":\"Maintained by Datadog Security Research. Customize your inbox by adding your own rules, cloning this rule, or disabling it.\"},\"created_at\":1787094752823,\"created_by\":{\"type\":\"system\",\"id\":\"datadog.security_research\",\"name\":\"Datadog Security Research\"},\"enabled\":true,\"modified_at\":1787094752823,\"modified_by\":{\"type\":\"system\",\"id\":\"datadog.security_research\",\"name\":\"Datadog Security Research\"},\"name\":\"Runtime Code Vulnerabilities\",\"rule\":{\"finding_types\":[\"runtime_code_vulnerability\"],\"query\":\"@risk.is_production:true @risk.is_exposed_to_attacks:true @severity:(critical OR high)\"}}},{\"id\":\"secret_default_rule\",\"type\":\"default_inbox_rules\",\"attributes\":{\"action\":{\"description\":\"Maintained by Datadog Security Research. Customize your inbox by adding your own rules, cloning this rule, or disabling it.\"},\"created_at\":1787094752823,\"created_by\":{\"type\":\"system\",\"id\":\"datadog.security_research\",\"name\":\"Datadog Security Research\"},\"enabled\":true,\"modified_at\":1790612071928,\"modified_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"name\":\"Secrets\",\"rule\":{\"finding_types\":[\"secret\"],\"query\":\"@git.repository_visibility:public OR @secret.validation_status:valid\"}}}]}" + }, + "headers": { + "content-type": "application/vnd.api+json" + }, + "reason": "OK", + "status": 200 + } + } + ], + "scenario": "Get all default inbox rules returns \"Successfully retrieved the list of default inbox rules\" response", + "version": "v2" + }, { "feature": "Security Monitoring", "frozen_at": "2026-06-16T15:41:11.482Z", @@ -7505,6 +7790,98 @@ "scenario": "Get all due date rules returns \"Successfully retrieved the list of due date rules\" response", "version": "v2" }, + { + "feature": "Security Monitoring", + "frozen_at": "2026-09-28T16:14:32.563Z", + "interactions": [ + { + "request": { + "body": { + "type": "json", + "value": { + "data": { + "attributes": { + "action": { + "description": "Needs triage" + }, + "enabled": true, + "name": "Test-Get_all_inbox_rules_returns_Successfully_retrieved_the_list_of_inbox_rules_response-1790612072", + "rule": { + "finding_types": [ + "misconfiguration" + ], + "query": "env:staging" + } + }, + "type": "inbox_rules" + } + } + }, + "content_type": "application/json", + "method": "POST", + "path": "/api/v2/security/findings/automation/inbox_rules", + "query": [] + }, + "response": { + "body": { + "encoding": "text", + "value": "{\"data\":{\"id\":\"619001a4-e643-4b0c-a984-2f8823a408c3\",\"type\":\"inbox_rules\",\"attributes\":{\"action\":{\"description\":\"Needs triage\"},\"created_at\":1790612072728,\"created_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"enabled\":true,\"modified_at\":1790612072728,\"modified_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"name\":\"Test-Get_all_inbox_rules_returns_Successfully_retrieved_the_list_of_inbox_rules_response-1790612072\",\"rule\":{\"finding_types\":[\"misconfiguration\"],\"query\":\"env:staging\"}}}}" + }, + "headers": { + "content-type": "application/vnd.api+json" + }, + "reason": "Created", + "status": 201 + } + }, + { + "request": { + "body": { + "type": "empty", + "value": null + }, + "content_type": "", + "method": "GET", + "path": "/api/v2/security/findings/automation/inbox_rules", + "query": [] + }, + "response": { + "body": { + "encoding": "text", + "value": "{\"data\":[{\"id\":\"619001a4-e643-4b0c-a984-2f8823a408c3\",\"type\":\"inbox_rules\",\"attributes\":{\"action\":{\"description\":\"Needs triage\"},\"created_at\":1790612072728,\"created_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"enabled\":true,\"modified_at\":1790612072728,\"modified_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"name\":\"Test-Get_all_inbox_rules_returns_Successfully_retrieved_the_list_of_inbox_rules_response-1790612072\",\"rule\":{\"finding_types\":[\"misconfiguration\"],\"query\":\"env:staging\"}}}],\"meta\":{\"page\":{\"total_filtered_count\":1}},\"links\":{\"first\":\"/api/v2/security/findings/automation/inbox_rules?page[size]=1000\\u0026page[number]=0\",\"last\":\"/api/v2/security/findings/automation/inbox_rules?page[size]=1000\\u0026page[number]=0\"}}" + }, + "headers": { + "content-type": "application/vnd.api+json" + }, + "reason": "OK", + "status": 200 + } + }, + { + "request": { + "body": { + "type": "empty", + "value": null + }, + "content_type": "", + "method": "DELETE", + "path": "/api/v2/security/findings/automation/inbox_rules/619001a4-e643-4b0c-a984-2f8823a408c3", + "query": [] + }, + "response": { + "body": { + "encoding": "text", + "value": "" + }, + "headers": {}, + "reason": "No Content", + "status": 204 + } + } + ], + "scenario": "Get all inbox rules returns \"Successfully retrieved the list of inbox rules\" response", + "version": "v2" + }, { "feature": "Security Monitoring", "frozen_at": "2026-06-16T15:41:12.599Z", @@ -8100,25 +8477,149 @@ "source:cloudtrail" ] }, - "type": "suppressions" + "type": "suppressions" + } + } + }, + "content_type": "application/json", + "method": "POST", + "path": "/api/v2/security_monitoring/configuration/suppressions", + "query": [] + }, + "response": { + "body": { + "encoding": "text", + "value": "{\"data\":{\"id\":\"qjl-xxu-vlo\",\"type\":\"suppressions\",\"attributes\":{\"creation_date\":1769009707163,\"creator\":{\"handle\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"data_exclusion_query\":\"\",\"description\":\"Test-Get_all_suppression_rules_returns_OK_response_with_sort_descending-1769009707\",\"editable\":true,\"enabled\":true,\"name\":\"suppression2 4668d111f32d9934\",\"rule_query\":\"source:cloudtrail\",\"suppression_query\":\"env:test\",\"tags\":[\"source:cloudtrail\",\"technique:T1110-brute-force\"],\"update_date\":1769009707163,\"updater\":{\"handle\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"version\":1}}}" + }, + "headers": { + "content-type": "application/vnd.api+json" + }, + "reason": "OK", + "status": 200 + } + }, + { + "request": { + "body": { + "type": "empty", + "value": null + }, + "content_type": "", + "method": "GET", + "path": "/api/v2/security_monitoring/configuration/suppressions", + "query": [ + [ + "query", + "id:mru-avx-npf OR id:qjl-xxu-vlo" + ], + [ + "sort", + "-name" + ] + ] + }, + "response": { + "body": { + "encoding": "text", + "value": "{\"data\":[{\"id\":\"qjl-xxu-vlo\",\"type\":\"suppressions\",\"attributes\":{\"creation_date\":1769009707163,\"creator\":{\"handle\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"data_exclusion_query\":\"\",\"description\":\"Test-Get_all_suppression_rules_returns_OK_response_with_sort_descending-1769009707\",\"editable\":true,\"enabled\":true,\"name\":\"suppression2 4668d111f32d9934\",\"rule_query\":\"source:cloudtrail\",\"suppression_query\":\"env:test\",\"tags\":[\"source:cloudtrail\",\"technique:T1110-brute-force\"],\"update_date\":1769009707163,\"updater\":{\"handle\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"version\":1}},{\"id\":\"mru-avx-npf\",\"type\":\"suppressions\",\"attributes\":{\"creation_date\":1769009707069,\"creator\":{\"handle\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"data_exclusion_query\":\"\",\"description\":\"Test-Get_all_suppression_rules_returns_OK_response_with_sort_descending-1769009707\",\"editable\":true,\"enabled\":true,\"name\":\"suppression 4668d111f32d9934\",\"rule_query\":\"source:cloudtrail\",\"suppression_query\":\"env:test\",\"tags\":[\"source:cloudtrail\",\"technique:T1110-brute-force\"],\"update_date\":1769009707069,\"updater\":{\"handle\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"version\":1}}],\"meta\":{\"page\":{\"totalCount\":2,\"pageSize\":2,\"pageNumber\":0}}}" + }, + "headers": { + "content-type": "application/vnd.api+json" + }, + "reason": "OK", + "status": 200 + } + }, + { + "request": { + "body": { + "type": "empty", + "value": null + }, + "content_type": "", + "method": "DELETE", + "path": "/api/v2/security_monitoring/configuration/suppressions/qjl-xxu-vlo", + "query": [] + }, + "response": { + "body": { + "encoding": "text", + "value": "" + }, + "headers": {}, + "reason": "No Content", + "status": 204 + } + }, + { + "request": { + "body": { + "type": "empty", + "value": null + }, + "content_type": "", + "method": "DELETE", + "path": "/api/v2/security_monitoring/configuration/suppressions/mru-avx-npf", + "query": [] + }, + "response": { + "body": { + "encoding": "text", + "value": "" + }, + "headers": {}, + "reason": "No Content", + "status": 204 + } + } + ], + "scenario": "Get all suppression rules returns \"OK\" response with sort descending", + "version": "v2" + }, + { + "feature": "Security Monitoring", + "frozen_at": "2026-06-16T15:41:13.714Z", + "interactions": [ + { + "request": { + "body": { + "type": "json", + "value": { + "data": { + "attributes": { + "action": { + "max_tickets_per_day": 10, + "project_id": "11111111-1111-1111-1111-111111111111", + "target": "jira" + }, + "enabled": true, + "name": "Test-Get_all_ticket_creation_rules_returns_Successfully_retrieved_the_list_of_ticket_creation_rules_respo-1781624473", + "rule": { + "finding_types": [ + "misconfiguration" + ], + "query": "env:staging" + } + }, + "type": "ticket_creation_rules" } } }, "content_type": "application/json", "method": "POST", - "path": "/api/v2/security_monitoring/configuration/suppressions", + "path": "/api/v2/security/findings/automation/ticket_creation_rules", "query": [] }, "response": { "body": { "encoding": "text", - "value": "{\"data\":{\"id\":\"qjl-xxu-vlo\",\"type\":\"suppressions\",\"attributes\":{\"creation_date\":1769009707163,\"creator\":{\"handle\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"data_exclusion_query\":\"\",\"description\":\"Test-Get_all_suppression_rules_returns_OK_response_with_sort_descending-1769009707\",\"editable\":true,\"enabled\":true,\"name\":\"suppression2 4668d111f32d9934\",\"rule_query\":\"source:cloudtrail\",\"suppression_query\":\"env:test\",\"tags\":[\"source:cloudtrail\",\"technique:T1110-brute-force\"],\"update_date\":1769009707163,\"updater\":{\"handle\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"version\":1}}}" + "value": "{\"data\":{\"id\":\"399d69c3-6fcd-4538-b0cc-05e6db5aac38\",\"type\":\"ticket_creation_rules\",\"attributes\":{\"action\":{\"project_id\":\"11111111-1111-1111-1111-111111111111\",\"target\":\"jira\",\"max_tickets_per_day\":10},\"created_at\":1781624473944,\"created_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"enabled\":true,\"modified_at\":1781624473944,\"modified_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"name\":\"Test-Get_all_ticket_creation_rules_returns_Successfully_retrieved_the_list_of_ticket_creation_rules_respo-1781624473\",\"rule\":{\"finding_types\":[\"misconfiguration\"],\"query\":\"env:staging\"}}}}" }, "headers": { "content-type": "application/vnd.api+json" }, - "reason": "OK", - "status": 200 + "reason": "Created", + "status": 201 } }, { @@ -8129,22 +8630,13 @@ }, "content_type": "", "method": "GET", - "path": "/api/v2/security_monitoring/configuration/suppressions", - "query": [ - [ - "query", - "id:mru-avx-npf OR id:qjl-xxu-vlo" - ], - [ - "sort", - "-name" - ] - ] + "path": "/api/v2/security/findings/automation/ticket_creation_rules", + "query": [] }, "response": { "body": { "encoding": "text", - "value": "{\"data\":[{\"id\":\"qjl-xxu-vlo\",\"type\":\"suppressions\",\"attributes\":{\"creation_date\":1769009707163,\"creator\":{\"handle\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"data_exclusion_query\":\"\",\"description\":\"Test-Get_all_suppression_rules_returns_OK_response_with_sort_descending-1769009707\",\"editable\":true,\"enabled\":true,\"name\":\"suppression2 4668d111f32d9934\",\"rule_query\":\"source:cloudtrail\",\"suppression_query\":\"env:test\",\"tags\":[\"source:cloudtrail\",\"technique:T1110-brute-force\"],\"update_date\":1769009707163,\"updater\":{\"handle\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"version\":1}},{\"id\":\"mru-avx-npf\",\"type\":\"suppressions\",\"attributes\":{\"creation_date\":1769009707069,\"creator\":{\"handle\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"data_exclusion_query\":\"\",\"description\":\"Test-Get_all_suppression_rules_returns_OK_response_with_sort_descending-1769009707\",\"editable\":true,\"enabled\":true,\"name\":\"suppression 4668d111f32d9934\",\"rule_query\":\"source:cloudtrail\",\"suppression_query\":\"env:test\",\"tags\":[\"source:cloudtrail\",\"technique:T1110-brute-force\"],\"update_date\":1769009707069,\"updater\":{\"handle\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"version\":1}}],\"meta\":{\"page\":{\"totalCount\":2,\"pageSize\":2,\"pageNumber\":0}}}" + "value": "{\"data\":[{\"id\":\"399d69c3-6fcd-4538-b0cc-05e6db5aac38\",\"type\":\"ticket_creation_rules\",\"attributes\":{\"action\":{\"project_id\":\"11111111-1111-1111-1111-111111111111\",\"target\":\"jira\",\"max_tickets_per_day\":10},\"created_at\":1781624473944,\"created_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"enabled\":true,\"modified_at\":1781624473944,\"modified_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"name\":\"Test-Get_all_ticket_creation_rules_returns_Successfully_retrieved_the_list_of_ticket_creation_rules_respo-1781624473\",\"rule\":{\"finding_types\":[\"misconfiguration\"],\"query\":\"env:staging\"}}}],\"meta\":{\"page\":{\"total_filtered_count\":1}},\"links\":{\"first\":\"/api/v2/security/findings/automation/ticket_creation_rules?page[size]=1000\\u0026page[number]=0\",\"last\":\"/api/v2/security/findings/automation/ticket_creation_rules?page[size]=1000\\u0026page[number]=0\"}}" }, "headers": { "content-type": "application/vnd.api+json" @@ -8161,28 +8653,7 @@ }, "content_type": "", "method": "DELETE", - "path": "/api/v2/security_monitoring/configuration/suppressions/qjl-xxu-vlo", - "query": [] - }, - "response": { - "body": { - "encoding": "text", - "value": "" - }, - "headers": {}, - "reason": "No Content", - "status": 204 - } - }, - { - "request": { - "body": { - "type": "empty", - "value": null - }, - "content_type": "", - "method": "DELETE", - "path": "/api/v2/security_monitoring/configuration/suppressions/mru-avx-npf", + "path": "/api/v2/security/findings/automation/ticket_creation_rules/399d69c3-6fcd-4538-b0cc-05e6db5aac38", "query": [] }, "response": { @@ -8196,12 +8667,12 @@ } } ], - "scenario": "Get all suppression rules returns \"OK\" response with sort descending", + "scenario": "Get all ticket creation rules returns \"Successfully retrieved the list of ticket creation rules\" response", "version": "v2" }, { "feature": "Security Monitoring", - "frozen_at": "2026-06-16T15:41:13.714Z", + "frozen_at": "2026-09-28T16:14:33.495Z", "interactions": [ { "request": { @@ -8211,12 +8682,10 @@ "data": { "attributes": { "action": { - "max_tickets_per_day": 10, - "project_id": "11111111-1111-1111-1111-111111111111", - "target": "jira" + "description": "Needs triage" }, "enabled": true, - "name": "Test-Get_all_ticket_creation_rules_returns_Successfully_retrieved_the_list_of_ticket_creation_rules_respo-1781624473", + "name": "Test-Get_an_inbox_rule_returns_Successfully_retrieved_the_inbox_rule_response-1790612073", "rule": { "finding_types": [ "misconfiguration" @@ -8224,19 +8693,19 @@ "query": "env:staging" } }, - "type": "ticket_creation_rules" + "type": "inbox_rules" } } }, "content_type": "application/json", "method": "POST", - "path": "/api/v2/security/findings/automation/ticket_creation_rules", + "path": "/api/v2/security/findings/automation/inbox_rules", "query": [] }, "response": { "body": { "encoding": "text", - "value": "{\"data\":{\"id\":\"399d69c3-6fcd-4538-b0cc-05e6db5aac38\",\"type\":\"ticket_creation_rules\",\"attributes\":{\"action\":{\"project_id\":\"11111111-1111-1111-1111-111111111111\",\"target\":\"jira\",\"max_tickets_per_day\":10},\"created_at\":1781624473944,\"created_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"enabled\":true,\"modified_at\":1781624473944,\"modified_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"name\":\"Test-Get_all_ticket_creation_rules_returns_Successfully_retrieved_the_list_of_ticket_creation_rules_respo-1781624473\",\"rule\":{\"finding_types\":[\"misconfiguration\"],\"query\":\"env:staging\"}}}}" + "value": "{\"data\":{\"id\":\"32688e34-1328-4675-923a-e80d74041e62\",\"type\":\"inbox_rules\",\"attributes\":{\"action\":{\"description\":\"Needs triage\"},\"created_at\":1790612073668,\"created_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"enabled\":true,\"modified_at\":1790612073668,\"modified_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"name\":\"Test-Get_an_inbox_rule_returns_Successfully_retrieved_the_inbox_rule_response-1790612073\",\"rule\":{\"finding_types\":[\"misconfiguration\"],\"query\":\"env:staging\"}}}}" }, "headers": { "content-type": "application/vnd.api+json" @@ -8253,13 +8722,13 @@ }, "content_type": "", "method": "GET", - "path": "/api/v2/security/findings/automation/ticket_creation_rules", + "path": "/api/v2/security/findings/automation/inbox_rules/32688e34-1328-4675-923a-e80d74041e62", "query": [] }, "response": { "body": { "encoding": "text", - "value": "{\"data\":[{\"id\":\"399d69c3-6fcd-4538-b0cc-05e6db5aac38\",\"type\":\"ticket_creation_rules\",\"attributes\":{\"action\":{\"project_id\":\"11111111-1111-1111-1111-111111111111\",\"target\":\"jira\",\"max_tickets_per_day\":10},\"created_at\":1781624473944,\"created_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"enabled\":true,\"modified_at\":1781624473944,\"modified_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"name\":\"Test-Get_all_ticket_creation_rules_returns_Successfully_retrieved_the_list_of_ticket_creation_rules_respo-1781624473\",\"rule\":{\"finding_types\":[\"misconfiguration\"],\"query\":\"env:staging\"}}}],\"meta\":{\"page\":{\"total_filtered_count\":1}},\"links\":{\"first\":\"/api/v2/security/findings/automation/ticket_creation_rules?page[size]=1000\\u0026page[number]=0\",\"last\":\"/api/v2/security/findings/automation/ticket_creation_rules?page[size]=1000\\u0026page[number]=0\"}}" + "value": "{\"data\":{\"id\":\"32688e34-1328-4675-923a-e80d74041e62\",\"type\":\"inbox_rules\",\"attributes\":{\"action\":{\"description\":\"Needs triage\"},\"created_at\":1790612073668,\"created_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"enabled\":true,\"modified_at\":1790612073668,\"modified_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"name\":\"Test-Get_an_inbox_rule_returns_Successfully_retrieved_the_inbox_rule_response-1790612073\",\"rule\":{\"finding_types\":[\"misconfiguration\"],\"query\":\"env:staging\"}}}}" }, "headers": { "content-type": "application/vnd.api+json" @@ -8276,7 +8745,7 @@ }, "content_type": "", "method": "DELETE", - "path": "/api/v2/security/findings/automation/ticket_creation_rules/399d69c3-6fcd-4538-b0cc-05e6db5aac38", + "path": "/api/v2/security/findings/automation/inbox_rules/32688e34-1328-4675-923a-e80d74041e62", "query": [] }, "response": { @@ -8290,7 +8759,7 @@ } } ], - "scenario": "Get all ticket creation rules returns \"Successfully retrieved the list of ticket creation rules\" response", + "scenario": "Get an inbox rule returns \"Successfully retrieved the inbox rule\" response", "version": "v2" }, { @@ -10990,6 +11459,105 @@ "scenario": "Reorder due date rules returns \"Successfully reordered the due date rules\" response", "version": "v2" }, + { + "feature": "Security Monitoring", + "frozen_at": "2026-09-28T16:14:34.474Z", + "interactions": [ + { + "request": { + "body": { + "type": "json", + "value": { + "data": { + "attributes": { + "action": { + "description": "Needs triage" + }, + "enabled": true, + "name": "Test-Reorder_inbox_rules_returns_Successfully_reordered_the_inbox_rules_response-1790612074", + "rule": { + "finding_types": [ + "misconfiguration" + ], + "query": "env:staging" + } + }, + "type": "inbox_rules" + } + } + }, + "content_type": "application/json", + "method": "POST", + "path": "/api/v2/security/findings/automation/inbox_rules", + "query": [] + }, + "response": { + "body": { + "encoding": "text", + "value": "{\"data\":{\"id\":\"600fac73-3dc3-4f7e-81ad-bb841ab820e6\",\"type\":\"inbox_rules\",\"attributes\":{\"action\":{\"description\":\"Needs triage\"},\"created_at\":1790612074649,\"created_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"enabled\":true,\"modified_at\":1790612074649,\"modified_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"name\":\"Test-Reorder_inbox_rules_returns_Successfully_reordered_the_inbox_rules_response-1790612074\",\"rule\":{\"finding_types\":[\"misconfiguration\"],\"query\":\"env:staging\"}}}}" + }, + "headers": { + "content-type": "application/vnd.api+json" + }, + "reason": "Created", + "status": 201 + } + }, + { + "request": { + "body": { + "type": "json", + "value": { + "data": [ + { + "id": "600fac73-3dc3-4f7e-81ad-bb841ab820e6", + "type": "inbox_rules" + } + ] + } + }, + "content_type": "application/json", + "method": "POST", + "path": "/api/v2/security/findings/automation/inbox_rules/reorder", + "query": [] + }, + "response": { + "body": { + "encoding": "text", + "value": "{\"data\":[{\"type\":\"inbox_rules\",\"id\":\"600fac73-3dc3-4f7e-81ad-bb841ab820e6\"}]}" + }, + "headers": { + "content-type": "application/vnd.api+json" + }, + "reason": "OK", + "status": 200 + } + }, + { + "request": { + "body": { + "type": "empty", + "value": null + }, + "content_type": "", + "method": "DELETE", + "path": "/api/v2/security/findings/automation/inbox_rules/600fac73-3dc3-4f7e-81ad-bb841ab820e6", + "query": [] + }, + "response": { + "body": { + "encoding": "text", + "value": "" + }, + "headers": {}, + "reason": "No Content", + "status": 204 + } + } + ], + "scenario": "Reorder inbox rules returns \"Successfully reordered the inbox rules\" response", + "version": "v2" + }, { "feature": "Security Monitoring", "frozen_at": "2026-06-16T15:41:16.028Z", @@ -12777,7 +13345,7 @@ }, { "feature": "Security Monitoring", - "frozen_at": "2026-06-16T15:41:18.417Z", + "frozen_at": "2026-09-28T16:14:35.560Z", "interactions": [ { "request": { @@ -12796,7 +13364,7 @@ "due_from": "first_seen" }, "enabled": true, - "name": "Test-Update_a_due_date_rule_returns_Successfully_updated_the_due_date_rule_response-1781624478", + "name": "Test-Update_a_due_date_rule_returns_Successfully_updated_the_due_date_rule_response-1790612075", "rule": { "finding_types": [ "misconfiguration" @@ -12816,7 +13384,7 @@ "response": { "body": { "encoding": "text", - "value": "{\"data\":{\"id\":\"22df6980-9710-496d-bf46-85e0ac181dc0\",\"type\":\"due_date_rules\",\"attributes\":{\"action\":{\"due_days_per_severity\":[{\"severity\":\"critical\",\"due_in_days\":7}],\"due_from\":\"first_seen\"},\"created_at\":1781624478629,\"created_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"enabled\":true,\"modified_at\":1781624478629,\"modified_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"name\":\"Test-Update_a_due_date_rule_returns_Successfully_updated_the_due_date_rule_response-1781624478\",\"rule\":{\"finding_types\":[\"misconfiguration\"],\"query\":\"env:staging\"}}}}" + "value": "{\"data\":{\"id\":\"d1c57af8-441e-40ad-861c-8f72e0590d1e\",\"type\":\"due_date_rules\",\"attributes\":{\"action\":{\"due_days_per_severity\":[{\"severity\":\"critical\",\"due_in_days\":7}],\"due_from\":\"first_seen\"},\"created_at\":1790612075728,\"created_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"enabled\":true,\"modified_at\":1790612075728,\"modified_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"name\":\"Test-Update_a_due_date_rule_returns_Successfully_updated_the_due_date_rule_response-1790612075\",\"rule\":{\"finding_types\":[\"misconfiguration\"],\"query\":\"env:staging\"}}}}" }, "headers": { "content-type": "application/vnd.api+json" @@ -12842,7 +13410,7 @@ "due_from": "first_seen" }, "enabled": false, - "name": "Test-Update_a_due_date_rule_returns_Successfully_updated_the_due_date_rule_response-1781624478", + "name": "Test-Update_a_due_date_rule_returns_Successfully_updated_the_due_date_rule_response-1790612075", "rule": { "finding_types": [ "misconfiguration" @@ -12850,19 +13418,20 @@ "query": "env:staging" } }, + "id": "d1c57af8-441e-40ad-861c-8f72e0590d1e", "type": "due_date_rules" } } }, "content_type": "application/json", "method": "PUT", - "path": "/api/v2/security/findings/automation/due_date_rules/22df6980-9710-496d-bf46-85e0ac181dc0", + "path": "/api/v2/security/findings/automation/due_date_rules/d1c57af8-441e-40ad-861c-8f72e0590d1e", "query": [] }, "response": { "body": { "encoding": "text", - "value": "{\"data\":{\"id\":\"22df6980-9710-496d-bf46-85e0ac181dc0\",\"type\":\"due_date_rules\",\"attributes\":{\"action\":{\"due_days_per_severity\":[{\"severity\":\"critical\",\"due_in_days\":14}],\"due_from\":\"first_seen\"},\"created_at\":1781624478629,\"created_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"enabled\":false,\"modified_at\":1781624479036,\"modified_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"name\":\"Test-Update_a_due_date_rule_returns_Successfully_updated_the_due_date_rule_response-1781624478\",\"rule\":{\"finding_types\":[\"misconfiguration\"],\"query\":\"env:staging\"}}}}" + "value": "{\"data\":{\"id\":\"d1c57af8-441e-40ad-861c-8f72e0590d1e\",\"type\":\"due_date_rules\",\"attributes\":{\"action\":{\"due_days_per_severity\":[{\"severity\":\"critical\",\"due_in_days\":14}],\"due_from\":\"first_seen\"},\"created_at\":1790612075728,\"created_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"enabled\":false,\"modified_at\":1790612076079,\"modified_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"name\":\"Test-Update_a_due_date_rule_returns_Successfully_updated_the_due_date_rule_response-1790612075\",\"rule\":{\"finding_types\":[\"misconfiguration\"],\"query\":\"env:staging\"}}}}" }, "headers": { "content-type": "application/vnd.api+json" @@ -12879,7 +13448,7 @@ }, "content_type": "", "method": "DELETE", - "path": "/api/v2/security/findings/automation/due_date_rules/22df6980-9710-496d-bf46-85e0ac181dc0", + "path": "/api/v2/security/findings/automation/due_date_rules/d1c57af8-441e-40ad-861c-8f72e0590d1e", "query": [] }, "response": { @@ -12898,7 +13467,7 @@ }, { "feature": "Security Monitoring", - "frozen_at": "2026-06-16T15:41:19.612Z", + "frozen_at": "2026-09-28T16:14:36.693Z", "interactions": [ { "request": { @@ -12911,7 +13480,7 @@ "reason": "risk_accepted" }, "enabled": true, - "name": "Test-Update_a_mute_rule_returns_Successfully_updated_the_mute_rule_response-1781624479", + "name": "Test-Update_a_mute_rule_returns_Successfully_updated_the_mute_rule_response-1790612076", "rule": { "finding_types": [ "misconfiguration" @@ -12931,7 +13500,7 @@ "response": { "body": { "encoding": "text", - "value": "{\"data\":{\"id\":\"9a1d22ad-558c-4c4e-bdf5-72cd264cf7a9\",\"type\":\"mute_rules\",\"attributes\":{\"action\":{\"reason\":\"risk_accepted\"},\"created_at\":1781624479894,\"created_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"enabled\":true,\"modified_at\":1781624479894,\"modified_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"name\":\"Test-Update_a_mute_rule_returns_Successfully_updated_the_mute_rule_response-1781624479\",\"rule\":{\"finding_types\":[\"misconfiguration\"],\"query\":\"env:staging\"}}}}" + "value": "{\"data\":{\"id\":\"47ebb4d1-b4f1-4519-b864-a977c307f7ae\",\"type\":\"mute_rules\",\"attributes\":{\"action\":{\"reason\":\"risk_accepted\"},\"created_at\":1790612076862,\"created_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"enabled\":true,\"modified_at\":1790612076862,\"modified_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"name\":\"Test-Update_a_mute_rule_returns_Successfully_updated_the_mute_rule_response-1790612076\",\"rule\":{\"finding_types\":[\"misconfiguration\"],\"query\":\"env:staging\"}}}}" }, "headers": { "content-type": "application/vnd.api+json" @@ -12951,7 +13520,7 @@ "reason": "false_positive" }, "enabled": false, - "name": "Test-Update_a_mute_rule_returns_Successfully_updated_the_mute_rule_response-1781624479", + "name": "Test-Update_a_mute_rule_returns_Successfully_updated_the_mute_rule_response-1790612076", "rule": { "finding_types": [ "misconfiguration" @@ -12959,19 +13528,20 @@ "query": "env:staging" } }, + "id": "47ebb4d1-b4f1-4519-b864-a977c307f7ae", "type": "mute_rules" } } }, "content_type": "application/json", "method": "PUT", - "path": "/api/v2/security/findings/automation/mute_rules/9a1d22ad-558c-4c4e-bdf5-72cd264cf7a9", + "path": "/api/v2/security/findings/automation/mute_rules/47ebb4d1-b4f1-4519-b864-a977c307f7ae", "query": [] }, "response": { "body": { "encoding": "text", - "value": "{\"data\":{\"id\":\"9a1d22ad-558c-4c4e-bdf5-72cd264cf7a9\",\"type\":\"mute_rules\",\"attributes\":{\"action\":{\"reason\":\"false_positive\"},\"created_at\":1781624479894,\"created_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"enabled\":false,\"modified_at\":1781624480318,\"modified_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"name\":\"Test-Update_a_mute_rule_returns_Successfully_updated_the_mute_rule_response-1781624479\",\"rule\":{\"finding_types\":[\"misconfiguration\"],\"query\":\"env:staging\"}}}}" + "value": "{\"data\":{\"id\":\"47ebb4d1-b4f1-4519-b864-a977c307f7ae\",\"type\":\"mute_rules\",\"attributes\":{\"action\":{\"reason\":\"false_positive\"},\"created_at\":1790612076862,\"created_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"enabled\":false,\"modified_at\":1790612077230,\"modified_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"name\":\"Test-Update_a_mute_rule_returns_Successfully_updated_the_mute_rule_response-1790612076\",\"rule\":{\"finding_types\":[\"misconfiguration\"],\"query\":\"env:staging\"}}}}" }, "headers": { "content-type": "application/vnd.api+json" @@ -12988,7 +13558,7 @@ }, "content_type": "", "method": "DELETE", - "path": "/api/v2/security/findings/automation/mute_rules/9a1d22ad-558c-4c4e-bdf5-72cd264cf7a9", + "path": "/api/v2/security/findings/automation/mute_rules/47ebb4d1-b4f1-4519-b864-a977c307f7ae", "query": [] }, "response": { @@ -13112,7 +13682,7 @@ }, { "feature": "Security Monitoring", - "frozen_at": "2026-08-18T07:21:01.200Z", + "frozen_at": "2026-09-28T16:14:37.824Z", "interactions": [ { "request": { @@ -13126,7 +13696,7 @@ "type": "set" }, "enabled": true, - "name": "Test-Update_a_severity_modifier_rule_returns_Successfully_updated_the_severity_modifier_rule_response-1787037661", + "name": "Test-Update_a_severity_modifier_rule_returns_Successfully_updated_the_severity_modifier_rule_response-1790612077", "rule": { "finding_types": [ "misconfiguration" @@ -13146,7 +13716,7 @@ "response": { "body": { "encoding": "text", - "value": "{\"data\":{\"id\":\"c58887bd-5c87-497c-adb8-db08a3593bbb\",\"type\":\"severity_modifier_rules\",\"attributes\":{\"action\":{\"type\":\"set\",\"severity\":\"low\"},\"created_at\":1787037661319,\"created_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"enabled\":true,\"modified_at\":1787037661319,\"modified_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"name\":\"Test-Update_a_severity_modifier_rule_returns_Successfully_updated_the_severity_modifier_rule_response-1787037661\",\"rule\":{\"finding_types\":[\"misconfiguration\"],\"query\":\"env:staging\"}}}}" + "value": "{\"data\":{\"id\":\"ee58047b-5859-4ebc-9b21-55ff99109f13\",\"type\":\"severity_modifier_rules\",\"attributes\":{\"action\":{\"type\":\"set\",\"severity\":\"low\"},\"created_at\":1790612078013,\"created_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"enabled\":true,\"modified_at\":1790612078013,\"modified_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"name\":\"Test-Update_a_severity_modifier_rule_returns_Successfully_updated_the_severity_modifier_rule_response-1790612077\",\"rule\":{\"finding_types\":[\"misconfiguration\"],\"query\":\"env:staging\"}}}}" }, "headers": { "content-type": "application/vnd.api+json" @@ -13176,19 +13746,20 @@ "query": "env:prod team:platform" } }, + "id": "ee58047b-5859-4ebc-9b21-55ff99109f13", "type": "severity_modifier_rules" } } }, "content_type": "application/json", "method": "PUT", - "path": "/api/v2/security/findings/automation/severity_modifier_rules/c58887bd-5c87-497c-adb8-db08a3593bbb", + "path": "/api/v2/security/findings/automation/severity_modifier_rules/ee58047b-5859-4ebc-9b21-55ff99109f13", "query": [] }, "response": { "body": { "encoding": "text", - "value": "{\"data\":{\"id\":\"c58887bd-5c87-497c-adb8-db08a3593bbb\",\"type\":\"severity_modifier_rules\",\"attributes\":{\"action\":{\"type\":\"set\",\"severity\":\"low\",\"description\":\"Lower severity for dev environment noise\"},\"created_at\":1787037661319,\"created_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"enabled\":true,\"modified_at\":1787037661614,\"modified_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"name\":\"Downgrade misconfigurations in dev\",\"rule\":{\"finding_types\":[\"misconfiguration\"],\"query\":\"env:prod team:platform\"}}}}" + "value": "{\"data\":{\"id\":\"ee58047b-5859-4ebc-9b21-55ff99109f13\",\"type\":\"severity_modifier_rules\",\"attributes\":{\"action\":{\"type\":\"set\",\"severity\":\"low\",\"description\":\"Lower severity for dev environment noise\"},\"created_at\":1790612078013,\"created_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"enabled\":true,\"modified_at\":1790612078376,\"modified_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"name\":\"Downgrade misconfigurations in dev\",\"rule\":{\"finding_types\":[\"misconfiguration\"],\"query\":\"env:prod team:platform\"}}}}" }, "headers": { "content-type": "application/vnd.api+json" @@ -13205,7 +13776,7 @@ }, "content_type": "", "method": "DELETE", - "path": "/api/v2/security/findings/automation/severity_modifier_rules/c58887bd-5c87-497c-adb8-db08a3593bbb", + "path": "/api/v2/security/findings/automation/severity_modifier_rules/ee58047b-5859-4ebc-9b21-55ff99109f13", "query": [] }, "response": { @@ -13321,7 +13892,7 @@ }, { "feature": "Security Monitoring", - "frozen_at": "2026-06-16T15:41:20.880Z", + "frozen_at": "2026-09-28T16:14:38.945Z", "interactions": [ { "request": { @@ -13336,7 +13907,7 @@ "target": "jira" }, "enabled": true, - "name": "Test-Update_a_ticket_creation_rule_returns_Successfully_updated_the_ticket_creation_rule_response-1781624480", + "name": "Test-Update_a_ticket_creation_rule_returns_Successfully_updated_the_ticket_creation_rule_response-1790612078", "rule": { "finding_types": [ "misconfiguration" @@ -13356,7 +13927,7 @@ "response": { "body": { "encoding": "text", - "value": "{\"data\":{\"id\":\"d3fcec39-567f-4450-967e-ca83bb29dbe4\",\"type\":\"ticket_creation_rules\",\"attributes\":{\"action\":{\"project_id\":\"11111111-1111-1111-1111-111111111111\",\"target\":\"jira\",\"max_tickets_per_day\":10},\"created_at\":1781624481109,\"created_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"enabled\":true,\"modified_at\":1781624481109,\"modified_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"name\":\"Test-Update_a_ticket_creation_rule_returns_Successfully_updated_the_ticket_creation_rule_response-1781624480\",\"rule\":{\"finding_types\":[\"misconfiguration\"],\"query\":\"env:staging\"}}}}" + "value": "{\"data\":{\"id\":\"ce00a58f-5bfd-4325-9cb7-0ce1fc3c632b\",\"type\":\"ticket_creation_rules\",\"attributes\":{\"action\":{\"project_id\":\"11111111-1111-1111-1111-111111111111\",\"target\":\"jira\",\"max_tickets_per_day\":10},\"created_at\":1790612079182,\"created_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"enabled\":true,\"modified_at\":1790612079182,\"modified_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"name\":\"Test-Update_a_ticket_creation_rule_returns_Successfully_updated_the_ticket_creation_rule_response-1790612078\",\"rule\":{\"finding_types\":[\"misconfiguration\"],\"query\":\"env:staging\"}}}}" }, "headers": { "content-type": "application/vnd.api+json" @@ -13378,7 +13949,7 @@ "target": "jira" }, "enabled": false, - "name": "Test-Update_a_ticket_creation_rule_returns_Successfully_updated_the_ticket_creation_rule_response-1781624480", + "name": "Test-Update_a_ticket_creation_rule_returns_Successfully_updated_the_ticket_creation_rule_response-1790612078", "rule": { "finding_types": [ "misconfiguration" @@ -13386,19 +13957,20 @@ "query": "env:staging" } }, + "id": "ce00a58f-5bfd-4325-9cb7-0ce1fc3c632b", "type": "ticket_creation_rules" } } }, "content_type": "application/json", "method": "PUT", - "path": "/api/v2/security/findings/automation/ticket_creation_rules/d3fcec39-567f-4450-967e-ca83bb29dbe4", + "path": "/api/v2/security/findings/automation/ticket_creation_rules/ce00a58f-5bfd-4325-9cb7-0ce1fc3c632b", "query": [] }, "response": { "body": { "encoding": "text", - "value": "{\"data\":{\"id\":\"d3fcec39-567f-4450-967e-ca83bb29dbe4\",\"type\":\"ticket_creation_rules\",\"attributes\":{\"action\":{\"project_id\":\"11111111-1111-1111-1111-111111111111\",\"target\":\"jira\",\"max_tickets_per_day\":5},\"created_at\":1781624481109,\"created_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"enabled\":false,\"modified_at\":1781624481511,\"modified_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"name\":\"Test-Update_a_ticket_creation_rule_returns_Successfully_updated_the_ticket_creation_rule_response-1781624480\",\"rule\":{\"finding_types\":[\"misconfiguration\"],\"query\":\"env:staging\"}}}}" + "value": "{\"data\":{\"id\":\"ce00a58f-5bfd-4325-9cb7-0ce1fc3c632b\",\"type\":\"ticket_creation_rules\",\"attributes\":{\"action\":{\"project_id\":\"11111111-1111-1111-1111-111111111111\",\"target\":\"jira\",\"max_tickets_per_day\":5},\"created_at\":1790612079182,\"created_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"enabled\":false,\"modified_at\":1790612079544,\"modified_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"name\":\"Test-Update_a_ticket_creation_rule_returns_Successfully_updated_the_ticket_creation_rule_response-1790612078\",\"rule\":{\"finding_types\":[\"misconfiguration\"],\"query\":\"env:staging\"}}}}" }, "headers": { "content-type": "application/vnd.api+json" @@ -13415,7 +13987,7 @@ }, "content_type": "", "method": "DELETE", - "path": "/api/v2/security/findings/automation/ticket_creation_rules/d3fcec39-567f-4450-967e-ca83bb29dbe4", + "path": "/api/v2/security/findings/automation/ticket_creation_rules/ce00a58f-5bfd-4325-9cb7-0ce1fc3c632b", "query": [] }, "response": { @@ -13743,6 +14315,116 @@ "scenario": "Update an existing rule returns \"OK\" response", "version": "v2" }, + { + "feature": "Security Monitoring", + "frozen_at": "2026-09-28T16:14:40.089Z", + "interactions": [ + { + "request": { + "body": { + "type": "json", + "value": { + "data": { + "attributes": { + "action": { + "description": "Needs triage" + }, + "enabled": true, + "name": "Test-Update_an_inbox_rule_returns_Successfully_updated_the_inbox_rule_response-1790612080", + "rule": { + "finding_types": [ + "misconfiguration" + ], + "query": "env:staging" + } + }, + "type": "inbox_rules" + } + } + }, + "content_type": "application/json", + "method": "POST", + "path": "/api/v2/security/findings/automation/inbox_rules", + "query": [] + }, + "response": { + "body": { + "encoding": "text", + "value": "{\"data\":{\"id\":\"9c1e6995-7c04-403a-9cb0-62f8cc94e25a\",\"type\":\"inbox_rules\",\"attributes\":{\"action\":{\"description\":\"Needs triage\"},\"created_at\":1790612080262,\"created_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"enabled\":true,\"modified_at\":1790612080262,\"modified_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"name\":\"Test-Update_an_inbox_rule_returns_Successfully_updated_the_inbox_rule_response-1790612080\",\"rule\":{\"finding_types\":[\"misconfiguration\"],\"query\":\"env:staging\"}}}}" + }, + "headers": { + "content-type": "application/vnd.api+json" + }, + "reason": "Created", + "status": 201 + } + }, + { + "request": { + "body": { + "type": "json", + "value": { + "data": { + "attributes": { + "action": { + "description": "Needs triage" + }, + "enabled": false, + "name": "Test-Update_an_inbox_rule_returns_Successfully_updated_the_inbox_rule_response-1790612080", + "rule": { + "finding_types": [ + "misconfiguration" + ], + "query": "env:staging" + } + }, + "id": "9c1e6995-7c04-403a-9cb0-62f8cc94e25a", + "type": "inbox_rules" + } + } + }, + "content_type": "application/json", + "method": "PUT", + "path": "/api/v2/security/findings/automation/inbox_rules/9c1e6995-7c04-403a-9cb0-62f8cc94e25a", + "query": [] + }, + "response": { + "body": { + "encoding": "text", + "value": "{\"data\":{\"id\":\"9c1e6995-7c04-403a-9cb0-62f8cc94e25a\",\"type\":\"inbox_rules\",\"attributes\":{\"action\":{\"description\":\"Needs triage\"},\"created_at\":1790612080262,\"created_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"enabled\":false,\"modified_at\":1790612080636,\"modified_by\":{\"type\":\"user\",\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"name\":\"CI Account\"},\"name\":\"Test-Update_an_inbox_rule_returns_Successfully_updated_the_inbox_rule_response-1790612080\",\"rule\":{\"finding_types\":[\"misconfiguration\"],\"query\":\"env:staging\"}}}}" + }, + "headers": { + "content-type": "application/vnd.api+json" + }, + "reason": "OK", + "status": 200 + } + }, + { + "request": { + "body": { + "type": "empty", + "value": null + }, + "content_type": "", + "method": "DELETE", + "path": "/api/v2/security/findings/automation/inbox_rules/9c1e6995-7c04-403a-9cb0-62f8cc94e25a", + "query": [] + }, + "response": { + "body": { + "encoding": "text", + "value": "" + }, + "headers": {}, + "reason": "No Content", + "status": 204 + } + } + ], + "scenario": "Update an inbox rule returns \"Successfully updated the inbox rule\" response", + "version": "v2" + }, { "feature": "Security Monitoring", "frozen_at": "2025-05-15T09:52:48.266Z", diff --git a/features/v2/security_monitoring.feature b/features/v2/security_monitoring.feature index cf9a335e2219..4a3d03be1c66 100644 --- a/features/v2/security_monitoring.feature +++ b/features/v2/security_monitoring.feature @@ -1049,7 +1049,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 400 Bad Request - @skip @team:DataDog/k9-automation + @team:DataDog/k9-automation Scenario: Create an inbox rule returns "Successfully created the inbox rule" response Given operation "CreateSecurityFindingsAutomationInboxRule" enabled And new "CreateSecurityFindingsAutomationInboxRule" request @@ -1493,7 +1493,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 404 Not Found - @skip @team:DataDog/k9-automation + @team:DataDog/k9-automation Scenario: Delete an inbox rule returns "Successfully deleted the inbox rule" response Given operation "DeleteSecurityFindingsAutomationInboxRule" enabled And there is a valid "valid_inbox_rule" in the system @@ -1531,7 +1531,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 404 Not Found - @skip @team:DataDog/k9-automation + @team:DataDog/k9-automation Scenario: Disable a default inbox rule returns "Successfully disabled the default inbox rule" response Given operation "DisableSecurityFindingsAutomationDefaultInboxRule" enabled And new "DisableSecurityFindingsAutomationDefaultInboxRule" request @@ -1550,7 +1550,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 404 Not Found - @skip @team:DataDog/k9-automation + @team:DataDog/k9-automation Scenario: Enable a default inbox rule returns "Successfully enabled the default inbox rule" response Given operation "EnableSecurityFindingsAutomationDefaultInboxRule" enabled And new "EnableSecurityFindingsAutomationDefaultInboxRule" request @@ -1784,7 +1784,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 404 Not Found - @skip @team:DataDog/k9-automation + @team:DataDog/k9-automation Scenario: Get a default inbox rule returns "Successfully retrieved the default inbox rule" response Given operation "GetSecurityFindingsAutomationDefaultInboxRule" enabled And new "GetSecurityFindingsAutomationDefaultInboxRule" request @@ -2159,7 +2159,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 200 OK - @skip @team:DataDog/k9-automation + @team:DataDog/k9-automation Scenario: Get all default inbox rules returns "Successfully retrieved the list of default inbox rules" response Given operation "ListSecurityFindingsAutomationDefaultInboxRules" enabled And new "ListSecurityFindingsAutomationDefaultInboxRules" request @@ -2176,7 +2176,7 @@ Feature: Security Monitoring Then the response status is 200 Successfully retrieved the list of due date rules And the response "data" has item with field "id" with value "{{ valid_due_date_rule.data.id }}" - @skip @team:DataDog/k9-automation + @team:DataDog/k9-automation Scenario: Get all inbox rules returns "Successfully retrieved the list of inbox rules" response Given operation "ListSecurityFindingsAutomationInboxRules" enabled And there is a valid "valid_inbox_rule" in the system @@ -2291,7 +2291,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 404 Not Found - @skip @team:DataDog/k9-automation + @team:DataDog/k9-automation Scenario: Get an inbox rule returns "Successfully retrieved the inbox rule" response Given operation "GetSecurityFindingsAutomationInboxRule" enabled And there is a valid "valid_inbox_rule" in the system @@ -3180,7 +3180,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 400 Bad Request - @skip @team:DataDog/k9-automation + @team:DataDog/k9-automation Scenario: Reorder inbox rules returns "Successfully reordered the inbox rules" response Given operation "ReorderSecurityFindingsAutomationInboxRules" enabled And there is a valid "valid_inbox_rule" in the system @@ -3622,7 +3622,7 @@ Feature: Security Monitoring Given operation "UpdateSecurityFindingsAutomationDueDateRule" enabled And new "UpdateSecurityFindingsAutomationDueDateRule" request And request contains "rule_id" parameter from "REPLACE.ME" - And body with value {"data": {"attributes": {"action": {"due_days_per_severity": [{"due_in_days": 7, "severity": "critical"}], "due_from": "first_seen", "reason_description": "Applied for production findings only"}, "enabled": true, "name": "Critical findings due in 7 days", "rule": {"finding_types": ["misconfiguration"], "query": "env:prod team:platform"}}, "type": "due_date_rules"}} + And body with value {"data": {"attributes": {"action": {"due_days_per_severity": [{"due_in_days": 7, "severity": "critical"}], "due_from": "first_seen", "reason_description": "Applied for production findings only"}, "enabled": true, "name": "Critical findings due in 7 days", "rule": {"finding_types": ["misconfiguration"], "query": "env:prod team:platform"}}, "id": "00000000-0000-0000-0000-000000000000", "type": "due_date_rules"}} When the request is sent Then the response status is 400 Bad Request @@ -3631,7 +3631,7 @@ Feature: Security Monitoring Given operation "UpdateSecurityFindingsAutomationDueDateRule" enabled And new "UpdateSecurityFindingsAutomationDueDateRule" request And request contains "rule_id" parameter from "REPLACE.ME" - And body with value {"data": {"attributes": {"action": {"due_days_per_severity": [{"due_in_days": 7, "severity": "critical"}], "due_from": "first_seen", "reason_description": "Applied for production findings only"}, "enabled": true, "name": "Critical findings due in 7 days", "rule": {"finding_types": ["misconfiguration"], "query": "env:prod team:platform"}}, "type": "due_date_rules"}} + And body with value {"data": {"attributes": {"action": {"due_days_per_severity": [{"due_in_days": 7, "severity": "critical"}], "due_from": "first_seen", "reason_description": "Applied for production findings only"}, "enabled": true, "name": "Critical findings due in 7 days", "rule": {"finding_types": ["misconfiguration"], "query": "env:prod team:platform"}}, "id": "00000000-0000-0000-0000-000000000000", "type": "due_date_rules"}} When the request is sent Then the response status is 404 Not Found @@ -3641,7 +3641,7 @@ Feature: Security Monitoring And there is a valid "valid_due_date_rule" in the system And new "UpdateSecurityFindingsAutomationDueDateRule" request And request contains "rule_id" parameter from "valid_due_date_rule.data.id" - And body with value {"data": {"attributes": {"action": {"due_days_per_severity": [{"due_in_days": 14, "severity": "critical"}], "due_from": "first_seen"}, "enabled": false, "name": "{{ unique }}", "rule": {"finding_types": ["misconfiguration"], "query": "env:staging"}}, "type": "due_date_rules"}} + And body with value {"data": {"attributes": {"action": {"due_days_per_severity": [{"due_in_days": 14, "severity": "critical"}], "due_from": "first_seen"}, "enabled": false, "name": "{{ unique }}", "rule": {"finding_types": ["misconfiguration"], "query": "env:staging"}}, "id": "{{ valid_due_date_rule.data.id }}", "type": "due_date_rules"}} When the request is sent Then the response status is 200 Successfully updated the due date rule And the response "data.id" is equal to "{{ valid_due_date_rule.data.id }}" @@ -3652,7 +3652,7 @@ Feature: Security Monitoring Given operation "UpdateSecurityFindingsAutomationDueDateRule" enabled And new "UpdateSecurityFindingsAutomationDueDateRule" request And request contains "rule_id" parameter from "REPLACE.ME" - And body with value {"data": {"attributes": {"action": {"due_days_per_severity": [{"due_in_days": 7, "severity": "critical"}], "due_from": "first_seen", "reason_description": "Applied for production findings only"}, "enabled": true, "name": "Critical findings due in 7 days", "rule": {"finding_types": ["misconfiguration"], "query": "env:prod team:platform"}}, "type": "due_date_rules"}} + And body with value {"data": {"attributes": {"action": {"due_days_per_severity": [{"due_in_days": 7, "severity": "critical"}], "due_from": "first_seen", "reason_description": "Applied for production findings only"}, "enabled": true, "name": "Critical findings due in 7 days", "rule": {"finding_types": ["misconfiguration"], "query": "env:prod team:platform"}}, "id": "00000000-0000-0000-0000-000000000000", "type": "due_date_rules"}} When the request is sent Then the response status is 422 Unprocessable Entity @@ -3661,7 +3661,7 @@ Feature: Security Monitoring Given operation "UpdateSecurityFindingsAutomationMuteRule" enabled And new "UpdateSecurityFindingsAutomationMuteRule" request And request contains "rule_id" parameter from "REPLACE.ME" - And body with value {"data": {"attributes": {"action": {"expire_at": 4070908800000, "reason": "risk_accepted", "reason_description": "Accepted for dev environments only"}, "enabled": true, "name": "Mute accepted risks in dev", "rule": {"finding_types": ["misconfiguration"], "query": "env:prod team:platform"}}, "type": "mute_rules"}} + And body with value {"data": {"attributes": {"action": {"expire_at": 4070908800000, "reason": "risk_accepted", "reason_description": "Accepted for dev environments only"}, "enabled": true, "name": "Mute accepted risks in dev", "rule": {"finding_types": ["misconfiguration"], "query": "env:prod team:platform"}}, "id": "00000000-0000-0000-0000-000000000000", "type": "mute_rules"}} When the request is sent Then the response status is 400 Bad Request @@ -3670,7 +3670,7 @@ Feature: Security Monitoring Given operation "UpdateSecurityFindingsAutomationMuteRule" enabled And new "UpdateSecurityFindingsAutomationMuteRule" request And request contains "rule_id" parameter from "REPLACE.ME" - And body with value {"data": {"attributes": {"action": {"expire_at": 4070908800000, "reason": "risk_accepted", "reason_description": "Accepted for dev environments only"}, "enabled": true, "name": "Mute accepted risks in dev", "rule": {"finding_types": ["misconfiguration"], "query": "env:prod team:platform"}}, "type": "mute_rules"}} + And body with value {"data": {"attributes": {"action": {"expire_at": 4070908800000, "reason": "risk_accepted", "reason_description": "Accepted for dev environments only"}, "enabled": true, "name": "Mute accepted risks in dev", "rule": {"finding_types": ["misconfiguration"], "query": "env:prod team:platform"}}, "id": "00000000-0000-0000-0000-000000000000", "type": "mute_rules"}} When the request is sent Then the response status is 404 Not Found @@ -3680,7 +3680,7 @@ Feature: Security Monitoring And there is a valid "valid_mute_rule" in the system And new "UpdateSecurityFindingsAutomationMuteRule" request And request contains "rule_id" parameter from "valid_mute_rule.data.id" - And body with value {"data": {"attributes": {"action": {"reason": "false_positive"}, "enabled": false, "name": "{{ unique }}", "rule": {"finding_types": ["misconfiguration"], "query": "env:staging"}}, "type": "mute_rules"}} + And body with value {"data": {"attributes": {"action": {"reason": "false_positive"}, "enabled": false, "name": "{{ unique }}", "rule": {"finding_types": ["misconfiguration"], "query": "env:staging"}}, "id": "{{ valid_mute_rule.data.id }}", "type": "mute_rules"}} When the request is sent Then the response status is 200 Successfully updated the mute rule And the response "data.id" is equal to "{{ valid_mute_rule.data.id }}" @@ -3691,7 +3691,7 @@ Feature: Security Monitoring Given operation "UpdateSecurityFindingsAutomationMuteRule" enabled And new "UpdateSecurityFindingsAutomationMuteRule" request And request contains "rule_id" parameter from "REPLACE.ME" - And body with value {"data": {"attributes": {"action": {"expire_at": 4070908800000, "reason": "risk_accepted", "reason_description": "Accepted for dev environments only"}, "enabled": true, "name": "Mute accepted risks in dev", "rule": {"finding_types": ["misconfiguration"], "query": "env:prod team:platform"}}, "type": "mute_rules"}} + And body with value {"data": {"attributes": {"action": {"expire_at": 4070908800000, "reason": "risk_accepted", "reason_description": "Accepted for dev environments only"}, "enabled": true, "name": "Mute accepted risks in dev", "rule": {"finding_types": ["misconfiguration"], "query": "env:prod team:platform"}}, "id": "00000000-0000-0000-0000-000000000000", "type": "mute_rules"}} When the request is sent Then the response status is 422 Unprocessable Entity @@ -3736,7 +3736,7 @@ Feature: Security Monitoring Given operation "UpdateSecurityFindingsAutomationSeverityModifierRule" enabled And new "UpdateSecurityFindingsAutomationSeverityModifierRule" request And request contains "rule_id" parameter from "REPLACE.ME" - And body with value {"data": {"attributes": {"action": {"description": "Lower severity for dev environment noise", "severity": "low", "type": "set"}, "enabled": true, "name": "Downgrade misconfigurations in dev", "rule": {"finding_types": ["misconfiguration"], "query": "env:prod team:platform"}}, "type": "severity_modifier_rules"}} + And body with value {"data": {"attributes": {"action": {"description": "Lower severity for dev environment noise", "severity": "low", "type": "set"}, "enabled": true, "name": "Downgrade misconfigurations in dev", "rule": {"finding_types": ["misconfiguration"], "query": "env:prod team:platform"}}, "id": "00000000-0000-0000-0000-000000000000", "type": "severity_modifier_rules"}} When the request is sent Then the response status is 400 Bad Request @@ -3745,7 +3745,7 @@ Feature: Security Monitoring Given operation "UpdateSecurityFindingsAutomationSeverityModifierRule" enabled And new "UpdateSecurityFindingsAutomationSeverityModifierRule" request And request contains "rule_id" parameter from "REPLACE.ME" - And body with value {"data": {"attributes": {"action": {"description": "Lower severity for dev environment noise", "severity": "low", "type": "set"}, "enabled": true, "name": "Downgrade misconfigurations in dev", "rule": {"finding_types": ["misconfiguration"], "query": "env:prod team:platform"}}, "type": "severity_modifier_rules"}} + And body with value {"data": {"attributes": {"action": {"description": "Lower severity for dev environment noise", "severity": "low", "type": "set"}, "enabled": true, "name": "Downgrade misconfigurations in dev", "rule": {"finding_types": ["misconfiguration"], "query": "env:prod team:platform"}}, "id": "00000000-0000-0000-0000-000000000000", "type": "severity_modifier_rules"}} When the request is sent Then the response status is 404 Not Found @@ -3755,7 +3755,7 @@ Feature: Security Monitoring And there is a valid "valid_severity_modifier_rule" in the system And new "UpdateSecurityFindingsAutomationSeverityModifierRule" request And request contains "rule_id" parameter from "valid_severity_modifier_rule.data.id" - And body with value {"data": {"attributes": {"action": {"description": "Lower severity for dev environment noise", "severity": "low", "type": "set"}, "enabled": true, "name": "Downgrade misconfigurations in dev", "rule": {"finding_types": ["misconfiguration"], "query": "env:prod team:platform"}}, "type": "severity_modifier_rules"}} + And body with value {"data": {"attributes": {"action": {"description": "Lower severity for dev environment noise", "severity": "low", "type": "set"}, "enabled": true, "name": "Downgrade misconfigurations in dev", "rule": {"finding_types": ["misconfiguration"], "query": "env:prod team:platform"}}, "id": "{{ valid_severity_modifier_rule.data.id }}", "type": "severity_modifier_rules"}} When the request is sent Then the response status is 200 Successfully updated the severity modifier rule @@ -3764,7 +3764,7 @@ Feature: Security Monitoring Given operation "UpdateSecurityFindingsAutomationSeverityModifierRule" enabled And new "UpdateSecurityFindingsAutomationSeverityModifierRule" request And request contains "rule_id" parameter from "REPLACE.ME" - And body with value {"data": {"attributes": {"action": {"description": "Lower severity for dev environment noise", "severity": "low", "type": "set"}, "enabled": true, "name": "Downgrade misconfigurations in dev", "rule": {"finding_types": ["misconfiguration"], "query": "env:prod team:platform"}}, "type": "severity_modifier_rules"}} + And body with value {"data": {"attributes": {"action": {"description": "Lower severity for dev environment noise", "severity": "low", "type": "set"}, "enabled": true, "name": "Downgrade misconfigurations in dev", "rule": {"finding_types": ["misconfiguration"], "query": "env:prod team:platform"}}, "id": "00000000-0000-0000-0000-000000000000", "type": "severity_modifier_rules"}} When the request is sent Then the response status is 422 Unprocessable Entity @@ -3809,7 +3809,7 @@ Feature: Security Monitoring Given operation "UpdateSecurityFindingsAutomationTicketCreationRule" enabled And new "UpdateSecurityFindingsAutomationTicketCreationRule" request And request contains "rule_id" parameter from "REPLACE.ME" - And body with value {"data": {"attributes": {"action": {"assignee_id": "22222222-2222-2222-2222-222222222222", "fields": {"labels": ["security"]}, "max_tickets_per_day": 100, "project_id": "11111111-1111-1111-1111-111111111111", "target": "jira"}, "enabled": true, "name": "Auto-create Jira tickets for critical findings", "rule": {"finding_types": ["misconfiguration"], "query": "env:prod team:platform"}}, "type": "ticket_creation_rules"}} + And body with value {"data": {"attributes": {"action": {"assignee_id": "22222222-2222-2222-2222-222222222222", "fields": {"labels": ["security"]}, "max_tickets_per_day": 100, "project_id": "11111111-1111-1111-1111-111111111111", "target": "jira"}, "enabled": true, "name": "Auto-create Jira tickets for critical findings", "rule": {"finding_types": ["misconfiguration"], "query": "env:prod team:platform"}}, "id": "00000000-0000-0000-0000-000000000000", "type": "ticket_creation_rules"}} When the request is sent Then the response status is 400 Bad Request @@ -3818,7 +3818,7 @@ Feature: Security Monitoring Given operation "UpdateSecurityFindingsAutomationTicketCreationRule" enabled And new "UpdateSecurityFindingsAutomationTicketCreationRule" request And request contains "rule_id" parameter from "REPLACE.ME" - And body with value {"data": {"attributes": {"action": {"assignee_id": "22222222-2222-2222-2222-222222222222", "fields": {"labels": ["security"]}, "max_tickets_per_day": 100, "project_id": "11111111-1111-1111-1111-111111111111", "target": "jira"}, "enabled": true, "name": "Auto-create Jira tickets for critical findings", "rule": {"finding_types": ["misconfiguration"], "query": "env:prod team:platform"}}, "type": "ticket_creation_rules"}} + And body with value {"data": {"attributes": {"action": {"assignee_id": "22222222-2222-2222-2222-222222222222", "fields": {"labels": ["security"]}, "max_tickets_per_day": 100, "project_id": "11111111-1111-1111-1111-111111111111", "target": "jira"}, "enabled": true, "name": "Auto-create Jira tickets for critical findings", "rule": {"finding_types": ["misconfiguration"], "query": "env:prod team:platform"}}, "id": "00000000-0000-0000-0000-000000000000", "type": "ticket_creation_rules"}} When the request is sent Then the response status is 404 Not Found @@ -3828,7 +3828,7 @@ Feature: Security Monitoring And there is a valid "valid_ticket_creation_rule" in the system And new "UpdateSecurityFindingsAutomationTicketCreationRule" request And request contains "rule_id" parameter from "valid_ticket_creation_rule.data.id" - And body with value {"data": {"attributes": {"action": {"max_tickets_per_day": 5, "project_id": "11111111-1111-1111-1111-111111111111", "target": "jira"}, "enabled": false, "name": "{{ unique }}", "rule": {"finding_types": ["misconfiguration"], "query": "env:staging"}}, "type": "ticket_creation_rules"}} + And body with value {"data": {"attributes": {"action": {"max_tickets_per_day": 5, "project_id": "11111111-1111-1111-1111-111111111111", "target": "jira"}, "enabled": false, "name": "{{ unique }}", "rule": {"finding_types": ["misconfiguration"], "query": "env:staging"}}, "id": "{{ valid_ticket_creation_rule.data.id }}", "type": "ticket_creation_rules"}} When the request is sent Then the response status is 200 Successfully updated the ticket creation rule And the response "data.id" is equal to "{{ valid_ticket_creation_rule.data.id }}" @@ -3839,7 +3839,7 @@ Feature: Security Monitoring Given operation "UpdateSecurityFindingsAutomationTicketCreationRule" enabled And new "UpdateSecurityFindingsAutomationTicketCreationRule" request And request contains "rule_id" parameter from "REPLACE.ME" - And body with value {"data": {"attributes": {"action": {"assignee_id": "22222222-2222-2222-2222-222222222222", "fields": {"labels": ["security"]}, "max_tickets_per_day": 100, "project_id": "11111111-1111-1111-1111-111111111111", "target": "jira"}, "enabled": true, "name": "Auto-create Jira tickets for critical findings", "rule": {"finding_types": ["misconfiguration"], "query": "env:prod team:platform"}}, "type": "ticket_creation_rules"}} + And body with value {"data": {"attributes": {"action": {"assignee_id": "22222222-2222-2222-2222-222222222222", "fields": {"labels": ["security"]}, "max_tickets_per_day": 100, "project_id": "11111111-1111-1111-1111-111111111111", "target": "jira"}, "enabled": true, "name": "Auto-create Jira tickets for critical findings", "rule": {"finding_types": ["misconfiguration"], "query": "env:prod team:platform"}}, "id": "00000000-0000-0000-0000-000000000000", "type": "ticket_creation_rules"}} When the request is sent Then the response status is 422 Unprocessable Entity @@ -3916,7 +3916,7 @@ Feature: Security Monitoring When the request is sent Then the response status is 404 Not Found - @skip @team:DataDog/k9-automation + @team:DataDog/k9-automation Scenario: Update an inbox rule returns "Successfully updated the inbox rule" response Given operation "UpdateSecurityFindingsAutomationInboxRule" enabled And there is a valid "valid_inbox_rule" in the system diff --git a/private/bdd_runner/src/support/scenarios_model_mapping.ts b/private/bdd_runner/src/support/scenarios_model_mapping.ts index cd1bd00a7393..1ef83e29bcf7 100644 --- a/private/bdd_runner/src/support/scenarios_model_mapping.ts +++ b/private/bdd_runner/src/support/scenarios_model_mapping.ts @@ -6042,7 +6042,7 @@ export const ScenariosModelMappings: { [key: string]: OperationMapping } = { type: "DueDateRuleReorderRequest", format: "", }, - operationResponseType: "DueDateRuleReorderRequest", + operationResponseType: "DueDateRuleReorderResponse", }, "SecurityMonitoringApi.V2.GetSecurityFindingsAutomationDueDateRule": { ruleId: { @@ -6142,7 +6142,7 @@ export const ScenariosModelMappings: { [key: string]: OperationMapping } = { type: "MuteRuleReorderRequest", format: "", }, - operationResponseType: "MuteRuleReorderRequest", + operationResponseType: "MuteRuleReorderResponse", }, "SecurityMonitoringApi.V2.GetSecurityFindingsAutomationMuteRule": { ruleId: { @@ -6251,7 +6251,7 @@ export const ScenariosModelMappings: { [key: string]: OperationMapping } = { type: "TicketCreationRuleReorderRequest", format: "", }, - operationResponseType: "TicketCreationRuleReorderRequest", + operationResponseType: "TicketCreationRuleReorderResponse", }, "SecurityMonitoringApi.V2.GetSecurityFindingsAutomationTicketCreationRule": { ruleId: { diff --git a/services/security_monitoring/src/v2/SecurityMonitoringApi.ts b/services/security_monitoring/src/v2/SecurityMonitoringApi.ts index ebb3901b229e..500b9ad0dd82 100644 --- a/services/security_monitoring/src/v2/SecurityMonitoringApi.ts +++ b/services/security_monitoring/src/v2/SecurityMonitoringApi.ts @@ -50,6 +50,7 @@ import { DeleteCustomFrameworkResponse } from "./models/DeleteCustomFrameworkRes import { DetachCaseRequest } from "./models/DetachCaseRequest"; import { DueDateRuleCreateRequest } from "./models/DueDateRuleCreateRequest"; import { DueDateRuleReorderRequest } from "./models/DueDateRuleReorderRequest"; +import { DueDateRuleReorderResponse } from "./models/DueDateRuleReorderResponse"; import { DueDateRuleResponse } from "./models/DueDateRuleResponse"; import { DueDateRulesResponse } from "./models/DueDateRulesResponse"; import { DueDateRuleUpdateRequest } from "./models/DueDateRuleUpdateRequest"; @@ -97,6 +98,7 @@ import { MuteFindingsRequest } from "./models/MuteFindingsRequest"; import { MuteFindingsResponse } from "./models/MuteFindingsResponse"; import { MuteRuleCreateRequest } from "./models/MuteRuleCreateRequest"; import { MuteRuleReorderRequest } from "./models/MuteRuleReorderRequest"; +import { MuteRuleReorderResponse } from "./models/MuteRuleReorderResponse"; import { MuteRuleResponse } from "./models/MuteRuleResponse"; import { MuteRulesResponse } from "./models/MuteRulesResponse"; import { MuteRuleUpdateRequest } from "./models/MuteRuleUpdateRequest"; @@ -201,6 +203,7 @@ import { SignalEntitiesResponse } from "./models/SignalEntitiesResponse"; import { SingleEntityContextResponse } from "./models/SingleEntityContextResponse"; import { TicketCreationRuleCreateRequest } from "./models/TicketCreationRuleCreateRequest"; import { TicketCreationRuleReorderRequest } from "./models/TicketCreationRuleReorderRequest"; +import { TicketCreationRuleReorderResponse } from "./models/TicketCreationRuleReorderResponse"; import { TicketCreationRuleResponse } from "./models/TicketCreationRuleResponse"; import { TicketCreationRulesResponse } from "./models/TicketCreationRulesResponse"; import { TicketCreationRuleUpdateRequest } from "./models/TicketCreationRuleUpdateRequest"; @@ -21463,14 +21466,14 @@ export class SecurityMonitoringApiResponseProcessor { */ public async reorderSecurityFindingsAutomationDueDateRules( response: ResponseContext, - ): Promise { + ): Promise { const contentType = normalizeMediaType(response.headers["content-type"]); if (response.httpStatusCode === 200) { - const body: DueDateRuleReorderRequest = deserialize( + const body: DueDateRuleReorderResponse = deserialize( parse(await response.body.text(), contentType), TypingInfo, - "DueDateRuleReorderRequest", - ) as DueDateRuleReorderRequest; + "DueDateRuleReorderResponse", + ) as DueDateRuleReorderResponse; return body; } if (response.httpStatusCode === 400 || response.httpStatusCode === 422) { @@ -21515,12 +21518,12 @@ export class SecurityMonitoringApiResponseProcessor { // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: DueDateRuleReorderRequest = deserialize( + const body: DueDateRuleReorderResponse = deserialize( parse(await response.body.text(), contentType), TypingInfo, - "DueDateRuleReorderRequest", + "DueDateRuleReorderResponse", "", - ) as DueDateRuleReorderRequest; + ) as DueDateRuleReorderResponse; return body; } @@ -21617,14 +21620,14 @@ export class SecurityMonitoringApiResponseProcessor { */ public async reorderSecurityFindingsAutomationMuteRules( response: ResponseContext, - ): Promise { + ): Promise { const contentType = normalizeMediaType(response.headers["content-type"]); if (response.httpStatusCode === 200) { - const body: MuteRuleReorderRequest = deserialize( + const body: MuteRuleReorderResponse = deserialize( parse(await response.body.text(), contentType), TypingInfo, - "MuteRuleReorderRequest", - ) as MuteRuleReorderRequest; + "MuteRuleReorderResponse", + ) as MuteRuleReorderResponse; return body; } if (response.httpStatusCode === 400 || response.httpStatusCode === 422) { @@ -21669,12 +21672,12 @@ export class SecurityMonitoringApiResponseProcessor { // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: MuteRuleReorderRequest = deserialize( + const body: MuteRuleReorderResponse = deserialize( parse(await response.body.text(), contentType), TypingInfo, - "MuteRuleReorderRequest", + "MuteRuleReorderResponse", "", - ) as MuteRuleReorderRequest; + ) as MuteRuleReorderResponse; return body; } @@ -21771,14 +21774,14 @@ export class SecurityMonitoringApiResponseProcessor { */ public async reorderSecurityFindingsAutomationTicketCreationRules( response: ResponseContext, - ): Promise { + ): Promise { const contentType = normalizeMediaType(response.headers["content-type"]); if (response.httpStatusCode === 200) { - const body: TicketCreationRuleReorderRequest = deserialize( + const body: TicketCreationRuleReorderResponse = deserialize( parse(await response.body.text(), contentType), TypingInfo, - "TicketCreationRuleReorderRequest", - ) as TicketCreationRuleReorderRequest; + "TicketCreationRuleReorderResponse", + ) as TicketCreationRuleReorderResponse; return body; } if (response.httpStatusCode === 400 || response.httpStatusCode === 422) { @@ -21823,12 +21826,12 @@ export class SecurityMonitoringApiResponseProcessor { // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: TicketCreationRuleReorderRequest = deserialize( + const body: TicketCreationRuleReorderResponse = deserialize( parse(await response.body.text(), contentType), TypingInfo, - "TicketCreationRuleReorderRequest", + "TicketCreationRuleReorderResponse", "", - ) as TicketCreationRuleReorderRequest; + ) as TicketCreationRuleReorderResponse; return body; } @@ -29740,7 +29743,7 @@ export class SecurityMonitoringApi { public reorderSecurityFindingsAutomationDueDateRules( param: SecurityMonitoringApiReorderSecurityFindingsAutomationDueDateRulesRequest, options?: Configuration, - ): Promise { + ): Promise { const requestContextPromise = this.requestFactory.reorderSecurityFindingsAutomationDueDateRules( param.body, @@ -29788,7 +29791,7 @@ export class SecurityMonitoringApi { public reorderSecurityFindingsAutomationMuteRules( param: SecurityMonitoringApiReorderSecurityFindingsAutomationMuteRulesRequest, options?: Configuration, - ): Promise { + ): Promise { const requestContextPromise = this.requestFactory.reorderSecurityFindingsAutomationMuteRules( param.body, @@ -29836,7 +29839,7 @@ export class SecurityMonitoringApi { public reorderSecurityFindingsAutomationTicketCreationRules( param: SecurityMonitoringApiReorderSecurityFindingsAutomationTicketCreationRulesRequest, options?: Configuration, - ): Promise { + ): Promise { const requestContextPromise = this.requestFactory.reorderSecurityFindingsAutomationTicketCreationRules( param.body, diff --git a/services/security_monitoring/src/v2/index.ts b/services/security_monitoring/src/v2/index.ts index f75802a9f77d..99a2ac83c9aa 100644 --- a/services/security_monitoring/src/v2/index.ts +++ b/services/security_monitoring/src/v2/index.ts @@ -313,8 +313,10 @@ export { DueDateRuleAttributesResponse } from "./models/DueDateRuleAttributesRes export { DueDateRuleCreateRequest } from "./models/DueDateRuleCreateRequest"; export { DueDateRuleDataCreate } from "./models/DueDateRuleDataCreate"; export { DueDateRuleDataResponse } from "./models/DueDateRuleDataResponse"; +export { DueDateRuleDataUpdate } from "./models/DueDateRuleDataUpdate"; export { DueDateRuleReorderItem } from "./models/DueDateRuleReorderItem"; export { DueDateRuleReorderRequest } from "./models/DueDateRuleReorderRequest"; +export { DueDateRuleReorderResponse } from "./models/DueDateRuleReorderResponse"; export { DueDateRuleResponse } from "./models/DueDateRuleResponse"; export { DueDateRulesResponse } from "./models/DueDateRulesResponse"; export { DueDateRuleType } from "./models/DueDateRuleType"; @@ -470,8 +472,10 @@ export { MuteRuleAttributesResponse } from "./models/MuteRuleAttributesResponse" export { MuteRuleCreateRequest } from "./models/MuteRuleCreateRequest"; export { MuteRuleDataCreate } from "./models/MuteRuleDataCreate"; export { MuteRuleDataResponse } from "./models/MuteRuleDataResponse"; +export { MuteRuleDataUpdate } from "./models/MuteRuleDataUpdate"; export { MuteRuleReorderItem } from "./models/MuteRuleReorderItem"; export { MuteRuleReorderRequest } from "./models/MuteRuleReorderRequest"; +export { MuteRuleReorderResponse } from "./models/MuteRuleReorderResponse"; export { MuteRuleResponse } from "./models/MuteRuleResponse"; export { MuteRulesResponse } from "./models/MuteRulesResponse"; export { MuteRuleType } from "./models/MuteRuleType"; @@ -877,6 +881,7 @@ export { SeverityModifierRuleAttributesResponse } from "./models/SeverityModifie export { SeverityModifierRuleCreateRequest } from "./models/SeverityModifierRuleCreateRequest"; export { SeverityModifierRuleDataCreate } from "./models/SeverityModifierRuleDataCreate"; export { SeverityModifierRuleDataResponse } from "./models/SeverityModifierRuleDataResponse"; +export { SeverityModifierRuleDataUpdate } from "./models/SeverityModifierRuleDataUpdate"; export { SeverityModifierRuleReorderItem } from "./models/SeverityModifierRuleReorderItem"; export { SeverityModifierRuleReorderRequest } from "./models/SeverityModifierRuleReorderRequest"; export { SeverityModifierRuleReorderResponse } from "./models/SeverityModifierRuleReorderResponse"; @@ -905,8 +910,10 @@ export { TicketCreationRuleAttributesResponse } from "./models/TicketCreationRul export { TicketCreationRuleCreateRequest } from "./models/TicketCreationRuleCreateRequest"; export { TicketCreationRuleDataCreate } from "./models/TicketCreationRuleDataCreate"; export { TicketCreationRuleDataResponse } from "./models/TicketCreationRuleDataResponse"; +export { TicketCreationRuleDataUpdate } from "./models/TicketCreationRuleDataUpdate"; export { TicketCreationRuleReorderItem } from "./models/TicketCreationRuleReorderItem"; export { TicketCreationRuleReorderRequest } from "./models/TicketCreationRuleReorderRequest"; +export { TicketCreationRuleReorderResponse } from "./models/TicketCreationRuleReorderResponse"; export { TicketCreationRuleResponse } from "./models/TicketCreationRuleResponse"; export { TicketCreationRulesResponse } from "./models/TicketCreationRulesResponse"; export { TicketCreationRuleType } from "./models/TicketCreationRuleType"; diff --git a/services/security_monitoring/src/v2/models/DueDateRuleCreateRequest.ts b/services/security_monitoring/src/v2/models/DueDateRuleCreateRequest.ts index a25020557cc5..46ef35328bb1 100644 --- a/services/security_monitoring/src/v2/models/DueDateRuleCreateRequest.ts +++ b/services/security_monitoring/src/v2/models/DueDateRuleCreateRequest.ts @@ -7,7 +7,7 @@ import { DueDateRuleDataCreate } from "./DueDateRuleDataCreate"; */ export class DueDateRuleCreateRequest { /** - * The data object for a due date rule create or update request. + * The data object for a due date rule create request. */ "data": DueDateRuleDataCreate; /** diff --git a/services/security_monitoring/src/v2/models/DueDateRuleDataCreate.ts b/services/security_monitoring/src/v2/models/DueDateRuleDataCreate.ts index d99727e2b6f8..fe60a7d840be 100644 --- a/services/security_monitoring/src/v2/models/DueDateRuleDataCreate.ts +++ b/services/security_monitoring/src/v2/models/DueDateRuleDataCreate.ts @@ -4,7 +4,7 @@ import { DueDateRuleAttributesCreate } from "./DueDateRuleAttributesCreate"; import { DueDateRuleType } from "./DueDateRuleType"; /** - * The data object for a due date rule create or update request. + * The data object for a due date rule create request. */ export class DueDateRuleDataCreate { /** diff --git a/services/security_monitoring/src/v2/models/DueDateRuleDataUpdate.ts b/services/security_monitoring/src/v2/models/DueDateRuleDataUpdate.ts new file mode 100644 index 000000000000..8c202f2b7c7b --- /dev/null +++ b/services/security_monitoring/src/v2/models/DueDateRuleDataUpdate.ts @@ -0,0 +1,67 @@ +import { AttributeTypeMap } from "@datadog/datadog-api-client"; + +import { DueDateRuleAttributesCreate } from "./DueDateRuleAttributesCreate"; +import { DueDateRuleType } from "./DueDateRuleType"; + +/** + * The data object for a due date rule update request. The `id` must match the `rule_id` path parameter. + */ +export class DueDateRuleDataUpdate { + /** + * Attributes for creating or updating a due date rule. + */ + "attributes": DueDateRuleAttributesCreate; + /** + * The ID of the due date rule to update. + */ + "id": string; + /** + * The JSON:API type for due date rules. + */ + "type": DueDateRuleType; + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + attributes: { + baseName: "attributes", + type: "DueDateRuleAttributesCreate", + required: true, + }, + id: { + baseName: "id", + type: "string", + required: true, + format: "uuid", + }, + type: { + baseName: "type", + type: "DueDateRuleType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DueDateRuleDataUpdate.attributeTypeMap; + } + + public constructor() {} +} diff --git a/services/security_monitoring/src/v2/models/DueDateRuleReorderRequest.ts b/services/security_monitoring/src/v2/models/DueDateRuleReorderRequest.ts index 6d6fab1126a1..0d0f71bdb42f 100644 --- a/services/security_monitoring/src/v2/models/DueDateRuleReorderRequest.ts +++ b/services/security_monitoring/src/v2/models/DueDateRuleReorderRequest.ts @@ -3,7 +3,7 @@ import { AttributeTypeMap } from "@datadog/datadog-api-client"; import { DueDateRuleReorderItem } from "./DueDateRuleReorderItem"; /** - * The body of the due date rule reorder request. + * The body of a due date rule reorder request. */ export class DueDateRuleReorderRequest { /** diff --git a/services/security_monitoring/src/v2/models/DueDateRuleReorderResponse.ts b/services/security_monitoring/src/v2/models/DueDateRuleReorderResponse.ts new file mode 100644 index 000000000000..b368a73e7293 --- /dev/null +++ b/services/security_monitoring/src/v2/models/DueDateRuleReorderResponse.ts @@ -0,0 +1,47 @@ +import { AttributeTypeMap } from "@datadog/datadog-api-client"; + +import { DueDateRuleReorderItem } from "./DueDateRuleReorderItem"; + +/** + * The response of a due date rule reorder request. + */ +export class DueDateRuleReorderResponse { + /** + * The ordered list of all due date rules. Every rule must be included. + */ + "data": Array; + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "Array", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DueDateRuleReorderResponse.attributeTypeMap; + } + + public constructor() {} +} diff --git a/services/security_monitoring/src/v2/models/DueDateRuleUpdateRequest.ts b/services/security_monitoring/src/v2/models/DueDateRuleUpdateRequest.ts index 645f14c061a6..11e42410045d 100644 --- a/services/security_monitoring/src/v2/models/DueDateRuleUpdateRequest.ts +++ b/services/security_monitoring/src/v2/models/DueDateRuleUpdateRequest.ts @@ -1,15 +1,15 @@ import { AttributeTypeMap } from "@datadog/datadog-api-client"; -import { DueDateRuleDataCreate } from "./DueDateRuleDataCreate"; +import { DueDateRuleDataUpdate } from "./DueDateRuleDataUpdate"; /** * The body of a due date rule update request. */ export class DueDateRuleUpdateRequest { /** - * The data object for a due date rule create or update request. + * The data object for a due date rule update request. The `id` must match the `rule_id` path parameter. */ - "data": DueDateRuleDataCreate; + "data": DueDateRuleDataUpdate; /** * A container for additional, undeclared properties. * This is a holder for any undeclared properties as specified with @@ -27,7 +27,7 @@ export class DueDateRuleUpdateRequest { static readonly attributeTypeMap: AttributeTypeMap = { data: { baseName: "data", - type: "DueDateRuleDataCreate", + type: "DueDateRuleDataUpdate", required: true, }, additionalProperties: { diff --git a/services/security_monitoring/src/v2/models/MuteRuleCreateRequest.ts b/services/security_monitoring/src/v2/models/MuteRuleCreateRequest.ts index b798b3600e1b..fce1d4ca1543 100644 --- a/services/security_monitoring/src/v2/models/MuteRuleCreateRequest.ts +++ b/services/security_monitoring/src/v2/models/MuteRuleCreateRequest.ts @@ -7,7 +7,7 @@ import { MuteRuleDataCreate } from "./MuteRuleDataCreate"; */ export class MuteRuleCreateRequest { /** - * The data object for a mute rule create or update request. + * The data object for a mute rule create request. */ "data": MuteRuleDataCreate; /** diff --git a/services/security_monitoring/src/v2/models/MuteRuleDataCreate.ts b/services/security_monitoring/src/v2/models/MuteRuleDataCreate.ts index e871eb062711..8f7b0635f560 100644 --- a/services/security_monitoring/src/v2/models/MuteRuleDataCreate.ts +++ b/services/security_monitoring/src/v2/models/MuteRuleDataCreate.ts @@ -4,7 +4,7 @@ import { MuteRuleAttributesCreate } from "./MuteRuleAttributesCreate"; import { MuteRuleType } from "./MuteRuleType"; /** - * The data object for a mute rule create or update request. + * The data object for a mute rule create request. */ export class MuteRuleDataCreate { /** diff --git a/services/security_monitoring/src/v2/models/MuteRuleDataUpdate.ts b/services/security_monitoring/src/v2/models/MuteRuleDataUpdate.ts new file mode 100644 index 000000000000..2528c675f7cc --- /dev/null +++ b/services/security_monitoring/src/v2/models/MuteRuleDataUpdate.ts @@ -0,0 +1,67 @@ +import { AttributeTypeMap } from "@datadog/datadog-api-client"; + +import { MuteRuleAttributesCreate } from "./MuteRuleAttributesCreate"; +import { MuteRuleType } from "./MuteRuleType"; + +/** + * The data object for a mute rule update request. The `id` must match the `rule_id` path parameter. + */ +export class MuteRuleDataUpdate { + /** + * Attributes for creating or updating a mute rule. + */ + "attributes": MuteRuleAttributesCreate; + /** + * The ID of the mute rule to update. + */ + "id": string; + /** + * The JSON:API type for mute rules. + */ + "type": MuteRuleType; + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + attributes: { + baseName: "attributes", + type: "MuteRuleAttributesCreate", + required: true, + }, + id: { + baseName: "id", + type: "string", + required: true, + format: "uuid", + }, + type: { + baseName: "type", + type: "MuteRuleType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return MuteRuleDataUpdate.attributeTypeMap; + } + + public constructor() {} +} diff --git a/services/security_monitoring/src/v2/models/MuteRuleReorderRequest.ts b/services/security_monitoring/src/v2/models/MuteRuleReorderRequest.ts index 273f83d23d71..c567322f232b 100644 --- a/services/security_monitoring/src/v2/models/MuteRuleReorderRequest.ts +++ b/services/security_monitoring/src/v2/models/MuteRuleReorderRequest.ts @@ -3,7 +3,7 @@ import { AttributeTypeMap } from "@datadog/datadog-api-client"; import { MuteRuleReorderItem } from "./MuteRuleReorderItem"; /** - * The body of the mute rule reorder request. + * The body of a mute rule reorder request. */ export class MuteRuleReorderRequest { /** diff --git a/services/security_monitoring/src/v2/models/MuteRuleReorderResponse.ts b/services/security_monitoring/src/v2/models/MuteRuleReorderResponse.ts new file mode 100644 index 000000000000..565cdb538626 --- /dev/null +++ b/services/security_monitoring/src/v2/models/MuteRuleReorderResponse.ts @@ -0,0 +1,47 @@ +import { AttributeTypeMap } from "@datadog/datadog-api-client"; + +import { MuteRuleReorderItem } from "./MuteRuleReorderItem"; + +/** + * The response of a mute rule reorder request. + */ +export class MuteRuleReorderResponse { + /** + * The ordered list of all mute rules. Every rule must be included. + */ + "data": Array; + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "Array", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return MuteRuleReorderResponse.attributeTypeMap; + } + + public constructor() {} +} diff --git a/services/security_monitoring/src/v2/models/MuteRuleUpdateRequest.ts b/services/security_monitoring/src/v2/models/MuteRuleUpdateRequest.ts index 1e6ed44c8fea..b588294eb2c8 100644 --- a/services/security_monitoring/src/v2/models/MuteRuleUpdateRequest.ts +++ b/services/security_monitoring/src/v2/models/MuteRuleUpdateRequest.ts @@ -1,15 +1,15 @@ import { AttributeTypeMap } from "@datadog/datadog-api-client"; -import { MuteRuleDataCreate } from "./MuteRuleDataCreate"; +import { MuteRuleDataUpdate } from "./MuteRuleDataUpdate"; /** * The body of a mute rule update request. */ export class MuteRuleUpdateRequest { /** - * The data object for a mute rule create or update request. + * The data object for a mute rule update request. The `id` must match the `rule_id` path parameter. */ - "data": MuteRuleDataCreate; + "data": MuteRuleDataUpdate; /** * A container for additional, undeclared properties. * This is a holder for any undeclared properties as specified with @@ -27,7 +27,7 @@ export class MuteRuleUpdateRequest { static readonly attributeTypeMap: AttributeTypeMap = { data: { baseName: "data", - type: "MuteRuleDataCreate", + type: "MuteRuleDataUpdate", required: true, }, additionalProperties: { diff --git a/services/security_monitoring/src/v2/models/SeverityModifierRuleCreateRequest.ts b/services/security_monitoring/src/v2/models/SeverityModifierRuleCreateRequest.ts index 233403d5b0ed..b115eec9f519 100644 --- a/services/security_monitoring/src/v2/models/SeverityModifierRuleCreateRequest.ts +++ b/services/security_monitoring/src/v2/models/SeverityModifierRuleCreateRequest.ts @@ -7,7 +7,7 @@ import { SeverityModifierRuleDataCreate } from "./SeverityModifierRuleDataCreate */ export class SeverityModifierRuleCreateRequest { /** - * The data object for a severity modifier rule create or update request. + * The data object for a severity modifier rule create request. */ "data": SeverityModifierRuleDataCreate; /** diff --git a/services/security_monitoring/src/v2/models/SeverityModifierRuleDataCreate.ts b/services/security_monitoring/src/v2/models/SeverityModifierRuleDataCreate.ts index 355a4216c864..76b265f83bbd 100644 --- a/services/security_monitoring/src/v2/models/SeverityModifierRuleDataCreate.ts +++ b/services/security_monitoring/src/v2/models/SeverityModifierRuleDataCreate.ts @@ -4,7 +4,7 @@ import { SeverityModifierRuleAttributesCreate } from "./SeverityModifierRuleAttr import { SeverityModifierRuleType } from "./SeverityModifierRuleType"; /** - * The data object for a severity modifier rule create or update request. + * The data object for a severity modifier rule create request. */ export class SeverityModifierRuleDataCreate { /** diff --git a/services/security_monitoring/src/v2/models/SeverityModifierRuleDataUpdate.ts b/services/security_monitoring/src/v2/models/SeverityModifierRuleDataUpdate.ts new file mode 100644 index 000000000000..1e7373a9b10f --- /dev/null +++ b/services/security_monitoring/src/v2/models/SeverityModifierRuleDataUpdate.ts @@ -0,0 +1,67 @@ +import { AttributeTypeMap } from "@datadog/datadog-api-client"; + +import { SeverityModifierRuleAttributesCreate } from "./SeverityModifierRuleAttributesCreate"; +import { SeverityModifierRuleType } from "./SeverityModifierRuleType"; + +/** + * The data object for a severity modifier rule update request. The `id` must match the `rule_id` path parameter. + */ +export class SeverityModifierRuleDataUpdate { + /** + * Attributes for creating or updating a severity modifier rule. + */ + "attributes": SeverityModifierRuleAttributesCreate; + /** + * The ID of the severity modifier rule to update. + */ + "id": string; + /** + * The JSON:API type for severity modifier rules. + */ + "type": SeverityModifierRuleType; + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + attributes: { + baseName: "attributes", + type: "SeverityModifierRuleAttributesCreate", + required: true, + }, + id: { + baseName: "id", + type: "string", + required: true, + format: "uuid", + }, + type: { + baseName: "type", + type: "SeverityModifierRuleType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return SeverityModifierRuleDataUpdate.attributeTypeMap; + } + + public constructor() {} +} diff --git a/services/security_monitoring/src/v2/models/SeverityModifierRuleUpdateRequest.ts b/services/security_monitoring/src/v2/models/SeverityModifierRuleUpdateRequest.ts index 7ba22516c177..ad1e0d6644e9 100644 --- a/services/security_monitoring/src/v2/models/SeverityModifierRuleUpdateRequest.ts +++ b/services/security_monitoring/src/v2/models/SeverityModifierRuleUpdateRequest.ts @@ -1,15 +1,15 @@ import { AttributeTypeMap } from "@datadog/datadog-api-client"; -import { SeverityModifierRuleDataCreate } from "./SeverityModifierRuleDataCreate"; +import { SeverityModifierRuleDataUpdate } from "./SeverityModifierRuleDataUpdate"; /** * The body of a severity modifier rule update request. */ export class SeverityModifierRuleUpdateRequest { /** - * The data object for a severity modifier rule create or update request. + * The data object for a severity modifier rule update request. The `id` must match the `rule_id` path parameter. */ - "data": SeverityModifierRuleDataCreate; + "data": SeverityModifierRuleDataUpdate; /** * A container for additional, undeclared properties. * This is a holder for any undeclared properties as specified with @@ -27,7 +27,7 @@ export class SeverityModifierRuleUpdateRequest { static readonly attributeTypeMap: AttributeTypeMap = { data: { baseName: "data", - type: "SeverityModifierRuleDataCreate", + type: "SeverityModifierRuleDataUpdate", required: true, }, additionalProperties: { diff --git a/services/security_monitoring/src/v2/models/TicketCreationRuleCreateRequest.ts b/services/security_monitoring/src/v2/models/TicketCreationRuleCreateRequest.ts index a09cc10a76a0..b6b4b8096c30 100644 --- a/services/security_monitoring/src/v2/models/TicketCreationRuleCreateRequest.ts +++ b/services/security_monitoring/src/v2/models/TicketCreationRuleCreateRequest.ts @@ -7,7 +7,7 @@ import { TicketCreationRuleDataCreate } from "./TicketCreationRuleDataCreate"; */ export class TicketCreationRuleCreateRequest { /** - * The data object for a ticket creation rule create or update request. + * The data object for a ticket creation rule create request. */ "data": TicketCreationRuleDataCreate; /** diff --git a/services/security_monitoring/src/v2/models/TicketCreationRuleDataCreate.ts b/services/security_monitoring/src/v2/models/TicketCreationRuleDataCreate.ts index 1fce252f7408..71315d1b8210 100644 --- a/services/security_monitoring/src/v2/models/TicketCreationRuleDataCreate.ts +++ b/services/security_monitoring/src/v2/models/TicketCreationRuleDataCreate.ts @@ -4,7 +4,7 @@ import { TicketCreationRuleAttributesCreate } from "./TicketCreationRuleAttribut import { TicketCreationRuleType } from "./TicketCreationRuleType"; /** - * The data object for a ticket creation rule create or update request. + * The data object for a ticket creation rule create request. */ export class TicketCreationRuleDataCreate { /** diff --git a/services/security_monitoring/src/v2/models/TicketCreationRuleDataUpdate.ts b/services/security_monitoring/src/v2/models/TicketCreationRuleDataUpdate.ts new file mode 100644 index 000000000000..ad5403786660 --- /dev/null +++ b/services/security_monitoring/src/v2/models/TicketCreationRuleDataUpdate.ts @@ -0,0 +1,67 @@ +import { AttributeTypeMap } from "@datadog/datadog-api-client"; + +import { TicketCreationRuleAttributesCreate } from "./TicketCreationRuleAttributesCreate"; +import { TicketCreationRuleType } from "./TicketCreationRuleType"; + +/** + * The data object for a ticket creation rule update request. The `id` must match the `rule_id` path parameter. + */ +export class TicketCreationRuleDataUpdate { + /** + * Attributes for creating or updating a ticket creation rule. + */ + "attributes": TicketCreationRuleAttributesCreate; + /** + * The ID of the ticket creation rule to update. + */ + "id": string; + /** + * The JSON:API type for ticket creation rules. + */ + "type": TicketCreationRuleType; + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + attributes: { + baseName: "attributes", + type: "TicketCreationRuleAttributesCreate", + required: true, + }, + id: { + baseName: "id", + type: "string", + required: true, + format: "uuid", + }, + type: { + baseName: "type", + type: "TicketCreationRuleType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return TicketCreationRuleDataUpdate.attributeTypeMap; + } + + public constructor() {} +} diff --git a/services/security_monitoring/src/v2/models/TicketCreationRuleReorderRequest.ts b/services/security_monitoring/src/v2/models/TicketCreationRuleReorderRequest.ts index 0798659869a3..b65c9f5d1816 100644 --- a/services/security_monitoring/src/v2/models/TicketCreationRuleReorderRequest.ts +++ b/services/security_monitoring/src/v2/models/TicketCreationRuleReorderRequest.ts @@ -3,7 +3,7 @@ import { AttributeTypeMap } from "@datadog/datadog-api-client"; import { TicketCreationRuleReorderItem } from "./TicketCreationRuleReorderItem"; /** - * The body of the ticket creation rule reorder request. + * The body of a ticket creation rule reorder request. */ export class TicketCreationRuleReorderRequest { /** diff --git a/services/security_monitoring/src/v2/models/TicketCreationRuleReorderResponse.ts b/services/security_monitoring/src/v2/models/TicketCreationRuleReorderResponse.ts new file mode 100644 index 000000000000..08c2ede54226 --- /dev/null +++ b/services/security_monitoring/src/v2/models/TicketCreationRuleReorderResponse.ts @@ -0,0 +1,47 @@ +import { AttributeTypeMap } from "@datadog/datadog-api-client"; + +import { TicketCreationRuleReorderItem } from "./TicketCreationRuleReorderItem"; + +/** + * The response of a ticket creation rule reorder request. + */ +export class TicketCreationRuleReorderResponse { + /** + * The ordered list of all ticket creation rules. Every rule must be included. + */ + "data": Array; + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "Array", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return TicketCreationRuleReorderResponse.attributeTypeMap; + } + + public constructor() {} +} diff --git a/services/security_monitoring/src/v2/models/TicketCreationRuleUpdateRequest.ts b/services/security_monitoring/src/v2/models/TicketCreationRuleUpdateRequest.ts index 2ce48d89ebca..17de310c37a6 100644 --- a/services/security_monitoring/src/v2/models/TicketCreationRuleUpdateRequest.ts +++ b/services/security_monitoring/src/v2/models/TicketCreationRuleUpdateRequest.ts @@ -1,15 +1,15 @@ import { AttributeTypeMap } from "@datadog/datadog-api-client"; -import { TicketCreationRuleDataCreate } from "./TicketCreationRuleDataCreate"; +import { TicketCreationRuleDataUpdate } from "./TicketCreationRuleDataUpdate"; /** * The body of a ticket creation rule update request. */ export class TicketCreationRuleUpdateRequest { /** - * The data object for a ticket creation rule create or update request. + * The data object for a ticket creation rule update request. The `id` must match the `rule_id` path parameter. */ - "data": TicketCreationRuleDataCreate; + "data": TicketCreationRuleDataUpdate; /** * A container for additional, undeclared properties. * This is a holder for any undeclared properties as specified with @@ -27,7 +27,7 @@ export class TicketCreationRuleUpdateRequest { static readonly attributeTypeMap: AttributeTypeMap = { data: { baseName: "data", - type: "TicketCreationRuleDataCreate", + type: "TicketCreationRuleDataUpdate", required: true, }, additionalProperties: { diff --git a/services/security_monitoring/src/v2/models/TypingInfo.ts b/services/security_monitoring/src/v2/models/TypingInfo.ts index 2977009f894c..f2dae1a0ad0e 100644 --- a/services/security_monitoring/src/v2/models/TypingInfo.ts +++ b/services/security_monitoring/src/v2/models/TypingInfo.ts @@ -127,8 +127,10 @@ import { DueDateRuleAttributesResponse } from "./DueDateRuleAttributesResponse"; import { DueDateRuleCreateRequest } from "./DueDateRuleCreateRequest"; import { DueDateRuleDataCreate } from "./DueDateRuleDataCreate"; import { DueDateRuleDataResponse } from "./DueDateRuleDataResponse"; +import { DueDateRuleDataUpdate } from "./DueDateRuleDataUpdate"; import { DueDateRuleReorderItem } from "./DueDateRuleReorderItem"; import { DueDateRuleReorderRequest } from "./DueDateRuleReorderRequest"; +import { DueDateRuleReorderResponse } from "./DueDateRuleReorderResponse"; import { DueDateRuleResponse } from "./DueDateRuleResponse"; import { DueDateRuleUpdateRequest } from "./DueDateRuleUpdateRequest"; import { DueDateRulesResponse } from "./DueDateRulesResponse"; @@ -257,8 +259,10 @@ import { MuteRuleAttributesResponse } from "./MuteRuleAttributesResponse"; import { MuteRuleCreateRequest } from "./MuteRuleCreateRequest"; import { MuteRuleDataCreate } from "./MuteRuleDataCreate"; import { MuteRuleDataResponse } from "./MuteRuleDataResponse"; +import { MuteRuleDataUpdate } from "./MuteRuleDataUpdate"; import { MuteRuleReorderItem } from "./MuteRuleReorderItem"; import { MuteRuleReorderRequest } from "./MuteRuleReorderRequest"; +import { MuteRuleReorderResponse } from "./MuteRuleReorderResponse"; import { MuteRuleResponse } from "./MuteRuleResponse"; import { MuteRuleUpdateRequest } from "./MuteRuleUpdateRequest"; import { MuteRulesResponse } from "./MuteRulesResponse"; @@ -560,6 +564,7 @@ import { SeverityModifierRuleAttributesResponse } from "./SeverityModifierRuleAt import { SeverityModifierRuleCreateRequest } from "./SeverityModifierRuleCreateRequest"; import { SeverityModifierRuleDataCreate } from "./SeverityModifierRuleDataCreate"; import { SeverityModifierRuleDataResponse } from "./SeverityModifierRuleDataResponse"; +import { SeverityModifierRuleDataUpdate } from "./SeverityModifierRuleDataUpdate"; import { SeverityModifierRuleReorderItem } from "./SeverityModifierRuleReorderItem"; import { SeverityModifierRuleReorderRequest } from "./SeverityModifierRuleReorderRequest"; import { SeverityModifierRuleReorderResponse } from "./SeverityModifierRuleReorderResponse"; @@ -581,8 +586,10 @@ import { TicketCreationRuleAttributesResponse } from "./TicketCreationRuleAttrib import { TicketCreationRuleCreateRequest } from "./TicketCreationRuleCreateRequest"; import { TicketCreationRuleDataCreate } from "./TicketCreationRuleDataCreate"; import { TicketCreationRuleDataResponse } from "./TicketCreationRuleDataResponse"; +import { TicketCreationRuleDataUpdate } from "./TicketCreationRuleDataUpdate"; import { TicketCreationRuleReorderItem } from "./TicketCreationRuleReorderItem"; import { TicketCreationRuleReorderRequest } from "./TicketCreationRuleReorderRequest"; +import { TicketCreationRuleReorderResponse } from "./TicketCreationRuleReorderResponse"; import { TicketCreationRuleResponse } from "./TicketCreationRuleResponse"; import { TicketCreationRuleUpdateRequest } from "./TicketCreationRuleUpdateRequest"; import { TicketCreationRulesResponse } from "./TicketCreationRulesResponse"; @@ -1333,8 +1340,10 @@ export const TypingInfo: ModelTypingInfo = { DueDateRuleCreateRequest: DueDateRuleCreateRequest, DueDateRuleDataCreate: DueDateRuleDataCreate, DueDateRuleDataResponse: DueDateRuleDataResponse, + DueDateRuleDataUpdate: DueDateRuleDataUpdate, DueDateRuleReorderItem: DueDateRuleReorderItem, DueDateRuleReorderRequest: DueDateRuleReorderRequest, + DueDateRuleReorderResponse: DueDateRuleReorderResponse, DueDateRuleResponse: DueDateRuleResponse, DueDateRuleUpdateRequest: DueDateRuleUpdateRequest, DueDateRulesResponse: DueDateRulesResponse, @@ -1471,8 +1480,10 @@ export const TypingInfo: ModelTypingInfo = { MuteRuleCreateRequest: MuteRuleCreateRequest, MuteRuleDataCreate: MuteRuleDataCreate, MuteRuleDataResponse: MuteRuleDataResponse, + MuteRuleDataUpdate: MuteRuleDataUpdate, MuteRuleReorderItem: MuteRuleReorderItem, MuteRuleReorderRequest: MuteRuleReorderRequest, + MuteRuleReorderResponse: MuteRuleReorderResponse, MuteRuleResponse: MuteRuleResponse, MuteRuleUpdateRequest: MuteRuleUpdateRequest, MuteRulesResponse: MuteRulesResponse, @@ -1952,6 +1963,7 @@ export const TypingInfo: ModelTypingInfo = { SeverityModifierRuleCreateRequest: SeverityModifierRuleCreateRequest, SeverityModifierRuleDataCreate: SeverityModifierRuleDataCreate, SeverityModifierRuleDataResponse: SeverityModifierRuleDataResponse, + SeverityModifierRuleDataUpdate: SeverityModifierRuleDataUpdate, SeverityModifierRuleReorderItem: SeverityModifierRuleReorderItem, SeverityModifierRuleReorderRequest: SeverityModifierRuleReorderRequest, SeverityModifierRuleReorderResponse: SeverityModifierRuleReorderResponse, @@ -1973,8 +1985,10 @@ export const TypingInfo: ModelTypingInfo = { TicketCreationRuleCreateRequest: TicketCreationRuleCreateRequest, TicketCreationRuleDataCreate: TicketCreationRuleDataCreate, TicketCreationRuleDataResponse: TicketCreationRuleDataResponse, + TicketCreationRuleDataUpdate: TicketCreationRuleDataUpdate, TicketCreationRuleReorderItem: TicketCreationRuleReorderItem, TicketCreationRuleReorderRequest: TicketCreationRuleReorderRequest, + TicketCreationRuleReorderResponse: TicketCreationRuleReorderResponse, TicketCreationRuleResponse: TicketCreationRuleResponse, TicketCreationRuleUpdateRequest: TicketCreationRuleUpdateRequest, TicketCreationRulesResponse: TicketCreationRulesResponse,