Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
187 changes: 187 additions & 0 deletions .generator/schemas/v2/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -45082,6 +45082,125 @@ components:
meta:
$ref: "#/components/schemas/MonthlyCostAttributionMeta"
type: object
MuteDataType:
default: mute
description: Mute resource type.
enum:
- mute
example: mute
type: string
x-enum-varnames:
- MUTE
MuteFindingsMuteAttributes:
description: Mute properties to apply to the findings.
properties:
description:
description: Additional information about the reason why the findings are muted or unmuted. This field has a limit of 280 characters.
example: "To be resolved later."
type: string
expire_at:
description: >-
The expiration date of the mute action (Unix ms). It must be set to a value greater than the current timestamp. If this field is not provided, the findings remain muted indefinitely.
example: 1778721573794
format: int64
type: integer
is_muted:
description: Whether the findings should be muted or unmuted.
example: true
type: boolean
reason:
$ref: "#/components/schemas/MuteFindingsReason"
description: The reason why the findings are muted or unmuted.
required:
- is_muted
- reason
type: object
MuteFindingsReason:
description: The reason why the findings are muted or unmuted.
enum:
- PENDING_FIX
- FALSE_POSITIVE
- OTHER
- NO_FIX
- DUPLICATE
- RISK_ACCEPTED
- NO_PENDING_FIX
- HUMAN_ERROR
- NO_LONGER_ACCEPTED_RISK
example: PENDING_FIX
type: string
x-enum-varnames:
- PENDING_FIX
- FALSE_POSITIVE
- OTHER
- NO_FIX
- DUPLICATE
- RISK_ACCEPTED
- NO_PENDING_FIX
- HUMAN_ERROR
- NO_LONGER_ACCEPTED_RISK
MuteFindingsRequest:
description: Request to mute or unmute security findings.
properties:
data:
$ref: "#/components/schemas/MuteFindingsRequestData"
required:
- data
type: object
MuteFindingsRequestData:
description: Data of the mute request.
properties:
attributes:
$ref: "#/components/schemas/MuteFindingsRequestDataAttributes"
id:
description: Unique identifier of the mute request.
example: "93bfeb70-af47-424d-908a-948d3f08e37f"
type: string
relationships:
$ref: "#/components/schemas/MuteFindingsRequestDataRelationships"
type:
$ref: "#/components/schemas/MuteDataType"
required:
- attributes
- relationships
- type
type: object
MuteFindingsRequestDataAttributes:
description: Attributes of the mute request.
properties:
mute:
$ref: "#/components/schemas/MuteFindingsMuteAttributes"
required:
- mute
type: object
MuteFindingsRequestDataRelationships:
description: Relationships of the mute request.
properties:
findings:
$ref: "#/components/schemas/Findings"
description: Security findings to mute or unmute.
required:
- findings
type: object
MuteFindingsResponse:
description: Response for the mute or unmute request.
properties:
data:
$ref: "#/components/schemas/MuteFindingsResponseData"
type: object
MuteFindingsResponseData:
description: Data of the mute response.
properties:
id:
description: Unique identifier of the mute request.
example: "93bfeb70-af47-424d-908a-948d3f08e37f"
type: string
type:
$ref: "#/components/schemas/MuteDataType"
required:
- type
- id
type: object
NotebookCreateData:
description: Notebook creation data
properties:
Expand Down Expand Up @@ -118827,6 +118946,74 @@ paths:
permissions:
- security_monitoring_findings_write
- appsec_vm_write
/api/v2/security/findings/mute:
patch:
description: >-
Mute or unmute security findings.

