For AI agents: A markdown version of this page is available at https://dnd37xeb23o8n.cloudfront.net/jen.gilbert/astro-base/api/latest/apm-retention-filters/update-a-retention-filter.md. A documentation index is available at /llms.txt.
Language
Datadog site

Update a retention filter

PUThttps://api.datadoghq.com/api/v2/apm/config/retention-filters/{filter_id}https://api.us3.datadoghq.com/api/v2/apm/config/retention-filters/{filter_id}https://api.us5.datadoghq.com/api/v2/apm/config/retention-filters/{filter_id}https://api.datadoghq.eu/api/v2/apm/config/retention-filters/{filter_id}https://api.ap1.datadoghq.com/api/v2/apm/config/retention-filters/{filter_id}https://api.ap2.datadoghq.com/api/v2/apm/config/retention-filters/{filter_id}https://api.uk1.datadoghq.com/api/v2/apm/config/retention-filters/{filter_id}https://api.ddog-gov.com/api/v2/apm/config/retention-filters/{filter_id}https://api.us2.ddog-gov.com/api/v2/apm/config/retention-filters/{filter_id}

Overview

Update a retention filter from your organization.

Default filters (filters with types spans-errors-sampling-processor and spans-appsec-sampling-processor) cannot be renamed or removed.

This endpoint requires the apm_retention_filter_write permission.

Arguments

Path Parameters

Name
Type
Description
filter_id [required]
string

The ID of the retention filter.

Request

Body Data (required)

The updated definition of the retention filter.

Field
Type
Description
data [required]
object

The body of the retention filter to be updated.

Response

OK

The retention filters definition.

Field
Type
Description
data
object

The definition of the retention filter.

Code Example

Update a retention filter returns "OK" response
# Path parameters
export filter_id="CHANGE_ME"

# Set your Datadog site and credentials
export DD_SITE="datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"

curl -X PUT "https://api.${DD_SITE}/api/v2/apm/config/retention-filters/${filter_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
  "data": {
    "attributes": {
      "name": "test",
      "rate": 0.9,
      "filter": {
        "query": "@_top_level:1 test:service-demo"
      },
      "enabled": true,
      "filter_type": "spans-sampling-processor"
    },
    "id": "test-id",
    "type": "apm_retention_filter"
  }
}
EOF
# Path parameters
export filter_id="CHANGE_ME"

# Set your Datadog site and credentials
export DD_SITE="us3.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"

curl -X PUT "https://api.${DD_SITE}/api/v2/apm/config/retention-filters/${filter_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
  "data": {
    "attributes": {
      "name": "test",
      "rate": 0.9,
      "filter": {
        "query": "@_top_level:1 test:service-demo"
      },
      "enabled": true,
      "filter_type": "spans-sampling-processor"
    },
    "id": "test-id",
    "type": "apm_retention_filter"
  }
}
EOF
# Path parameters
export filter_id="CHANGE_ME"

# Set your Datadog site and credentials
export DD_SITE="us5.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"

curl -X PUT "https://api.${DD_SITE}/api/v2/apm/config/retention-filters/${filter_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
  "data": {
    "attributes": {
      "name": "test",
      "rate": 0.9,
      "filter": {
        "query": "@_top_level:1 test:service-demo"
      },
      "enabled": true,
      "filter_type": "spans-sampling-processor"
    },
    "id": "test-id",
    "type": "apm_retention_filter"
  }
}
EOF
# Path parameters
export filter_id="CHANGE_ME"

# Set your Datadog site and credentials
export DD_SITE="datadoghq.eu"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"

curl -X PUT "https://api.${DD_SITE}/api/v2/apm/config/retention-filters/${filter_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
  "data": {
    "attributes": {
      "name": "test",
      "rate": 0.9,
      "filter": {
        "query": "@_top_level:1 test:service-demo"
      },
      "enabled": true,
      "filter_type": "spans-sampling-processor"
    },
    "id": "test-id",
    "type": "apm_retention_filter"
  }
}
EOF
# Path parameters
export filter_id="CHANGE_ME"

# Set your Datadog site and credentials
export DD_SITE="ap1.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"

