Mute or unmute security findings

PATCH https://api.ap1.datadoghq.com/api/v2/security/findings/mutehttps://api.ap2.datadoghq.com/api/v2/security/findings/mutehttps://api.datadoghq.eu/api/v2/security/findings/mutehttps://api.ddog-gov.com/api/v2/security/findings/mutehttps://api.us2.ddog-gov.com/api/v2/security/findings/mutehttps://api.datadoghq.com/api/v2/security/findings/mutehttps://api.us3.datadoghq.com/api/v2/security/findings/mutehttps://api.us5.datadoghq.com/api/v2/security/findings/mute

Overview

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.
This endpoint requires any of the following permissions:
  • security_monitoring_findings_write
  • appsec_vm_write

  • Request

    Body Data (required)

    Expand All

    Field

    Type

    Description

    data [required]

    object

    Data of the mute request.

    attributes [required]

    object

    Attributes of the mute request.

    mute [required]

    object

    Mute properties to apply to the findings.

    description

    string

    Additional information about the reason why the findings are muted or unmuted. This field has a limit of 280 characters.

    expire_at

    int64

    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.

    is_muted [required]

    boolean

    Whether the findings should be muted or unmuted.

    reason [required]

    enum

    The reason why the findings are muted or unmuted. Allowed enum values: PENDING_FIX,FALSE_POSITIVE,OTHER,NO_FIX,DUPLICATE,RISK_ACCEPTED,NO_PENDING_FIX,HUMAN_ERROR,NO_LONGER_ACCEPTED_RISK

    id

    string

    Unique identifier of the mute request.

    relationships [required]

    object

    Relationships of the mute request.

    findings [required]

    object

    Security findings to mute or unmute.

    data

    [object]

    Array of security finding data objects.

    id [required]

    string

    Unique identifier of the security finding.

    type [required]

    enum

    Security findings resource type. Allowed enum values: findings

    default: findings

    type [required]

    enum

    Mute resource type. Allowed enum values: mute

    default: mute

    {
      "data": {
        "attributes": {
          "mute": {
            "description": "To be resolved later.",
            "expire_at": 1778721573794,
            "is_muted": true,
            "reason": "RISK_ACCEPTED"
          }
        },
        "relationships": {
          "findings": {
            "data": [
              {
                "id": "ZGVmLTAwMC0wYmd-MDE4NjcyMDJkMzE4MDE5ODY5MGE4ZmQ2MmFlMjg0Y2M=",
                "type": "findings"
              }
            ]
          }
        },
        "type": "mute"
      }
    }
    {
      "data": {
        "attributes": {
          "mute": {
            "description": "Resolved.",
            "is_muted": false,
            "reason": "NO_PENDING_FIX"
          }
        },
        "relationships": {
          "findings": {
            "data": [
              {
                "id": "ZGVmLTAwMC0wYmd-MDE4NjcyMDJkMzE4MDE5ODY5MGE4ZmQ2MmFlMjg0Y2M=",
                "type": "findings"
              }
            ]
          }
        },
        "type": "mute"
      }
    }

    Response

    Accepted

    Response for the mute or unmute request.

    Expand All

    Field

    Type

    Description

    data

    object

    Data of the mute response.

    id [required]

    string

    Unique identifier of the mute request.

    type [required]

    enum

    Mute resource type. Allowed enum values: mute

    default: mute

    {
      "data": {
        "id": "00000000-0000-0000-0000-000000000001",
        "type": "mute"
      }
    }

    Bad Request

    API error response.

    Expand All

    Field

    Type

    Description

    errors [required]

    [string]

    A list of errors.

    {
      "errors": [
        "Bad Request"
      ]
    }

    Unauthorized

    API error response.

    Expand All

    Field

    Type

    Description

    errors [required]

    [string]

    A list of errors.

    {
      "errors": [
        "Bad Request"
      ]
    }

    Not Found

    API error response.

    Expand All

    Field

    Type

    Description

    errors [required]

    [string]

    A list of errors.

    {
      "errors": [
        "Bad Request"
      ]
    }

    Unprocessable Entity

    API error response.

    Expand All

    Field

    Type

    Description

    errors [required]

    [object]

    A list of errors.

    detail

    string

    A human-readable explanation specific to this occurrence of the error.

    meta

    object

    Non-standard meta-information about the error

    source

    object

    References to the source of the error.

    header

    string

    A string indicating the name of a single request header which caused the error.

    parameter

    string

    A string indicating which URI query parameter caused the error.

    pointer

    string

    A JSON pointer to the value in the request document that caused the error.

    status

    string

    Status code of the response.

    title

    string

    Short human-readable summary of the error.

    {
      "errors": [
        {
          "detail": "Missing required attribute in body",
          "meta": {},
          "source": {
            "header": "Authorization",
            "parameter": "limit",
            "pointer": "/data/attributes/title"
          },
          "status": "400",
          "title": "Bad Request"
        }
      ]
    }

    Too many requests

    API error response.

    Expand All

    Field

    Type

    Description

    errors [required]

    [string]

    A list of errors.

    {
      "errors": [
        "Bad Request"
      ]
    }

    Code Example

                              ## default
    # 
    
    # Curl command
    curl -X PATCH "https://api.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.us2.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/security/findings/mute" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -H "DD-API-KEY: ${DD_API_KEY}" \ -H "DD-APPLICATION-KEY: ${DD_APP_KEY}" \ -d @- << EOF { "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" } } EOF
                              ## default
    # 
    
    # Curl command
    curl -X PATCH "https://api.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.us2.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/security/findings/mute" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -H "DD-API-KEY: ${DD_API_KEY}" \ -H "DD-APPLICATION-KEY: ${DD_APP_KEY}" \ -d @- << EOF { "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" } } EOF
    // Mute security findings returns "Accepted" response
    
    package main
    
    import (
    	"context"
    	"encoding/json"
    	"fmt"
    	"os"
    
    	"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
    	"github.com/DataDog/datadog-api-client-go/v2/api/datadogV2"
    )
    
    func main() {
    	body := datadogV2.MuteFindingsRequest{
    		Data: datadogV2.MuteFindingsRequestData{
    			Attributes: datadogV2.MuteFindingsRequestDataAttributes{
    				Mute: datadogV2.MuteFindingsMuteAttributes{
    					Description: datadog.PtrString("To be resolved later."),
    					ExpireAt:    datadog.PtrInt64(1778721573794),
    					IsMuted:     true,
    					Reason:      datadogV2.MUTEFINDINGSREASON_RISK_ACCEPTED,
    				},
    			},
    			Relationships: datadogV2.MuteFindingsRequestDataRelationships{
    				Findings: datadogV2.Findings{
    					Data: []datadogV2.FindingData{
    						{
    							Id:   "ZGVmLTAwMC0wYmd-MDE4NjcyMDJkMzE4MDE5ODY5MGE4ZmQ2MmFlMjg0Y2M=",
    							Type: datadogV2.FINDINGDATATYPE_FINDINGS,
    						},
    					},
    				},
    			},
    			Type: datadogV2.MUTEDATATYPE_MUTE,
    		},
    	}
    	ctx := datadog.NewDefaultContext(context.Background())
    	configuration := datadog.NewConfiguration()
    	configuration.SetUnstableOperationEnabled("v2.MuteSecurityFindings", true)
    	apiClient := datadog.NewAPIClient(configuration)
    	api := datadogV2.NewSecurityMonitoringApi(apiClient)
    	resp, r, err := api.MuteSecurityFindings(ctx, body)
    
    	if err != nil {
    		fmt.Fprintf(os.Stderr, "Error when calling `SecurityMonitoringApi.MuteSecurityFindings`: %v\n", err)
    		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
    	}
    
    	responseContent, _ := json.MarshalIndent(resp, "", "  ")
    	fmt.Fprintf(os.Stdout, "Response from `SecurityMonitoringApi.MuteSecurityFindings`:\n%s\n", responseContent)
    }
    
    // Unmute security findings returns "Accepted" response
    
    package main
    
    import (
    	"context"
    	"encoding/json"
    	"fmt"
    	"os"
    
    	"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
    	"github.com/DataDog/datadog-api-client-go/v2/api/datadogV2"
    )
    
    func main() {
    	body := datadogV2.MuteFindingsRequest{
    		Data: datadogV2.MuteFindingsRequestData{
    			Attributes: datadogV2.MuteFindingsRequestDataAttributes{
    				Mute: datadogV2.MuteFindingsMuteAttributes{
    					Description: datadog.PtrString("Resolved."),
    					IsMuted:     false,
    					Reason:      datadogV2.MUTEFINDINGSREASON_NO_PENDING_FIX,
    				},
    			},
    			Relationships: datadogV2.MuteFindingsRequestDataRelationships{
    				Findings: datadogV2.Findings{
    					Data: []datadogV2.FindingData{
    						{
    							Id:   "ZGVmLTAwMC0wYmd-MDE4NjcyMDJkMzE4MDE5ODY5MGE4ZmQ2MmFlMjg0Y2M=",
    							Type: datadogV2.FINDINGDATATYPE_FINDINGS,
    						},
    					},
    				},
    			},
    			Type: datadogV2.MUTEDATATYPE_MUTE,
    		},
    	}
    	ctx := datadog.NewDefaultContext(context.Background())
    	configuration := datadog.NewConfiguration()
    	configuration.SetUnstableOperationEnabled("v2.MuteSecurityFindings", true)
    	apiClient := datadog.NewAPIClient(configuration)
    	api := datadogV2.NewSecurityMonitoringApi(apiClient)
    	resp, r, err := api.MuteSecurityFindings(ctx, body)
    
    	if err != nil {
    		fmt.Fprintf(os.Stderr, "Error when calling `SecurityMonitoringApi.MuteSecurityFindings`: %v\n", err)
    		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
    	}
    
    	responseContent, _ := json.MarshalIndent(resp, "", "  ")
    	fmt.Fprintf(os.Stdout, "Response from `SecurityMonitoringApi.MuteSecurityFindings`:\n%s\n", responseContent)
    }
    

    Instructions

    First install the library and its dependencies and then save the example to main.go and run following commands:

        
    DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" go run "main.go"
    // Mute security findings returns "Accepted" response
    
    import com.datadog.api.client.ApiClient;
    import com.datadog.api.client.ApiException;
    import com.datadog.api.client.v2.api.SecurityMonitoringApi;
    import com.datadog.api.client.v2.model.FindingData;
    import com.datadog.api.client.v2.model.FindingDataType;
    import com.datadog.api.client.v2.model.Findings;
    import com.datadog.api.client.v2.model.MuteDataType;
    import com.datadog.api.client.v2.model.MuteFindingsMuteAttributes;
    import com.datadog.api.client.v2.model.MuteFindingsReason;
    import com.datadog.api.client.v2.model.MuteFindingsRequest;
    import com.datadog.api.client.v2.model.MuteFindingsRequestData;
    import com.datadog.api.client.v2.model.MuteFindingsRequestDataAttributes;
    import com.datadog.api.client.v2.model.MuteFindingsRequestDataRelationships;
    import com.datadog.api.client.v2.model.MuteFindingsResponse;
    import java.util.Collections;
    
    public class Example {
      public static void main(String[] args) {
        ApiClient defaultClient = ApiClient.getDefaultApiClient();
        defaultClient.setUnstableOperationEnabled("v2.muteSecurityFindings", true);
        SecurityMonitoringApi apiInstance = new SecurityMonitoringApi(defaultClient);
    
        MuteFindingsRequest body =
            new MuteFindingsRequest()
                .data(
                    new MuteFindingsRequestData()
                        .attributes(
                            new MuteFindingsRequestDataAttributes()
                                .mute(
                                    new MuteFindingsMuteAttributes()
                                        .description("To be resolved later.")
                                        .expireAt(1778721573794L)
                                        .isMuted(true)
                                        .reason(MuteFindingsReason.RISK_ACCEPTED)))
                        .relationships(
                            new MuteFindingsRequestDataRelationships()
                                .findings(
                                    new Findings()
                                        .data(
                                            Collections.singletonList(
                                                new FindingData()
                                                    .id(
                                                        "ZGVmLTAwMC0wYmd-MDE4NjcyMDJkMzE4MDE5ODY5MGE4ZmQ2MmFlMjg0Y2M=")
                                                    .type(FindingDataType.FINDINGS)))))
                        .type(MuteDataType.MUTE));
    
        try {
          MuteFindingsResponse result = apiInstance.muteSecurityFindings(body);
          System.out.println(result);
        } catch (ApiException e) {
          System.err.println("Exception when calling SecurityMonitoringApi#muteSecurityFindings");
          System.err.println("Status code: " + e.getCode());
          System.err.println("Reason: " + e.getResponseBody());
          System.err.println("Response headers: " + e.getResponseHeaders());
          e.printStackTrace();
        }
      }
    }
    
    // Unmute security findings returns "Accepted" response
    
    import com.datadog.api.client.ApiClient;
    import com.datadog.api.client.ApiException;
    import com.datadog.api.client.v2.api.SecurityMonitoringApi;
    import com.datadog.api.client.v2.model.FindingData;
    import com.datadog.api.client.v2.model.FindingDataType;
    import com.datadog.api.client.v2.model.Findings;
    import com.datadog.api.client.v2.model.MuteDataType;
    import com.datadog.api.client.v2.model.MuteFindingsMuteAttributes;
    import com.datadog.api.client.v2.model.MuteFindingsReason;
    import com.datadog.api.client.v2.model.MuteFindingsRequest;
    import com.datadog.api.client.v2.model.MuteFindingsRequestData;
    import com.datadog.api.client.v2.model.MuteFindingsRequestDataAttributes;
    import com.datadog.api.client.v2.model.MuteFindingsRequestDataRelationships;
    import com.datadog.api.client.v2.model.MuteFindingsResponse;
    import java.util.Collections;
    
    public class Example {
      public static void main(String[] args) {
        ApiClient defaultClient = ApiClient.getDefaultApiClient();
        defaultClient.setUnstableOperationEnabled("v2.muteSecurityFindings", true);
        SecurityMonitoringApi apiInstance = new SecurityMonitoringApi(defaultClient);
    
        MuteFindingsRequest body =
            new MuteFindingsRequest()
                .data(
                    new MuteFindingsRequestData()
                        .attributes(
                            new MuteFindingsRequestDataAttributes()
                                .mute(
                                    new MuteFindingsMuteAttributes()
                                        .description("Resolved.")
                                        .isMuted(false)
                                        .reason(MuteFindingsReason.NO_PENDING_FIX)))
                        .relationships(
                            new MuteFindingsRequestDataRelationships()
                                .findings(
                                    new Findings()
                                        .data(
                                            Collections.singletonList(
                                                new FindingData()
                                                    .id(
                                                        "ZGVmLTAwMC0wYmd-MDE4NjcyMDJkMzE4MDE5ODY5MGE4ZmQ2MmFlMjg0Y2M=")
                                                    .type(FindingDataType.FINDINGS)))))
                        .type(MuteDataType.MUTE));
    
        try {
          MuteFindingsResponse result = apiInstance.muteSecurityFindings(body);
          System.out.println(result);
        } catch (ApiException e) {
          System.err.println("Exception when calling SecurityMonitoringApi#muteSecurityFindings");
          System.err.println("Status code: " + e.getCode());
          System.err.println("Reason: " + e.getResponseBody());
          System.err.println("Response headers: " + e.getResponseHeaders());
          e.printStackTrace();
        }
      }
    }
    

    Instructions

    First install the library and its dependencies and then save the example to Example.java and run following commands:

        
    DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" java "Example.java"
    """
    Mute 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.RISK_ACCEPTED,
                ),
            ),
            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)
    
    """
    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)
    

    Instructions

    First install the library and its dependencies and then save the example to example.py and run following commands:

        
    DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" python3 "example.py"
    # Mute security findings returns "Accepted" response
    
    require "datadog_api_client"
    DatadogAPIClient.configure do |config|
      config.unstable_operations["v2.mute_security_findings".to_sym] = true
    end
    api_instance = DatadogAPIClient::V2::SecurityMonitoringAPI.new
    
    body = DatadogAPIClient::V2::MuteFindingsRequest.new({
      data: DatadogAPIClient::V2::MuteFindingsRequestData.new({
        attributes: DatadogAPIClient::V2::MuteFindingsRequestDataAttributes.new({
          mute: DatadogAPIClient::V2::MuteFindingsMuteAttributes.new({
            description: "To be resolved later.",
            expire_at: 1778721573794,
            is_muted: true,
            reason: DatadogAPIClient::V2::MuteFindingsReason::RISK_ACCEPTED,
          }),
        }),
        relationships: DatadogAPIClient::V2::MuteFindingsRequestDataRelationships.new({
          findings: DatadogAPIClient::V2::Findings.new({
            data: [
              DatadogAPIClient::V2::FindingData.new({
                id: "ZGVmLTAwMC0wYmd-MDE4NjcyMDJkMzE4MDE5ODY5MGE4ZmQ2MmFlMjg0Y2M=",
                type: DatadogAPIClient::V2::FindingDataType::FINDINGS,
              }),
            ],
          }),
        }),
        type: DatadogAPIClient::V2::MuteDataType::MUTE,
      }),
    })
    p api_instance.mute_security_findings(body)
    
    # Unmute security findings returns "Accepted" response
    
    require "datadog_api_client"
    DatadogAPIClient.configure do |config|
      config.unstable_operations["v2.mute_security_findings".to_sym] = true
    end
    api_instance = DatadogAPIClient::V2::SecurityMonitoringAPI.new
    
    body = DatadogAPIClient::V2::MuteFindingsRequest.new({
      data: DatadogAPIClient::V2::MuteFindingsRequestData.new({
        attributes: DatadogAPIClient::V2::MuteFindingsRequestDataAttributes.new({
          mute: DatadogAPIClient::V2::MuteFindingsMuteAttributes.new({
            description: "Resolved.",
            is_muted: false,
            reason: DatadogAPIClient::V2::MuteFindingsReason::NO_PENDING_FIX,
          }),
        }),
        relationships: DatadogAPIClient::V2::MuteFindingsRequestDataRelationships.new({
          findings: DatadogAPIClient::V2::Findings.new({
            data: [
              DatadogAPIClient::V2::FindingData.new({
                id: "ZGVmLTAwMC0wYmd-MDE4NjcyMDJkMzE4MDE5ODY5MGE4ZmQ2MmFlMjg0Y2M=",
                type: DatadogAPIClient::V2::FindingDataType::FINDINGS,
              }),
            ],
          }),
        }),
        type: DatadogAPIClient::V2::MuteDataType::MUTE,
      }),
    })
    p api_instance.mute_security_findings(body)
    

    Instructions

    First install the library and its dependencies and then save the example to example.rb and run following commands:

        
    DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" rb "example.rb"
    // Mute security findings returns "Accepted" response
    use datadog_api_client::datadog;
    use datadog_api_client::datadogV2::api_security_monitoring::SecurityMonitoringAPI;
    use datadog_api_client::datadogV2::model::FindingData;
    use datadog_api_client::datadogV2::model::FindingDataType;
    use datadog_api_client::datadogV2::model::Findings;
    use datadog_api_client::datadogV2::model::MuteDataType;
    use datadog_api_client::datadogV2::model::MuteFindingsMuteAttributes;
    use datadog_api_client::datadogV2::model::MuteFindingsReason;
    use datadog_api_client::datadogV2::model::MuteFindingsRequest;
    use datadog_api_client::datadogV2::model::MuteFindingsRequestData;
    use datadog_api_client::datadogV2::model::MuteFindingsRequestDataAttributes;
    use datadog_api_client::datadogV2::model::MuteFindingsRequestDataRelationships;
    
    #[tokio::main]
    async fn main() {
        let body = MuteFindingsRequest::new(MuteFindingsRequestData::new(
            MuteFindingsRequestDataAttributes::new(
                MuteFindingsMuteAttributes::new(true, MuteFindingsReason::RISK_ACCEPTED)
                    .description("To be resolved later.".to_string())
                    .expire_at(1778721573794),
            ),
            MuteFindingsRequestDataRelationships::new(Findings::new().data(vec![FindingData::new(
                "ZGVmLTAwMC0wYmd-MDE4NjcyMDJkMzE4MDE5ODY5MGE4ZmQ2MmFlMjg0Y2M=".to_string(),
                FindingDataType::FINDINGS,
            )])),
            MuteDataType::MUTE,
        ));
        let mut configuration = datadog::Configuration::new();
        configuration.set_unstable_operation_enabled("v2.MuteSecurityFindings", true);
        let api = SecurityMonitoringAPI::with_config(configuration);
        let resp = api.mute_security_findings(body).await;
        if let Ok(value) = resp {
            println!("{:#?}", value);
        } else {
            println!("{:#?}", resp.unwrap_err());
        }
    }
    
    // Unmute security findings returns "Accepted" response
    use datadog_api_client::datadog;
    use datadog_api_client::datadogV2::api_security_monitoring::SecurityMonitoringAPI;
    use datadog_api_client::datadogV2::model::FindingData;
    use datadog_api_client::datadogV2::model::FindingDataType;
    use datadog_api_client::datadogV2::model::Findings;
    use datadog_api_client::datadogV2::model::MuteDataType;
    use datadog_api_client::datadogV2::model::MuteFindingsMuteAttributes;
    use datadog_api_client::datadogV2::model::MuteFindingsReason;
    use datadog_api_client::datadogV2::model::MuteFindingsRequest;
    use datadog_api_client::datadogV2::model::MuteFindingsRequestData;
    use datadog_api_client::datadogV2::model::MuteFindingsRequestDataAttributes;
    use datadog_api_client::datadogV2::model::MuteFindingsRequestDataRelationships;
    
    #[tokio::main]
    async fn main() {
        let body = MuteFindingsRequest::new(MuteFindingsRequestData::new(
            MuteFindingsRequestDataAttributes::new(
                MuteFindingsMuteAttributes::new(false, MuteFindingsReason::NO_PENDING_FIX)
                    .description("Resolved.".to_string()),
            ),
            MuteFindingsRequestDataRelationships::new(Findings::new().data(vec![FindingData::new(
                "ZGVmLTAwMC0wYmd-MDE4NjcyMDJkMzE4MDE5ODY5MGE4ZmQ2MmFlMjg0Y2M=".to_string(),
                FindingDataType::FINDINGS,
            )])),
            MuteDataType::MUTE,
        ));
        let mut configuration = datadog::Configuration::new();
        configuration.set_unstable_operation_enabled("v2.MuteSecurityFindings", true);
        let api = SecurityMonitoringAPI::with_config(configuration);
        let resp = api.mute_security_findings(body).await;
        if let Ok(value) = resp {
            println!("{:#?}", value);
        } else {
            println!("{:#?}", resp.unwrap_err());
        }
    }
    

    Instructions

    First install the library and its dependencies and then save the example to src/main.rs and run following commands:

        
    DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo run
    /**
     * Mute security findings returns "Accepted" response
     */
    
    import { client, v2 } from "@datadog/datadog-api-client";
    
    const configuration = client.createConfiguration();
    configuration.unstableOperations["v2.muteSecurityFindings"] = true;
    const apiInstance = new v2.SecurityMonitoringApi(configuration);
    
    const params: v2.SecurityMonitoringApiMuteSecurityFindingsRequest = {
      body: {
        data: {
          attributes: {
            mute: {
              description: "To be resolved later.",
              expireAt: 1778721573794,
              isMuted: true,
              reason: "RISK_ACCEPTED",
            },
          },
          relationships: {
            findings: {
              data: [
                {
                  id: "ZGVmLTAwMC0wYmd-MDE4NjcyMDJkMzE4MDE5ODY5MGE4ZmQ2MmFlMjg0Y2M=",
                  type: "findings",
                },
              ],
            },
          },
          type: "mute",
        },
      },
    };
    
    apiInstance
      .muteSecurityFindings(params)
      .then((data: v2.MuteFindingsResponse) => {
        console.log(
          "API called successfully. Returned data: " + JSON.stringify(data)
        );
      })
      .catch((error: any) => console.error(error));
    
    /**
     * Unmute security findings returns "Accepted" response
     */
    
    import { client, v2 } from "@datadog/datadog-api-client";
    
    const configuration = client.createConfiguration();
    configuration.unstableOperations["v2.muteSecurityFindings"] = true;
    const apiInstance = new v2.SecurityMonitoringApi(configuration);
    
    const params: v2.SecurityMonitoringApiMuteSecurityFindingsRequest = {
      body: {
        data: {
          attributes: {
            mute: {
              description: "Resolved.",
              isMuted: false,
              reason: "NO_PENDING_FIX",
            },
          },
          relationships: {
            findings: {
              data: [
                {
                  id: "ZGVmLTAwMC0wYmd-MDE4NjcyMDJkMzE4MDE5ODY5MGE4ZmQ2MmFlMjg0Y2M=",
                  type: "findings",
                },
              ],
            },
          },
          type: "mute",
        },
      },
    };
    
    apiInstance
      .muteSecurityFindings(params)
      .then((data: v2.MuteFindingsResponse) => {
        console.log(
          "API called successfully. Returned data: " + JSON.stringify(data)
        );
      })
      .catch((error: any) => console.error(error));
    

    Instructions

    First install the library and its dependencies and then save the example to example.ts and run following commands:

        
    DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" tsc "example.ts"