You can mute or unmute up to 100 security findings per request. The request body must include `is_muted` and `reason` attributes. The allowed reasons depend on whether the finding is being muted or unmuted:
- To mute a finding: `PENDING_FIX`, `FALSE_POSITIVE`, `OTHER`, `NO_FIX`, `DUPLICATE`, `RISK_ACCEPTED`.
- To unmute a finding: `NO_PENDING_FIX`, `HUMAN_ERROR`, `NO_LONGER_ACCEPTED_RISK`, `OTHER`.
operationId: MuteSecurityFindings
requestBody:
content:
application/json:
examples:
default:
value:
data:
attributes:
mute:
description: "To be resolved later."
expire_at: 1778721573794
is_muted: true
reason: "RISK_ACCEPTED"
relationships:
findings:
data:
- id: "ZGVmLTAwcC1pZXJ-aS0wZjhjNjMyZDNmMzRlZTgzNw=="
type: "findings"
type: "mute"
schema:
$ref: "#/components/schemas/MuteFindingsRequest"
required: true
responses:
"202":
content:
application/json:
schema:
$ref: "#/components/schemas/MuteFindingsResponse"
description: Accepted
"400":
$ref: "#/components/responses/BadRequestResponse"
"401":
$ref: "#/components/responses/UnauthorizedResponse"
"404":
$ref: "#/components/responses/NotFoundResponse"
"422":
content:
application/json:
schema:
$ref: "#/components/schemas/JSONAPIErrorResponse"
description: "Unprocessable Entity"
"429":
$ref: "#/components/responses/TooManyRequestsResponse"
security:
- apiKeyAuth: []
appKeyAuth: []
- AuthZ: []
summary: Mute or unmute security findings
tags:
- "Security Monitoring"
x-codegen-request-body-name: body
"x-permission":
operator: OR
permissions:
- security_monitoring_findings_write
- appsec_vm_write
x-unstable: |-
**Note**: This endpoint is in preview and is subject to change.
If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).
/api/v2/security/findings/search:
post:
description: |-
Expand Down
63 changes: 63 additions & 0 deletions docs/datadog_api_client.v2.model.rst
Original file line number Diff line number Diff line change
Expand Up @@ -19716,6 +19716,69 @@ datadog\_api\_client.v2.model.ms\_teams\_integration\_metadata\_teams\_item modu
:members:
:show-inheritance:

datadog\_api\_client.v2.model.mute\_data\_type module
-----------------------------------------------------

.. automodule:: datadog_api_client.v2.model.mute_data_type
:members:
:show-inheritance:

datadog\_api\_client.v2.model.mute\_findings\_mute\_attributes module
---------------------------------------------------------------------

.. automodule:: datadog_api_client.v2.model.mute_findings_mute_attributes
:members:
:show-inheritance:

datadog\_api\_client.v2.model.mute\_findings\_reason module
-----------------------------------------------------------

.. automodule:: datadog_api_client.v2.model.mute_findings_reason
:members:
:show-inheritance:

datadog\_api\_client.v2.model.mute\_findings\_request module
------------------------------------------------------------

.. automodule:: datadog_api_client.v2.model.mute_findings_request
:members:
:show-inheritance:

datadog\_api\_client.v2.model.mute\_findings\_request\_data module
------------------------------------------------------------------

.. automodule:: datadog_api_client.v2.model.mute_findings_request_data
:members:
:show-inheritance:

datadog\_api\_client.v2.model.mute\_findings\_request\_data\_attributes module
------------------------------------------------------------------------------

.. automodule:: datadog_api_client.v2.model.mute_findings_request_data_attributes
:members:
:show-inheritance:

datadog\_api\_client.v2.model.mute\_findings\_request\_data\_relationships module
---------------------------------------------------------------------------------

.. automodule:: datadog_api_client.v2.model.mute_findings_request_data_relationships
:members:
:show-inheritance:

datadog\_api\_client.v2.model.mute\_findings\_response module
-------------------------------------------------------------

.. automodule:: datadog_api_client.v2.model.mute_findings_response
:members:
:show-inheritance:

datadog\_api\_client.v2.model.mute\_findings\_response\_data module
-------------------------------------------------------------------

.. automodule:: datadog_api_client.v2.model.mute_findings_response_data
:members:
:show-inheritance:

datadog\_api\_client.v2.model.notebook\_create\_data module
-----------------------------------------------------------