curl -X PUT "https://api.${DD_SITE}/api/v2/apm/config/retention-filters/${filter_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
  "data": {
    "attributes": {
      "name": "test",
      "rate": 0.9,
      "filter": {
        "query": "@_top_level:1 test:service-demo"
      },
      "enabled": true,
      "filter_type": "spans-sampling-processor"
    },
    "id": "test-id",
    "type": "apm_retention_filter"
  }
}
EOF
# Path parameters
export filter_id="CHANGE_ME"

# Set your Datadog site and credentials
export DD_SITE="ap2.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"

curl -X PUT "https://api.${DD_SITE}/api/v2/apm/config/retention-filters/${filter_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
  "data": {
    "attributes": {
      "name": "test",
      "rate": 0.9,
      "filter": {
        "query": "@_top_level:1 test:service-demo"
      },
      "enabled": true,
      "filter_type": "spans-sampling-processor"
    },
    "id": "test-id",
    "type": "apm_retention_filter"
  }
}
EOF
# Path parameters
export filter_id="CHANGE_ME"

# Set your Datadog site and credentials
export DD_SITE="uk1.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"

curl -X PUT "https://api.${DD_SITE}/api/v2/apm/config/retention-filters/${filter_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
  "data": {
    "attributes": {
      "name": "test",
      "rate": 0.9,
      "filter": {
        "query": "@_top_level:1 test:service-demo"
      },
      "enabled": true,
      "filter_type": "spans-sampling-processor"
    },
    "id": "test-id",
    "type": "apm_retention_filter"
  }
}
EOF
# Path parameters
export filter_id="CHANGE_ME"

# Set your Datadog site and credentials
export DD_SITE="ddog-gov.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"

curl -X PUT "https://api.${DD_SITE}/api/v2/apm/config/retention-filters/${filter_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
  "data": {
    "attributes": {
      "name": "test",
      "rate": 0.9,
      "filter": {
        "query": "@_top_level:1 test:service-demo"
      },
      "enabled": true,
      "filter_type": "spans-sampling-processor"
    },
    "id": "test-id",
    "type": "apm_retention_filter"
  }
}
EOF
# Path parameters
export filter_id="CHANGE_ME"

# Set your Datadog site and credentials
export DD_SITE="us2.ddog-gov.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"

curl -X PUT "https://api.${DD_SITE}/api/v2/apm/config/retention-filters/${filter_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
  "data": {
    "attributes": {
      "name": "test",
      "rate": 0.9,
      "filter": {
        "query": "@_top_level:1 test:service-demo"
      },
      "enabled": true,
      "filter_type": "spans-sampling-processor"
    },
    "id": "test-id",
    "type": "apm_retention_filter"
  }
}
EOF
Update a retention filter with trace rate returns "OK" response
# Path parameters
export filter_id="CHANGE_ME"

# Set your Datadog site and credentials
export DD_SITE="datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"

curl -X PUT "https://api.${DD_SITE}/api/v2/apm/config/retention-filters/${filter_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
  "data": {
    "attributes": {
      "name": "test",
      "rate": 0.9,
      "trace_rate": 1.0,
      "filter": {
        "query": "@_top_level:1 test:service-demo"
      },
      "enabled": true,
      "filter_type": "spans-sampling-processor"
    },
    "id": "test-id",
    "type": "apm_retention_filter"
  }
}
EOF
# Path parameters
export filter_id="CHANGE_ME"

# Set your Datadog site and credentials
export DD_SITE="us3.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"

curl -X PUT "https://api.${DD_SITE}/api/v2/apm/config/retention-filters/${filter_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
  "data": {
    "attributes": {
      "name": "test",
      "rate": 0.9,
      "trace_rate": 1.0,
      "filter": {
        "query": "@_top_level:1 test:service-demo"
      },
      "enabled": true,
      "filter_type": "spans-sampling-processor"
    },
    "id": "test-id",
    "type": "apm_retention_filter"
  }
}
EOF
# Path parameters
export filter_id="CHANGE_ME"

# Set your Datadog site and credentials
export DD_SITE="us5.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"

