Update one or more attributes of an existing tag policy. Only the fields supplied in the
request body are modified; omitted fields retain their current values. The policy’s
source cannot be changed after creation.
Arguments
Path Parameters
Name
Type
Description
policy_id [required]
string
The unique identifier of the tag policy to update.
Mutable attributes of a tag policy. Each field is optional; omitting a field leaves its
current value unchanged. The source of a policy cannot be changed.
enabled
boolean
Whether the policy is currently enforced.
negated
boolean
When true, the policy matches tag values that do NOT match any of the supplied patterns.
policy_name
string
Human-readable name for the tag policy.
policy_type
enum
How the policy is enforced. blocking rejects telemetry that violates the policy.
surfacing only highlights non-compliant telemetry without blocking it.
Allowed enum values: blocking,surfacing
required
boolean
When true, telemetry without this tag is treated as a violation.
scope
string
The scope the policy applies within.
tag_key
string
The tag key that the policy governs.
tag_value_patterns
[string]
One or more patterns that valid values for the tag key must match.
id [required]
string
The unique identifier of the tag policy being updated.
type [required]
enum
JSON:API resource type for a tag policy.
Allowed enum values: tag_policy
The RFC 3339 timestamp at which the policy was created.
created_by [required]
string
The identifier of the user who created the policy.
deleted_at
date-time
The RFC 3339 timestamp at which the policy was soft-deleted. null if the policy has not been deleted. Only present when include_deleted=true is requested.
deleted_by
string
The identifier of the user who soft-deleted the policy. null if the policy has not been deleted.
enabled [required]
boolean
Whether the policy is currently enforced.
modified_at [required]
date-time
The RFC 3339 timestamp at which the policy was last modified.
modified_by [required]
string
The identifier of the user who last modified the policy.
negated [required]
boolean
When true, the policy matches tag values that do NOT match any of the supplied patterns.
policy_name [required]
string
Human-readable name for the tag policy.
policy_type [required]
enum
How the policy is enforced. blocking rejects telemetry that violates the policy.
surfacing only highlights non-compliant telemetry without blocking it.
Allowed enum values: blocking,surfacing
required [required]
boolean
When true, telemetry without this tag is treated as a violation.
scope [required]
string
The scope the policy applies within.
source [required]
enum
The telemetry source that a tag policy applies to.
Allowed enum values: logs,spans,metrics,rum,feed
tag_key [required]
string
The tag key that the policy governs.
tag_value_patterns [required]
[string]
The patterns that valid values for the tag key must match.
version [required]
int64
A monotonically increasing version counter that is incremented on each update.
id [required]
string
The unique identifier of the tag policy.
relationships
object
Related resources for a tag policy. Only present when the corresponding include query parameter is supplied.
score
object
A relationship to the compliance score resource for this policy.
data [required]
object
Identifier of the related compliance score resource.
id [required]
string
The unique identifier of the related compliance score resource.
type [required]
enum
JSON:API resource type for a tag policy compliance score.
Allowed enum values: tag_policy_score
type [required]
enum
JSON:API resource type for a tag policy.
Allowed enum values: tag_policy
included
[object]
Related resources fetched alongside the primary tag policies. Populated when an include query parameter is supplied.
attributes [required]
object
Attributes of a tag policy compliance score.
score [required]
double
The compliance score for the policy over the requested time window, as a percentage
between 0 and 100. null indicates that no relevant telemetry was found.
ts_end [required]
int64
End of the time window the score was computed over, as a Unix timestamp in milliseconds.
ts_start [required]
int64
Start of the time window the score was computed over, as a Unix timestamp in milliseconds.
version [required]
int64
The version of the tag policy that the score was computed against.
id [required]
string
The unique identifier of the compliance score resource.
type [required]
enum
JSON:API resource type for a tag policy compliance score.
Allowed enum values: tag_policy_score
{"data":{"attributes":{"created_at":"2026-05-21T22:11:06.108696Z","created_by":"test-user","deleted_at":"2019-09-19T10:00:00.000Z","deleted_by":"string","enabled":true,"modified_at":"2026-05-21T22:11:06.108696Z","modified_by":"test-user","negated":false,"policy_name":"Service tag must be one of api or web","policy_type":"surfacing","required":true,"scope":"env","source":"logs","tag_key":"service","tag_value_patterns":["api","web"],"version":1},"id":"123","relationships":{"score":{"data":{"id":"123-v1-1779315066097-1779401466097","type":"tag_policy_score"}}},"type":"tag_policy"},"included":[{"attributes":{"score":80,"ts_end":1779401466097,"ts_start":1779315066097,"version":1},"id":"123-v1-1779315066097-1779401466097","type":"tag_policy_score"}]}
## default
#
# Path parameters exportpolicy_id="123" # Curl command curl-XPATCH"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/tag-policies/${policy_id}" \
-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,
"policy_name": "Service tag must be one of api, web, or worker"
},
"id": "123",
"type": "tag_policy"
}
}EOF
"""
Update a tag policy returns "OK" response
"""fromdatadog_api_clientimportApiClient,Configurationfromdatadog_api_client.v2.api.tag_policies_apiimportTagPoliciesApifromdatadog_api_client.v2.model.tag_policy_resource_typeimportTagPolicyResourceTypefromdatadog_api_client.v2.model.tag_policy_typeimportTagPolicyTypefromdatadog_api_client.v2.model.tag_policy_update_attributesimportTagPolicyUpdateAttributesfromdatadog_api_client.v2.model.tag_policy_update_dataimportTagPolicyUpdateDatafromdatadog_api_client.v2.model.tag_policy_update_requestimportTagPolicyUpdateRequestbody=TagPolicyUpdateRequest(data=TagPolicyUpdateData(attributes=TagPolicyUpdateAttributes(policy_type=TagPolicyType.SURFACING,tag_value_patterns=[],),id="123",type=TagPolicyResourceType.TAG_POLICY,),)configuration=Configuration()configuration.unstable_operations["update_tag_policy"]=TruewithApiClient(configuration)asapi_client:api_instance=TagPoliciesApi(api_client)response=api_instance.update_tag_policy(policy_id="policy_id",body=body)print(response)
# Update a tag policy returns "OK" responserequire"datadog_api_client"DatadogAPIClient.configuredo|config|config.unstable_operations["v2.update_tag_policy".to_sym]=trueendapi_instance=DatadogAPIClient::V2::TagPoliciesAPI.newbody=DatadogAPIClient::V2::TagPolicyUpdateRequest.new({data:DatadogAPIClient::V2::TagPolicyUpdateData.new({attributes:DatadogAPIClient::V2::TagPolicyUpdateAttributes.new({policy_type:DatadogAPIClient::V2::TagPolicyType::SURFACING,tag_value_patterns:[],}),id:"123",type:DatadogAPIClient::V2::TagPolicyResourceType::TAG_POLICY,}),})papi_instance.update_tag_policy("policy_id",body)
// Update a tag policy returns "OK" responsepackagemainimport("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")funcmain(){body:=datadogV2.TagPolicyUpdateRequest{Data:datadogV2.TagPolicyUpdateData{Attributes:&datadogV2.TagPolicyUpdateAttributes{PolicyType:datadogV2.TAGPOLICYTYPE_SURFACING.Ptr(),TagValuePatterns:[]string{},},Id:"123",Type:datadogV2.TAGPOLICYRESOURCETYPE_TAG_POLICY,},}ctx:=datadog.NewDefaultContext(context.Background())configuration:=datadog.NewConfiguration()configuration.SetUnstableOperationEnabled("v2.UpdateTagPolicy",true)apiClient:=datadog.NewAPIClient(configuration)api:=datadogV2.NewTagPoliciesApi(apiClient)resp,r,err:=api.UpdateTagPolicy(ctx,"policy_id",body)iferr!=nil{fmt.Fprintf(os.Stderr,"Error when calling `TagPoliciesApi.UpdateTagPolicy`: %v\n",err)fmt.Fprintf(os.Stderr,"Full HTTP response: %v\n",r)}responseContent,_:=json.MarshalIndent(resp,""," ")fmt.Fprintf(os.Stdout,"Response from `TagPoliciesApi.UpdateTagPolicy`:\n%s\n",responseContent)}
// Update a tag policy returns "OK" response
usedatadog_api_client::datadog;usedatadog_api_client::datadogV2::api_tag_policies::TagPoliciesAPI;usedatadog_api_client::datadogV2::model::TagPolicyResourceType;usedatadog_api_client::datadogV2::model::TagPolicyType;usedatadog_api_client::datadogV2::model::TagPolicyUpdateAttributes;usedatadog_api_client::datadogV2::model::TagPolicyUpdateData;usedatadog_api_client::datadogV2::model::TagPolicyUpdateRequest;#[tokio::main]asyncfnmain(){letbody=TagPolicyUpdateRequest::new(TagPolicyUpdateData::new("123".to_string(),TagPolicyResourceType::TAG_POLICY).attributes(TagPolicyUpdateAttributes::new().policy_type(TagPolicyType::SURFACING).tag_value_patterns(vec![]),),);letmutconfiguration=datadog::Configuration::new();configuration.set_unstable_operation_enabled("v2.UpdateTagPolicy",true);letapi=TagPoliciesAPI::with_config(configuration);letresp=api.update_tag_policy("policy_id".to_string(),body).await;ifletOk(value)=resp{println!("{:#?}",value);}else{println!("{:#?}",resp.unwrap_err());}}
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
/**
* Update a tag policy returns "OK" response
*/import{client,v2}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();configuration.unstableOperations["v2.updateTagPolicy"]=true;constapiInstance=newv2.TagPoliciesApi(configuration);constparams: v2.TagPoliciesApiUpdateTagPolicyRequest={body:{data:{attributes:{policyType:"surfacing",tagValuePatterns:[],},id:"123",type:"tag_policy",},},policyId:"policy_id",};apiInstance.updateTagPolicy(params).then((data: v2.TagPolicyResponse)=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));