PUT https://api.ap1.datadoghq.com/api/v2/feature-flags/{feature_flag_id}/variants/{variant_id} https://api.ap2.datadoghq.com/api/v2/feature-flags/{feature_flag_id}/variants/{variant_id} https://api.datadoghq.eu/api/v2/feature-flags/{feature_flag_id}/variants/{variant_id} https://api.ddog-gov.com/api/v2/feature-flags/{feature_flag_id}/variants/{variant_id} https://api.us2.ddog-gov.com/api/v2/feature-flags/{feature_flag_id}/variants/{variant_id} https://api.uk1.datadoghq.com/api/v2/feature-flags/{feature_flag_id}/variants/{variant_id} https://api.datadoghq.com/api/v2/feature-flags/{feature_flag_id}/variants/{variant_id} https://api.us3.datadoghq.com/api/v2/feature-flags/{feature_flag_id}/variants/{variant_id} https://api.us5.datadoghq.com/api/v2/feature-flags/{feature_flag_id}/variants/{variant_id}
Overview
Updates the name and value of an existing variant on a feature flag.
When backend approvals are enabled and the flag requires approval, this endpoint creates and returns a FlagSuggestion with 201 Created instead of applying the change immediately. Use the returned suggestion id to approve or reject the change. If a pending suggestion already exists for this flag’s variant property, the endpoint returns 409 Conflict.
This endpoint requires the
feature_flag_config_write permission.
Arguments Path Parameters feature_flag_id [required ]
The ID of the feature flag.
Request Body Data (required)
Expand All
The display name of the variant.
The value of the variant as a string.
{
"name" : "Variant ABC123 Updated" ,
"value" : "new_value"
} Response OK
A variant of a feature flag.
Expand All
The timestamp when the variant was created.
The unique identifier of the variant.
The unique key of the variant.
The timestamp when the variant was last updated.
The value of the variant as a string.
{
"created_at" : "2023-01-01T00:00:00Z" ,
"id" : "550e8400-e29b-41d4-a716-446655440002" ,
"key" : "variant-abc123" ,
"name" : "Variant ABC123" ,
"updated_at" : "2023-01-01T00:00:00Z" ,
"value" : "true"
} Bad Request
{
"errors" : [
"Bad Request"
]
} Forbidden
{
"errors" : [
"Bad Request"
]
} Not Found
{
"errors" : [
"Bad Request"
]
} Conflict - A pending suggestion already exists for this property.
{
"errors" : [
"Bad Request"
]
} Too many requests
{
"errors" : [
"Bad Request"
]
} Code Example Copy
## default
#
# Path parameters export feature_flag_id = "550e8400-e29b-41d4-a716-446655440000" export variant_id = "550e8400-e29b-41d4-a716-446655440002" # Curl command curl -X PUT "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/feature-flags/${feature_flag_id}/variants/${variant_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": {
"name": "Dark Theme Updated",
"value": "dark_v2"
},
"id": "550e8400-e29b-41d4-a716-446655440002",
"type": "variants"
}
}
EOF
"""
Update a variant returns "OK" response
"""
from datadog_api_client import ApiClient , Configuration
from datadog_api_client.v2.api.feature_flags_api import FeatureFlagsApi
from datadog_api_client.v2.model.update_variant_request import UpdateVariantRequest
from uuid import UUID
body = UpdateVariantRequest (
name = "Variant ABC123 Updated" ,
value = "new_value" ,
)
configuration = Configuration ()
with ApiClient ( configuration ) as api_client :
api_instance = FeatureFlagsApi ( api_client )
response = api_instance . update_variant_for_feature_flag (
feature_flag_id = UUID ( "550e8400-e29b-41d4-a716-446655440000" ),
variant_id = UUID ( "550e8400-e29b-41d4-a716-446655440002" ),
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.com us3.datadoghq.com us5.datadoghq.com datadoghq.eu ap1.datadoghq.com ap2.datadoghq.com uk1.datadoghq.com ddog-gov.com us2.ddog-gov.com " DD_API_KEY = "<DD_API_KEY>" DD_APP_KEY = "<DD_APP_KEY>" python3 "example.py"
# Update a variant returns "OK" response
require "datadog_api_client"
api_instance = DatadogAPIClient :: V2 :: FeatureFlagsAPI . new
body = DatadogAPIClient :: V2 :: UpdateVariantRequest . new ({
name : "Variant ABC123 Updated" ,
value : "new_value" ,
})
p api_instance . update_variant_for_feature_flag ( "550e8400-e29b-41d4-a716-446655440000" , "550e8400-e29b-41d4-a716-446655440002" , body )
Instructions First install the library and its dependencies and then save the example to example.rb and run following commands:
DD_SITE = "datadoghq.com us3.datadoghq.com us5.datadoghq.com datadoghq.eu ap1.datadoghq.com ap2.datadoghq.com uk1.datadoghq.com ddog-gov.com us2.ddog-gov.com " DD_API_KEY = "<DD_API_KEY>" DD_APP_KEY = "<DD_APP_KEY>" rb "example.rb"
// Update a variant returns "OK" 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"
"github.com/google/uuid"
)
func main () {
body := datadogV2 . UpdateVariantRequest {
Name : datadog . PtrString ( "Variant ABC123 Updated" ),
Value : datadog . PtrString ( "new_value" ),
}
ctx := datadog . NewDefaultContext ( context . Background ())
configuration := datadog . NewConfiguration ()
apiClient := datadog . NewAPIClient ( configuration )
api := datadogV2 . NewFeatureFlagsApi ( apiClient )
resp , r , err := api . UpdateVariantForFeatureFlag ( ctx , uuid . MustParse ( "550e8400-e29b-41d4-a716-446655440000" ), uuid . MustParse ( "550e8400-e29b-41d4-a716-446655440002" ), body )
if err != nil {
fmt . Fprintf ( os . Stderr , "Error when calling `FeatureFlagsApi.UpdateVariantForFeatureFlag`: %v\n" , err )
fmt . Fprintf ( os . Stderr , "Full HTTP response: %v\n" , r )
}
responseContent , _ := json . MarshalIndent ( resp , "" , " " )
fmt . Fprintf ( os . Stdout , "Response from `FeatureFlagsApi.UpdateVariantForFeatureFlag`:\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.com us3.datadoghq.com us5.datadoghq.com datadoghq.eu ap1.datadoghq.com ap2.datadoghq.com uk1.datadoghq.com ddog-gov.com us2.ddog-gov.com " DD_API_KEY = "<DD_API_KEY>" DD_APP_KEY = "<DD_APP_KEY>" go run "main.go"
// Update a variant returns "OK" response
import com.datadog.api.client.ApiClient ;
import com.datadog.api.client.ApiException ;
import com.datadog.api.client.v2.api.FeatureFlagsApi ;
import com.datadog.api.client.v2.model.UpdateVariantRequest ;
import com.datadog.api.client.v2.model.Variant ;
import java.util.UUID ;
public class Example {
public static void main ( String [] args ) {
ApiClient defaultClient = ApiClient . getDefaultApiClient ();
FeatureFlagsApi apiInstance = new FeatureFlagsApi ( defaultClient );
UpdateVariantRequest body =
new UpdateVariantRequest (). name ( "Variant ABC123 Updated" ). value ( "new_value" );
try {
Variant result =
apiInstance . updateVariantForFeatureFlag (
UUID . fromString ( "550e8400-e29b-41d4-a716-446655440000" ),
UUID . fromString ( "550e8400-e29b-41d4-a716-446655440002" ),
body );
System . out . println ( result );
} catch ( ApiException e ) {
System . err . println ( "Exception when calling FeatureFlagsApi#updateVariantForFeatureFlag" );
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.com us3.datadoghq.com us5.datadoghq.com datadoghq.eu ap1.datadoghq.com ap2.datadoghq.com uk1.datadoghq.com ddog-gov.com us2.ddog-gov.com " DD_API_KEY = "<DD_API_KEY>" DD_APP_KEY = "<DD_APP_KEY>" java "Example.java"
// Update a variant returns "OK" response
use datadog_api_client ::datadog ;
use datadog_api_client ::datadogV2 ::api_feature_flags ::FeatureFlagsAPI ;
use datadog_api_client ::datadogV2 ::model ::UpdateVariantRequest ;
use uuid ::Uuid ;
#[tokio::main]
async fn main () {
let body = UpdateVariantRequest ::new ()
. name ( "Variant ABC123 Updated" . to_string ())
. value ( "new_value" . to_string ());
let configuration = datadog ::Configuration ::new ();
let api = FeatureFlagsAPI ::with_config ( configuration );
let resp = api
. update_variant_for_feature_flag (
Uuid ::parse_str ( "550e8400-e29b-41d4-a716-446655440000" ). expect ( "invalid UUID" ),
Uuid ::parse_str ( "550e8400-e29b-41d4-a716-446655440002" ). expect ( "invalid UUID" ),
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.com us3.datadoghq.com us5.datadoghq.com datadoghq.eu ap1.datadoghq.com ap2.datadoghq.com uk1.datadoghq.com ddog-gov.com us2.ddog-gov.com " DD_API_KEY = "<DD_API_KEY>" DD_APP_KEY = "<DD_APP_KEY>" cargo run
/**
* Update a variant returns "OK" response
*/
import { client , v2 } from "@datadog/datadog-api-client" ;
const configuration = client . createConfiguration ();
const apiInstance = new v2 . FeatureFlagsApi ( configuration );
const params : v2.FeatureFlagsApiUpdateVariantForFeatureFlagRequest = {
body : {
name : "Variant ABC123 Updated" ,
value : "new_value" ,
},
featureFlagId : "550e8400-e29b-41d4-a716-446655440000" ,
variantId : "550e8400-e29b-41d4-a716-446655440002" ,
};
apiInstance
. updateVariantForFeatureFlag ( params )
. then (( data : v2.Variant ) => {
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.com us3.datadoghq.com us5.datadoghq.com datadoghq.eu ap1.datadoghq.com ap2.datadoghq.com uk1.datadoghq.com ddog-gov.com us2.ddog-gov.com " DD_API_KEY = "<DD_API_KEY>" DD_APP_KEY = "<DD_APP_KEY>" tsc "example.ts"