curl -X PUT "https://api.${DD_SITE}/api/v2/apm/config/retention-filters/${filter_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
  "data": {
    "attributes": {
      "name": "test",
      "rate": 0.9,
      "trace_rate": 1.0,
      "filter": {
        "query": "@_top_level:1 test:service-demo"
      },
      "enabled": true,
      "filter_type": "spans-sampling-processor"
    },
    "id": "test-id",
    "type": "apm_retention_filter"
  }
}
EOF
# Path parameters
export filter_id="CHANGE_ME"

# Set your Datadog site and credentials
export DD_SITE="datadoghq.eu"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"

curl -X PUT "https://api.${DD_SITE}/api/v2/apm/config/retention-filters/${filter_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
  "data": {
    "attributes": {
      "name": "test",
      "rate": 0.9,
      "trace_rate": 1.0,
      "filter": {
        "query": "@_top_level:1 test:service-demo"
      },
      "enabled": true,
      "filter_type": "spans-sampling-processor"
    },
    "id": "test-id",
    "type": "apm_retention_filter"
  }
}
EOF
# Path parameters
export filter_id="CHANGE_ME"

# Set your Datadog site and credentials
export DD_SITE="ap1.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"

curl -X PUT "https://api.${DD_SITE}/api/v2/apm/config/retention-filters/${filter_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
  "data": {
    "attributes": {
      "name": "test",
      "rate": 0.9,
      "trace_rate": 1.0,
      "filter": {
        "query": "@_top_level:1 test:service-demo"
      },
      "enabled": true,
      "filter_type": "spans-sampling-processor"
    },
    "id": "test-id",
    "type": "apm_retention_filter"
  }
}
EOF
# Path parameters
export filter_id="CHANGE_ME"

# Set your Datadog site and credentials
export DD_SITE="ap2.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"

curl -X PUT "https://api.${DD_SITE}/api/v2/apm/config/retention-filters/${filter_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
  "data": {
    "attributes": {
      "name": "test",
      "rate": 0.9,
      "trace_rate": 1.0,
      "filter": {
        "query": "@_top_level:1 test:service-demo"
      },
      "enabled": true,
      "filter_type": "spans-sampling-processor"
    },
    "id": "test-id",
    "type": "apm_retention_filter"
  }
}
EOF
# Path parameters
export filter_id="CHANGE_ME"

# Set your Datadog site and credentials
export DD_SITE="uk1.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"

curl -X PUT "https://api.${DD_SITE}/api/v2/apm/config/retention-filters/${filter_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
  "data": {
    "attributes": {
      "name": "test",
      "rate": 0.9,
      "trace_rate": 1.0,
      "filter": {
        "query": "@_top_level:1 test:service-demo"
      },
      "enabled": true,
      "filter_type": "spans-sampling-processor"
    },
    "id": "test-id",
    "type": "apm_retention_filter"
  }
}
EOF
# Path parameters
export filter_id="CHANGE_ME"

# Set your Datadog site and credentials
export DD_SITE="ddog-gov.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"

curl -X PUT "https://api.${DD_SITE}/api/v2/apm/config/retention-filters/${filter_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
  "data": {
    "attributes": {
      "name": "test",
      "rate": 0.9,
      "trace_rate": 1.0,
      "filter": {
        "query": "@_top_level:1 test:service-demo"
      },
      "enabled": true,
      "filter_type": "spans-sampling-processor"
    },
    "id": "test-id",
    "type": "apm_retention_filter"
  }
}
EOF
# Path parameters
export filter_id="CHANGE_ME"

# Set your Datadog site and credentials
export DD_SITE="us2.ddog-gov.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"

curl -X PUT "https://api.${DD_SITE}/api/v2/apm/config/retention-filters/${filter_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
  "data": {
    "attributes": {
      "name": "test",
      "rate": 0.9,
      "trace_rate": 1.0,
      "filter": {
        "query": "@_top_level:1 test:service-demo"
      },
      "enabled": true,
      "filter_type": "spans-sampling-processor"
    },
    "id": "test-id",
    "type": "apm_retention_filter"
  }
}
EOF