Expand Down
49 changes: 49 additions & 0 deletions examples/v2/security-monitoring/MuteSecurityFindings.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
"""
Mute or unmute security findings returns "Accepted" response
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.security_monitoring_api import SecurityMonitoringApi
from datadog_api_client.v2.model.finding_data import FindingData
from datadog_api_client.v2.model.finding_data_type import FindingDataType
from datadog_api_client.v2.model.findings import Findings
from datadog_api_client.v2.model.mute_data_type import MuteDataType
from datadog_api_client.v2.model.mute_findings_mute_attributes import MuteFindingsMuteAttributes
from datadog_api_client.v2.model.mute_findings_reason import MuteFindingsReason
from datadog_api_client.v2.model.mute_findings_request import MuteFindingsRequest
from datadog_api_client.v2.model.mute_findings_request_data import MuteFindingsRequestData
from datadog_api_client.v2.model.mute_findings_request_data_attributes import MuteFindingsRequestDataAttributes
from datadog_api_client.v2.model.mute_findings_request_data_relationships import MuteFindingsRequestDataRelationships

body = MuteFindingsRequest(
data=MuteFindingsRequestData(
attributes=MuteFindingsRequestDataAttributes(
mute=MuteFindingsMuteAttributes(
description="To be resolved later.",
expire_at=1778721573794,
is_muted=True,
reason=MuteFindingsReason.PENDING_FIX,
),
),
id="93bfeb70-af47-424d-908a-948d3f08e37f",
relationships=MuteFindingsRequestDataRelationships(
findings=Findings(
data=[
FindingData(
id="ZGVmLTAwcC1pZXJ-aS0wZjhjNjMyZDNmMzRlZTgzNw==",
type=FindingDataType.FINDINGS,
),
],
),
),
type=MuteDataType.MUTE,
),
)

configuration = Configuration()
configuration.unstable_operations["mute_security_findings"] = True
with ApiClient(configuration) as api_client:
api_instance = SecurityMonitoringApi(api_client)
response = api_instance.mute_security_findings(body=body)

print(response)
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
"""
Unmute security findings returns "Accepted" response
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.security_monitoring_api import SecurityMonitoringApi
from datadog_api_client.v2.model.finding_data import FindingData
from datadog_api_client.v2.model.finding_data_type import FindingDataType
from datadog_api_client.v2.model.findings import Findings
from datadog_api_client.v2.model.mute_data_type import MuteDataType
from datadog_api_client.v2.model.mute_findings_mute_attributes import MuteFindingsMuteAttributes
from datadog_api_client.v2.model.mute_findings_reason import MuteFindingsReason
from datadog_api_client.v2.model.mute_findings_request import MuteFindingsRequest
from datadog_api_client.v2.model.mute_findings_request_data import MuteFindingsRequestData
from datadog_api_client.v2.model.mute_findings_request_data_attributes import MuteFindingsRequestDataAttributes
from datadog_api_client.v2.model.mute_findings_request_data_relationships import MuteFindingsRequestDataRelationships

body = MuteFindingsRequest(
data=MuteFindingsRequestData(
attributes=MuteFindingsRequestDataAttributes(
mute=MuteFindingsMuteAttributes(
description="Resolved.",
is_muted=False,
reason=MuteFindingsReason.NO_PENDING_FIX,
),
),
relationships=MuteFindingsRequestDataRelationships(
findings=Findings(
data=[
FindingData(
id="ZGVmLTAwMC0wYmd-MDE4NjcyMDJkMzE4MDE5ODY5MGE4ZmQ2MmFlMjg0Y2M=",
type=FindingDataType.FINDINGS,
),
],
),
),
type=MuteDataType.MUTE,
),
)

configuration = Configuration()
configuration.unstable_operations["mute_security_findings"] = True
with ApiClient(configuration) as api_client:
api_instance = SecurityMonitoringApi(api_client)
response = api_instance.mute_security_findings(body=body)

print(response)
Loading
Loading