Create a RUM exclusion filter

Note: This endpoint is in preview and is subject to change. If you have any feedback, contact Datadog support.

POST https://api.ap1.datadoghq.com/api/v2/rum/applications/{app_id}/retention_filters/exclusionhttps://api.ap2.datadoghq.com/api/v2/rum/applications/{app_id}/retention_filters/exclusionhttps://api.datadoghq.eu/api/v2/rum/applications/{app_id}/retention_filters/exclusionhttps://api.ddog-gov.com/api/v2/rum/applications/{app_id}/retention_filters/exclusionhttps://api.us2.ddog-gov.com/api/v2/rum/applications/{app_id}/retention_filters/exclusionhttps://api.uk1.datadoghq.com/api/v2/rum/applications/{app_id}/retention_filters/exclusionhttps://api.datadoghq.com/api/v2/rum/applications/{app_id}/retention_filters/exclusionhttps://api.us3.datadoghq.com/api/v2/rum/applications/{app_id}/retention_filters/exclusionhttps://api.us5.datadoghq.com/api/v2/rum/applications/{app_id}/retention_filters/exclusion

Overview

Create an exclusion filter for a RUM application. Returns the created exclusion filter when the request is successful.

Arguments

Path Parameters

Name

Type

Description

app_id [required]

string

RUM application ID.

Request

Body Data (required)

The definition of the new RUM exclusion filter.

Expand All

Field

Type

Description

data [required]

object

The new exclusion filter properties to create.

attributes [required]

object

The attributes of an exclusion filter to create.

enabled

boolean

Whether the exclusion filter is active. Defaults to true.

event_type

enum

The type of RUM events to filter on. Allowed enum values: session,view,action,error,resource,long_task,vital

name [required]

string

The name of the exclusion filter.

query

string

Additional query used to further restrict which RUM events are excluded. Combined with event_type when both are provided.

type [required]

enum

The resource type. The value must be exclusion_filters. Allowed enum values: exclusion_filters

default: exclusion_filters

{
  "data": {
    "attributes": {
      "enabled": true,
      "event_type": "error",
      "name": "Exclude noisy browser extension errors",
      "query": "@error.message:*extension*"
    },
    "type": "exclusion_filters"
  }
}

Response

Created

An exclusion filter response body.

Expand All

Field

Type

Description

data

object

An exclusion filter.

attributes

object

The attributes of an exclusion filter.

enabled

boolean

Whether the exclusion filter is active.

event_type

enum

The type of RUM events to filter on. Allowed enum values: session,view,action,error,resource,long_task,vital

name

string

The name of the exclusion filter.

query

string

Additional query used to further restrict which RUM events are excluded. Combined with event_type when both are provided.

id [required]

string

The ID of the exclusion filter.

meta

object

Metadata about the exclusion filter.

enabled_at

int64

Unix epoch (in milliseconds) when the exclusion filter was last enabled.

updated_at

int64

Unix epoch (in milliseconds) of the last update.

updated_by_handle

string

Handle of the user who last updated the exclusion filter.

type [required]

enum

The resource type. The value must be exclusion_filters. Allowed enum values: exclusion_filters

default: exclusion_filters

{
  "data": {
    "attributes": {
      "enabled": true,
      "event_type": "error",
      "name": "Exclude noisy browser extension errors",
      "query": "@error.message:*extension*"
    },
    "id": "051601eb-54a0-abc0-03f9-cc02efa18892",
    "meta": {
      "enabled_at": 1735689600000,
      "updated_at": 1735689600000,
      "updated_by_handle": "jane.doe@example.com"
    },
    "type": "exclusion_filters"
  }
}

Bad Request

API error response.

Expand All

Field

Type

Description

errors [required]

[string]

A list of errors.

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

Not Authorized

API error response.

Expand All

Field

Type

Description

errors [required]

[string]

A list of errors.

