Create a feature flag
https://api.datadoghq.com/api/v2/feature-flagshttps://api.us3.datadoghq.com/api/v2/feature-flagshttps://api.us5.datadoghq.com/api/v2/feature-flagshttps://api.datadoghq.eu/api/v2/feature-flagshttps://api.ap1.datadoghq.com/api/v2/feature-flagshttps://api.ap2.datadoghq.com/api/v2/feature-flagshttps://api.uk1.datadoghq.com/api/v2/feature-flagshttps://api.ddog-gov.com/api/v2/feature-flagshttps://api.us2.ddog-gov.com/api/v2/feature-flagsOverview
Creates a new feature flag with variants.
OAuth apps require the feature_flag_config_write, feature_flag_environment_config_read authorization scope to access this endpoint.
Request
Body Data (required)
data [required]Data for creating a new feature flag.
attributes [required]Attributes for creating a new feature flag.
default_variant_keyThe key of the default variant.
descriptionThe description of the feature flag.
distribution_channelThe distribution channel for the feature flag.
ALL, CLIENT, SERVERjson_schemaJSON schema for validation when value_type is JSON.
key [required]The unique key of the feature flag.
name [required]The name of the feature flag.
require_approvalIndicates whether this feature flag requires approval for changes.
staleness_statusThe staleness status for the feature flag at creation.
ACTIVE, PERMANENTtagsTags associated with the feature flag.
value_type [required]The type of values for the feature flag variants.
BOOLEAN, INTEGER, NUMERIC, STRING, JSONvariants [required]The variants of the feature flag.
key [required]The unique key of the variant.
name [required]The name of the variant.
value [required]The value of the variant as a string.
type [required]The resource type.
feature-flags{
"data": {
"type": "feature-flags",
"attributes": {
"default_variant_key": "variant-Example-Feature-Flag-1",
"distribution_channel": "SERVER",
"key": "test-feature-flag-Example-Feature-Flag",
"name": "Test Feature Flag Example-Feature-Flag",
"require_approval": false,
"staleness_status": "PERMANENT",
"tags": [
"env:api-client-test"
],
"value_type": "BOOLEAN",
"variants": [
{
"key": "variant-Example-Feature-Flag-1",
"name": "Variant Example-Feature-Flag A",
"value": "true"
},
{
"key": "variant-Example-Feature-Flag-2",
"name": "Variant Example-Feature-Flag B",
"value": "false"
}
]
}
}
}Response
Created
Response containing a feature flag.
data [required]A feature flag resource.
attributes [required]Attributes of a feature flag.
archived_atThe timestamp when the feature flag was archived.
created_atThe timestamp when the feature flag was created.
created_byThe ID of the user who created the feature flag.
description [required]The description of the feature flag.
distribution_channelDistribution channel for the feature flag.
feature_flag_environmentsEnvironment-specific settings for the feature flag.
allocationsAllocation metadata for this environment.
default_allocation_keyThe allocation key used for the default variant.
default_variant_idThe ID of the default variant for this environment.
environment_id [required]The ID of the environment.
environment_nameThe name of the environment.
environment_queriesQueries that target this environment.
is_productionIndicates whether the environment is production.
observe_full_evaluation_dataIndicates whether feature flag evaluation events include original targeting identifiers and full evaluation context.
override_allocation_keyThe allocation key used for the override variant.
override_variant_idThe ID of the override variant for this environment.
pending_suggestion_idPending suggestion identifier, if approval is required.
require_feature_flag_approvalIndicates whether feature flag changes require approval in this environment.
status [required]The status of a feature flag in an environment.
ENABLED, DISABLEDis_favoriteIndicates whether the current user has marked the feature flag as a favorite.
json_schemaJSON schema for validation when value_type is JSON.
key [required]The unique key of the feature flag.
last_updated_byThe ID of the user who last updated the feature flag.
name [required]The name of the feature flag.
require_approvalIndicates whether this feature flag requires approval for changes.
staleness_detailsThe feature flag's current staleness state and suggested actions.
code_referencesRepositories and files where the flag is referenced in source code.
filesPaths of files that reference the feature flag in this repository.
repo_urlThe URL of the source code repository, when available.
scm_repository_idThe identifier of the source code repository.
dismissed_byThe ID of the user who dismissed the staleness recommendation.
idThe ID of the feature flag whose staleness state is returned.
recommended_actionsSuggested actions for the flag. The first action is the primary recommendation.
actionThe action to consider. Values include remove_from_code, archive_flag, mark_as_permanent, snooze, and check_sdk_config.
descriptionAn explanation of the suggested action.
skip_state_check_untilTime until which staleness checks are paused for the flag.
stale_reasonWhy the flag is stale or has a manually selected state. Values include FULLY_ROLLED_OUT, NO_EVALUATIONS, NO_ACTIVITY, and USER_SET.
staleness_statusThe current state, such as ACTIVE, STALE, or PERMANENT.
staleness_statusIndicates the whether a feature flag is stale or not.
staleness_status_overrideAn explicit staleness status override. Omitted when no override is set.
STALE, PERMANENTtagsTags associated with the feature flag.
updated_atThe timestamp when the feature flag was last updated.
value_type [required]The type of values for the feature flag variants.
BOOLEAN, INTEGER, NUMERIC, STRING, JSONvariants [required]The variants of the feature flag.
created_atThe timestamp when the variant was created.
id [required]The unique identifier of the variant.
key [required]The unique key of the variant.
name [required]The name of the variant.
updated_atThe timestamp when the variant was last updated.
value [required]The value of the variant as a string.
id [required]The unique identifier of the feature flag.
type [required]The resource type.
feature-flags{
"data": {
"attributes": {
"archived_at": "2023-01-01T00:00:00Z",
"created_at": "2023-01-01T00:00:00Z",
"created_by": "550e8400-e29b-41d4-a716-446655440010",
"description": "This is an example feature flag for demonstration",
"distribution_channel": "ALL",
"feature_flag_environments": [
{
"allocations": {},
"default_allocation_key": "allocation-default-123abc",
"default_variant_id": "550e8400-e29b-41d4-a716-446655440002",
"environment_id": "550e8400-e29b-41d4-a716-446655440001",
"environment_name": "env-search-term",
"environment_queries": [
"test-feature-flag",
"env-search-term"
],
"is_production": false,
"observe_full_evaluation_data": false,
"override_allocation_key": "allocation-override-123abc",
"override_variant_id": "550e8400-e29b-41d4-a716-446655440003",
"pending_suggestion_id": "550e8400-e29b-41d4-a716-446655440099",
"require_feature_flag_approval": false,
"status": "ENABLED"
}
],
"is_favorite": false,
"json_schema": "{\"type\": \"object\", \"properties\": {\"enabled\": {\"type\": \"boolean\"}}}",
"key": "feature-flag-abc123",
"last_updated_by": "550e8400-e29b-41d4-a716-446655440010",
"name": "Feature Flag ABC123",
"require_approval": false,
"staleness_details": {
"code_references": [
{
"files": [
"src/feature_flags.ts"
],
"repo_url": "https://github.com/example/application",
"scm_repository_id": "repository-1"
}
],
"dismissed_by": "550e8400-e29b-41d4-a716-446655440010",
"id": "550e8400-e29b-41d4-a716-446655440000",
"recommended_actions": [
{
"action": "archive_flag",
"description": "Archive the feature flag."
}
],
"skip_state_check_until": "2026-09-30T12:00:00Z",
"stale_reason": "NO_EVALUATIONS",
"staleness_status": "ACTIVE"
},
"staleness_status": "ACTIVE",
"staleness_status_override": "PERMANENT",
"tags": [
[]
],
"updated_at": "2023-01-01T00:00:00Z",
"value_type": "BOOLEAN",
"variants": [
{
"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"
}
]
},
"id": "550e8400-e29b-41d4-a716-446655440000",
"type": "feature-flags"
}
}Bad Request
API error response.
errors [required]A list of errors.
{
"errors": [
"Bad Request"
]
}Forbidden
API error response.
errors [required]A list of errors.
{
"errors": [
"Bad Request"
]
}Conflict
API error response.
errors [required]A list of errors.
{
"errors": [
"Bad Request"
]
}Too many requests
API error response.
errors [required]A list of errors.
{
"errors": [
"Bad Request"
]
}Code Example
# 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 POST "https://api.${DD_SITE}/api/v2/feature-flags" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"type": "feature-flags",
"attributes": {
"default_variant_key": "variant-Example-Feature-Flag-1",
"distribution_channel": "SERVER",
"key": "test-feature-flag-Example-Feature-Flag",
"name": "Test Feature Flag Example-Feature-Flag",
"require_approval": false,
"staleness_status": "PERMANENT",
"tags": [
"env:api-client-test"
],
"value_type": "BOOLEAN",
"variants": [
{
"key": "variant-Example-Feature-Flag-1",
"name": "Variant Example-Feature-Flag A",
"value": "true"
},
{
"key": "variant-Example-Feature-Flag-2",
"name": "Variant Example-Feature-Flag B",
"value": "false"
}
]
}
}
}
EOF# 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 POST "https://api.${DD_SITE}/api/v2/feature-flags" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"type": "feature-flags",
"attributes": {
"default_variant_key": "variant-Example-Feature-Flag-1",
"distribution_channel": "SERVER",
"key": "test-feature-flag-Example-Feature-Flag",
"name": "Test Feature Flag Example-Feature-Flag",
"require_approval": false,
"staleness_status": "PERMANENT",
"tags": [
"env:api-client-test"
],
"value_type": "BOOLEAN",
"variants": [
{
"key": "variant-Example-Feature-Flag-1",
"name": "Variant Example-Feature-Flag A",
"value": "true"
},
{
"key": "variant-Example-Feature-Flag-2",
"name": "Variant Example-Feature-Flag B",
"value": "false"
}
]
}
}
}
EOF# 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 POST "https://api.${DD_SITE}/api/v2/feature-flags" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"type": "feature-flags",
"attributes": {
"default_variant_key": "variant-Example-Feature-Flag-1",
"distribution_channel": "SERVER",
"key": "test-feature-flag-Example-Feature-Flag",
"name": "Test Feature Flag Example-Feature-Flag",
"require_approval": false,
"staleness_status": "PERMANENT",
"tags": [
"env:api-client-test"
],
"value_type": "BOOLEAN",
"variants": [
{
"key": "variant-Example-Feature-Flag-1",
"name": "Variant Example-Feature-Flag A",
"value": "true"
},
{
"key": "variant-Example-Feature-Flag-2",
"name": "Variant Example-Feature-Flag B",
"value": "false"
}
]
}
}
}
EOF# 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 POST "https://api.${DD_SITE}/api/v2/feature-flags" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"type": "feature-flags",
"attributes": {
"default_variant_key": "variant-Example-Feature-Flag-1",
"distribution_channel": "SERVER",
"key": "test-feature-flag-Example-Feature-Flag",
"name": "Test Feature Flag Example-Feature-Flag",
"require_approval": false,
"staleness_status": "PERMANENT",
"tags": [
"env:api-client-test"
],
"value_type": "BOOLEAN",
"variants": [
{
"key": "variant-Example-Feature-Flag-1",
"name": "Variant Example-Feature-Flag A",
"value": "true"
},
{
"key": "variant-Example-Feature-Flag-2",
"name": "Variant Example-Feature-Flag B",
"value": "false"
}
]
}
}
}
EOF# 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 POST "https://api.${DD_SITE}/api/v2/feature-flags" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"type": "feature-flags",
"attributes": {
"default_variant_key": "variant-Example-Feature-Flag-1",
"distribution_channel": "SERVER",
"key": "test-feature-flag-Example-Feature-Flag",
"name": "Test Feature Flag Example-Feature-Flag",
"require_approval": false,
"staleness_status": "PERMANENT",
"tags": [
"env:api-client-test"
],
"value_type": "BOOLEAN",
"variants": [
{
"key": "variant-Example-Feature-Flag-1",
"name": "Variant Example-Feature-Flag A",
"value": "true"
},
{
"key": "variant-Example-Feature-Flag-2",
"name": "Variant Example-Feature-Flag B",
"value": "false"
}
]
}
}
}
EOF# 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 POST "https://api.${DD_SITE}/api/v2/feature-flags" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"type": "feature-flags",
"attributes": {
"default_variant_key": "variant-Example-Feature-Flag-1",
"distribution_channel": "SERVER",
"key": "test-feature-flag-Example-Feature-Flag",
"name": "Test Feature Flag Example-Feature-Flag",
"require_approval": false,
"staleness_status": "PERMANENT",
"tags": [
"env:api-client-test"
],
"value_type": "BOOLEAN",
"variants": [
{
"key": "variant-Example-Feature-Flag-1",
"name": "Variant Example-Feature-Flag A",
"value": "true"
},
{
"key": "variant-Example-Feature-Flag-2",
"name": "Variant Example-Feature-Flag B",
"value": "false"
}
]
}
}
}
EOF# 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 POST "https://api.${DD_SITE}/api/v2/feature-flags" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"type": "feature-flags",
"attributes": {
"default_variant_key": "variant-Example-Feature-Flag-1",
"distribution_channel": "SERVER",
"key": "test-feature-flag-Example-Feature-Flag",
"name": "Test Feature Flag Example-Feature-Flag",
"require_approval": false,
"staleness_status": "PERMANENT",
"tags": [
"env:api-client-test"
],
"value_type": "BOOLEAN",
"variants": [
{
"key": "variant-Example-Feature-Flag-1",
"name": "Variant Example-Feature-Flag A",
"value": "true"
},
{
"key": "variant-Example-Feature-Flag-2",
"name": "Variant Example-Feature-Flag B",
"value": "false"
}
]
}
}
}
EOF# 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 POST "https://api.${DD_SITE}/api/v2/feature-flags" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"type": "feature-flags",
"attributes": {
"default_variant_key": "variant-Example-Feature-Flag-1",
"distribution_channel": "SERVER",
"key": "test-feature-flag-Example-Feature-Flag",
"name": "Test Feature Flag Example-Feature-Flag",
"require_approval": false,
"staleness_status": "PERMANENT",
"tags": [
"env:api-client-test"
],
"value_type": "BOOLEAN",
"variants": [
{
"key": "variant-Example-Feature-Flag-1",
"name": "Variant Example-Feature-Flag A",
"value": "true"
},
{
"key": "variant-Example-Feature-Flag-2",
"name": "Variant Example-Feature-Flag B",
"value": "false"
}
]
}
}
}
EOF# 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 POST "https://api.${DD_SITE}/api/v2/feature-flags" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"type": "feature-flags",
"attributes": {
"default_variant_key": "variant-Example-Feature-Flag-1",
"distribution_channel": "SERVER",
"key": "test-feature-flag-Example-Feature-Flag",
"name": "Test Feature Flag Example-Feature-Flag",
"require_approval": false,
"staleness_status": "PERMANENT",
"tags": [
"env:api-client-test"
],
"value_type": "BOOLEAN",
"variants": [
{
"key": "variant-Example-Feature-Flag-1",
"name": "Variant Example-Feature-Flag A",
"value": "true"
},
{
"key": "variant-Example-Feature-Flag-2",
"name": "Variant Example-Feature-Flag B",
"value": "false"
}
]
}
}
}
EOF// Create a feature flag 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.CreateFeatureFlagRequest{
Data: datadogV2.CreateFeatureFlagData{
Type: datadogV2.CREATEFEATUREFLAGDATATYPE_FEATURE_FLAGS,
Attributes: datadogV2.CreateFeatureFlagAttributes{
DefaultVariantKey: *datadog.NewNullableString(datadog.PtrString("variant-Example-Feature-Flag-1")),
DistributionChannel: datadogV2.FEATUREFLAGDISTRIBUTIONCHANNEL_SERVER.Ptr(),
Key: "test-feature-flag-Example-Feature-Flag",
Name: "Test Feature Flag Example-Feature-Flag",
RequireApproval: datadog.PtrBool(false),
StalenessStatus: datadogV2.CREATEFEATUREFLAGSTALENESSSTATUS_PERMANENT.Ptr(),
Tags: []string{
"env:api-client-test",
},
ValueType: datadogV2.VALUETYPE_BOOLEAN,
Variants: []datadogV2.CreateVariant{
{
Key: "variant-Example-Feature-Flag-1",
Name: "Variant Example-Feature-Flag A",
Value: "true",
},
{
Key: "variant-Example-Feature-Flag-2",
Name: "Variant Example-Feature-Flag B",
Value: "false",
},
},
},
},
}
ctx := datadog.NewDefaultContext(context.Background())
ctx = context.WithValue(ctx, datadog.ContextAccessToken, os.Getenv("DD_BEARER_TOKEN"))
configuration := datadog.NewConfiguration()
apiClient := datadog.NewAPIClient(configuration)
api := datadogV2.NewFeatureFlagsApi(apiClient)
resp, r, err := api.CreateFeatureFlag(ctx, body)
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `FeatureFlagsApi.CreateFeatureFlag`: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
responseContent, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from `FeatureFlagsApi.CreateFeatureFlag`:\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" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"// Create a feature flag returns "Created" 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.CreateFeatureFlagAttributes;
import com.datadog.api.client.v2.model.CreateFeatureFlagData;
import com.datadog.api.client.v2.model.CreateFeatureFlagDataType;
import com.datadog.api.client.v2.model.CreateFeatureFlagRequest;
import com.datadog.api.client.v2.model.CreateFeatureFlagStalenessStatus;
import com.datadog.api.client.v2.model.CreateVariant;
import com.datadog.api.client.v2.model.FeatureFlagDistributionChannel;
import com.datadog.api.client.v2.model.FeatureFlagResponse;
import com.datadog.api.client.v2.model.ValueType;
import java.util.Arrays;
import java.util.Collections;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
defaultClient.setAccessToken(System.getenv("DD_BEARER_TOKEN"));
FeatureFlagsApi apiInstance = new FeatureFlagsApi(defaultClient);
CreateFeatureFlagRequest body =
new CreateFeatureFlagRequest()
.data(
new CreateFeatureFlagData()
.type(CreateFeatureFlagDataType.FEATURE_FLAGS)
.attributes(
new CreateFeatureFlagAttributes()
.defaultVariantKey("variant-Example-Feature-Flag-1")
.distributionChannel(FeatureFlagDistributionChannel.SERVER)
.key("test-feature-flag-Example-Feature-Flag")
.name("Test Feature Flag Example-Feature-Flag")
.requireApproval(false)
.stalenessStatus(CreateFeatureFlagStalenessStatus.PERMANENT)
.tags(Collections.singletonList("env:api-client-test"))
.valueType(ValueType.BOOLEAN)
.variants(
Arrays.asList(
new CreateVariant()
.key("variant-Example-Feature-Flag-1")
.name("Variant Example-Feature-Flag A")
.value("true"),
new CreateVariant()
.key("variant-Example-Feature-Flag-2")
.name("Variant Example-Feature-Flag B")
.value("false")))));
try {
FeatureFlagResponse result = apiInstance.createFeatureFlag(body);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling FeatureFlagsApi#createFeatureFlag");
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" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java""""
Create a feature flag returns "Created" response
"""
from os import environ
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.feature_flags_api import FeatureFlagsApi
from datadog_api_client.v2.model.create_feature_flag_attributes import CreateFeatureFlagAttributes
from datadog_api_client.v2.model.create_feature_flag_data import CreateFeatureFlagData
from datadog_api_client.v2.model.create_feature_flag_data_type import CreateFeatureFlagDataType
from datadog_api_client.v2.model.create_feature_flag_request import CreateFeatureFlagRequest
from datadog_api_client.v2.model.create_feature_flag_staleness_status import CreateFeatureFlagStalenessStatus
from datadog_api_client.v2.model.create_variant import CreateVariant
from datadog_api_client.v2.model.feature_flag_distribution_channel import FeatureFlagDistributionChannel
from datadog_api_client.v2.model.value_type import ValueType
body = CreateFeatureFlagRequest(
data=CreateFeatureFlagData(
type=CreateFeatureFlagDataType.FEATURE_FLAGS,
attributes=CreateFeatureFlagAttributes(
default_variant_key="variant-Example-Feature-Flag-1",
distribution_channel=FeatureFlagDistributionChannel.SERVER,
key="test-feature-flag-Example-Feature-Flag",
name="Test Feature Flag Example-Feature-Flag",
require_approval=False,
staleness_status=CreateFeatureFlagStalenessStatus.PERMANENT,
tags=[
"env:api-client-test",
],
value_type=ValueType.BOOLEAN,
variants=[
CreateVariant(
key="variant-Example-Feature-Flag-1",
name="Variant Example-Feature-Flag A",
value="true",
),
CreateVariant(
key="variant-Example-Feature-Flag-2",
name="Variant Example-Feature-Flag B",
value="false",
),
],
),
),
)
configuration = Configuration()
configuration.access_token = environ["DD_BEARER_TOKEN"]
with ApiClient(configuration) as api_client:
api_instance = FeatureFlagsApi(api_client)
response = api_instance.create_feature_flag(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" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"# Create a feature flag returns "Created" response
require "datadog_api_client"
DatadogAPIClient.configure do |config|
config.access_token = ENV["DD_BEARER_TOKEN"]
end
api_instance = DatadogAPIClient::V2::FeatureFlagsAPI.new
body = DatadogAPIClient::V2::CreateFeatureFlagRequest.new({
data: DatadogAPIClient::V2::CreateFeatureFlagData.new({
type: DatadogAPIClient::V2::CreateFeatureFlagDataType::FEATURE_FLAGS,
attributes: DatadogAPIClient::V2::CreateFeatureFlagAttributes.new({
default_variant_key: "variant-Example-Feature-Flag-1",
distribution_channel: DatadogAPIClient::V2::FeatureFlagDistributionChannel::SERVER,
key: "test-feature-flag-Example-Feature-Flag",
name: "Test Feature Flag Example-Feature-Flag",
require_approval: false,
staleness_status: DatadogAPIClient::V2::CreateFeatureFlagStalenessStatus::PERMANENT,
tags: [
"env:api-client-test",
],
value_type: DatadogAPIClient::V2::ValueType::BOOLEAN,
variants: [
DatadogAPIClient::V2::CreateVariant.new({
key: "variant-Example-Feature-Flag-1",
name: "Variant Example-Feature-Flag A",
value: "true",
}),
DatadogAPIClient::V2::CreateVariant.new({
key: "variant-Example-Feature-Flag-2",
name: "Variant Example-Feature-Flag B",
value: "false",
}),
],
}),
}),
})
p api_instance.create_feature_flag(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" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"// Create a feature flag returns "Created" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_feature_flags::FeatureFlagsAPI;
use datadog_api_client::datadogV2::model::CreateFeatureFlagAttributes;
use datadog_api_client::datadogV2::model::CreateFeatureFlagData;
use datadog_api_client::datadogV2::model::CreateFeatureFlagDataType;
use datadog_api_client::datadogV2::model::CreateFeatureFlagRequest;
use datadog_api_client::datadogV2::model::CreateFeatureFlagStalenessStatus;
use datadog_api_client::datadogV2::model::CreateVariant;
use datadog_api_client::datadogV2::model::FeatureFlagDistributionChannel;
use datadog_api_client::datadogV2::model::ValueType;
#[tokio::main]
async fn main() {
let body = CreateFeatureFlagRequest::new(CreateFeatureFlagData::new(
CreateFeatureFlagAttributes::new(
"test-feature-flag-Example-Feature-Flag".to_string(),
"Test Feature Flag Example-Feature-Flag".to_string(),
ValueType::BOOLEAN,
vec![
CreateVariant::new(
"variant-Example-Feature-Flag-1".to_string(),
"Variant Example-Feature-Flag A".to_string(),
"true".to_string(),
),
CreateVariant::new(
"variant-Example-Feature-Flag-2".to_string(),
"Variant Example-Feature-Flag B".to_string(),
"false".to_string(),
),
],
)
.default_variant_key(Some("variant-Example-Feature-Flag-1".to_string()))
.distribution_channel(FeatureFlagDistributionChannel::SERVER)
.require_approval(false)
.staleness_status(CreateFeatureFlagStalenessStatus::PERMANENT)
.tags(vec!["env:api-client-test".to_string()]),
CreateFeatureFlagDataType::FEATURE_FLAGS,
));
let configuration = datadog::Configuration::new();
let api = FeatureFlagsAPI::with_config(configuration);
let resp = api.create_feature_flag(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" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="us3.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="us5.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="datadoghq.eu" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="ap1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="ap2.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="uk1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="us2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo run/**
* Create a feature flag returns "Created" response
*/
import { client, v2 } from "@datadog/datadog-api-client";
const configuration = client.createConfiguration({
authMethods: {
AuthZ: {
accessToken: process.env.DD_BEARER_TOKEN as string,
},
},
});
const apiInstance = new v2.FeatureFlagsApi(configuration);
const params: v2.FeatureFlagsApiCreateFeatureFlagRequest = {
body: {
data: {
type: "feature-flags",
attributes: {
defaultVariantKey: "variant-Example-Feature-Flag-1",
distributionChannel: "SERVER",
key: "test-feature-flag-Example-Feature-Flag",
name: "Test Feature Flag Example-Feature-Flag",
requireApproval: false,
stalenessStatus: "PERMANENT",
tags: ["env:api-client-test"],
valueType: "BOOLEAN",
variants: [
{
key: "variant-Example-Feature-Flag-1",
name: "Variant Example-Feature-Flag A",
value: "true",
},
{
key: "variant-Example-Feature-Flag-2",
name: "Variant Example-Feature-Flag B",
value: "false",
},
],
},
},
},
};
apiInstance
.createFeatureFlag(params)
.then((data: v2.FeatureFlagResponse) => {
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" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"