{
  "errors": [
    "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
# 

# Path parameters
export app_id="CHANGE_ME"
# Curl command
curl -X POST "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.uk1.datadoghq.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/rum/applications/${app_id}/retention_filters/exclusion" \ -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": { "enabled": true, "event_type": "error", "name": "Exclude noisy browser extension errors", "query": "@error.message:*extension*" }, "type": "exclusion_filters" } } EOF
"""
Create a RUM exclusion filter returns "Created" response
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.rum_retention_filters_api import RumRetentionFiltersApi
from datadog_api_client.v2.model.rum_exclusion_filter_create_attributes import RumExclusionFilterCreateAttributes
from datadog_api_client.v2.model.rum_exclusion_filter_create_data import RumExclusionFilterCreateData
from datadog_api_client.v2.model.rum_exclusion_filter_create_request import RumExclusionFilterCreateRequest
from datadog_api_client.v2.model.rum_exclusion_filter_event_type import RumExclusionFilterEventType
from datadog_api_client.v2.model.rum_exclusion_filter_type import RumExclusionFilterType

body = RumExclusionFilterCreateRequest(
    data=RumExclusionFilterCreateData(
        attributes=RumExclusionFilterCreateAttributes(
            enabled=True,
            event_type=RumExclusionFilterEventType.ERROR,
            name="Exclude noisy browser extension errors",
            query="@error.message:*extension*",
        ),
        type=RumExclusionFilterType.EXCLUSION_FILTERS,
    ),
)

configuration = Configuration()
configuration.unstable_operations["create_exclusion_filter"] = True
with ApiClient(configuration) as api_client:
    api_instance = RumRetentionFiltersApi(api_client)
    response = api_instance.create_exclusion_filter(app_id="app_id", 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.comuk1.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" python3 "example.py"
# Create a RUM exclusion filter returns "Created" response

require "datadog_api_client"
DatadogAPIClient.configure do |config|
  config.unstable_operations["v2.create_exclusion_filter".to_sym] = true
end
api_instance = DatadogAPIClient::V2::RumRetentionFiltersAPI.new

body = DatadogAPIClient::V2::RumExclusionFilterCreateRequest.new({
  data: DatadogAPIClient::V2::RumExclusionFilterCreateData.new({
    attributes: DatadogAPIClient::V2::RumExclusionFilterCreateAttributes.new({
      enabled: true,
      event_type: DatadogAPIClient::V2::RumExclusionFilterEventType::ERROR,
      name: "Exclude noisy browser extension errors",
      query: "@error.message:*extension*",
    }),
    type: DatadogAPIClient::V2::RumExclusionFilterType::EXCLUSION_FILTERS,
  }),
})
p api_instance.create_exclusion_filter("app_id", 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.comuk1.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" rb "example.rb"
// Create a RUM exclusion filter returns "Created" 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.RumExclusionFilterCreateRequest{
		Data: datadogV2.RumExclusionFilterCreateData{
			Attributes: datadogV2.RumExclusionFilterCreateAttributes{
				Enabled:   datadog.PtrBool(true),
				EventType: datadogV2.RUMEXCLUSIONFILTEREVENTTYPE_ERROR.Ptr(),
				Name:      "Exclude noisy browser extension errors",
				Query:     datadog.PtrString("@error.message:*extension*"),
			},
			Type: datadogV2.RUMEXCLUSIONFILTERTYPE_EXCLUSION_FILTERS,
		},
	}
	ctx := datadog.NewDefaultContext(context.Background())
	configuration := datadog.NewConfiguration()
	configuration.SetUnstableOperationEnabled("v2.CreateExclusionFilter", true)
	apiClient := datadog.NewAPIClient(configuration)
	api := datadogV2.NewRumRetentionFiltersApi(apiClient)
	resp, r, err := api.CreateExclusionFilter(ctx, "app_id", body)

	if err != nil {
		fmt.Fprintf(os.Stderr, "Error when calling `RumRetentionFiltersApi.CreateExclusionFilter`: %v\n", err)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}

	responseContent, _ := json.MarshalIndent(resp, "", "  ")
	fmt.Fprintf(os.Stdout, "Response from `RumRetentionFiltersApi.CreateExclusionFilter`:\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.comuk1.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" go run "main.go"
// Create a RUM exclusion filter returns "Created" response

import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.RumRetentionFiltersApi;
import com.datadog.api.client.v2.model.RumExclusionFilterCreateAttributes;
import com.datadog.api.client.v2.model.RumExclusionFilterCreateData;
import com.datadog.api.client.v2.model.RumExclusionFilterCreateRequest;
import com.datadog.api.client.v2.model.RumExclusionFilterEventType;
import com.datadog.api.client.v2.model.RumExclusionFilterResponse;
import com.datadog.api.client.v2.model.RumExclusionFilterType;

public class Example {
  public static void main(String[] args) {
    ApiClient defaultClient = ApiClient.getDefaultApiClient();
    defaultClient.setUnstableOperationEnabled("v2.createExclusionFilter", true);
    RumRetentionFiltersApi apiInstance = new RumRetentionFiltersApi(defaultClient);

    RumExclusionFilterCreateRequest body =
        new RumExclusionFilterCreateRequest()
            .data(
                new RumExclusionFilterCreateData()
                    .attributes(
                        new RumExclusionFilterCreateAttributes()
                            .enabled(true)
                            .eventType(RumExclusionFilterEventType.ERROR)
                            .name("Exclude noisy browser extension errors")
                            .query("@error.message:*extension*"))
                    .type(RumExclusionFilterType.EXCLUSION_FILTERS));

    try {
      RumExclusionFilterResponse result = apiInstance.createExclusionFilter("app_id", body);
      System.out.println(result);
    } catch (ApiException e) {
      System.err.println("Exception when calling RumRetentionFiltersApi#createExclusionFilter");
      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.comuk1.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" java "Example.java"
// Create a RUM exclusion filter returns "Created" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_rum_retention_filters::RumRetentionFiltersAPI;
use datadog_api_client::datadogV2::model::RumExclusionFilterCreateAttributes;
use datadog_api_client::datadogV2::model::RumExclusionFilterCreateData;
use datadog_api_client::datadogV2::model::RumExclusionFilterCreateRequest;
use datadog_api_client::datadogV2::model::RumExclusionFilterEventType;
use datadog_api_client::datadogV2::model::RumExclusionFilterType;

#[tokio::main]
async fn main() {
    let body = RumExclusionFilterCreateRequest::new(RumExclusionFilterCreateData::new(
        RumExclusionFilterCreateAttributes::new(
            "Exclude noisy browser extension errors".to_string(),
        )
        .enabled(true)
        .event_type(RumExclusionFilterEventType::ERROR)
        .query("@error.message:*extension*".to_string()),
        RumExclusionFilterType::EXCLUSION_FILTERS,
    ));
    let mut configuration = datadog::Configuration::new();
    configuration.set_unstable_operation_enabled("v2.CreateExclusionFilter", true);
    let api = RumRetentionFiltersAPI::with_config(configuration);
    let resp = api
        .create_exclusion_filter("app_id".to_string(), 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.comuk1.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo run
/**
 * Create a RUM exclusion filter returns "Created" response
 */

import { client, v2 } from "@datadog/datadog-api-client";

const configuration = client.createConfiguration();
configuration.unstableOperations["v2.createExclusionFilter"] = true;
const apiInstance = new v2.RumRetentionFiltersApi(configuration);

const params: v2.RumRetentionFiltersApiCreateExclusionFilterRequest = {
  body: {
    data: {
      attributes: {
        enabled: true,
        eventType: "error",
        name: "Exclude noisy browser extension errors",
        query: "@error.message:*extension*",
      },
      type: "exclusion_filters",
    },
  },
  appId: "app_id",
};

apiInstance
  .createExclusionFilter(params)
  .then((data: v2.RumExclusionFilterResponse) => {
    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.comuk1.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" tsc "example.ts"