For AI agents: A markdown version of this page is available at https://dnd37xeb23o8n.cloudfront.net/stefon.simmons/docs-astro-web-10435/fr/api/latest/feature-flags/update-targeting-rules-for-a-flag.md. A documentation index is available at /llms.txt.
Language
Datadog site

Update targeting rules for a flag

PUThttps://api.datadoghq.com/api/v2/feature-flags/{feature_flag_id}/environments/{environment_id}/allocationshttps://api.us3.datadoghq.com/api/v2/feature-flags/{feature_flag_id}/environments/{environment_id}/allocationshttps://api.us5.datadoghq.com/api/v2/feature-flags/{feature_flag_id}/environments/{environment_id}/allocationshttps://api.datadoghq.eu/api/v2/feature-flags/{feature_flag_id}/environments/{environment_id}/allocationshttps://api.ap1.datadoghq.com/api/v2/feature-flags/{feature_flag_id}/environments/{environment_id}/allocationshttps://api.ap2.datadoghq.com/api/v2/feature-flags/{feature_flag_id}/environments/{environment_id}/allocationshttps://api.uk1.datadoghq.com/api/v2/feature-flags/{feature_flag_id}/environments/{environment_id}/allocationshttps://api.ddog-gov.com/api/v2/feature-flags/{feature_flag_id}/environments/{environment_id}/allocationshttps://api.us2.ddog-gov.com/api/v2/feature-flags/{feature_flag_id}/environments/{environment_id}/allocations

Présentation

Updates targeting rules (allocations) for a specific feature flag in a specific environment. This operation replaces the existing allocation set with the request payload.

This endpoint requires the feature_flag_config_write permission.

OAuth apps require the feature_flag_config_write authorization scope to access this endpoint.

Arguments

Paramètres du chemin

Name
Type
Description
feature_flag_id [required]
string

The ID of the feature flag.

environment_id [required]
string

The ID of the environment.

Requête

Body Data (required)

Champ
Type
Description
data [required]
[object]

Targeting rules (allocations) to replace existing ones with.

Réponse

OK

Response containing a list of targeting rules (allocations).

Champ
Type
Description
data [required]
[object]

List of targeting rules (allocations).

Exemple de code

Update targeting rules for a flag in an environment returns "OK" response
# Path parameters
export feature_flag_id="550e8400-e29b-41d4-a716-446655440000"
export environment_id="550e8400-e29b-41d4-a716-446655440001"

# 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/feature-flags/${feature_flag_id}/environments/${environment_id}/allocations" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
  "data": [
    {
      "type": "allocations",
      "attributes": {
        "key": "overwrite-allocation-example-feature-flag",
        "name": "New targeting rule Example-Feature-Flag",
        "targeting_rules": [],
        "variant_weights": [
          {
            "variant_id": "550e8400-e29b-41d4-a716-446655440002",
            "value": 100
          }
        ],
        "exposure_schedule": {
          "rollout_options": {
            "strategy": "UNIFORM_INTERVALS",
            "autostart": false,
            "selection_interval_ms": 86400000
          },
          "rollout_steps": [
            {
              "exposure_ratio": 0.05,
              "interval_ms": null,
              "is_pause_record": false,
              "grouped_step_index": 0
            },
            {
              "exposure_ratio": 0.25,
              "interval_ms": null,
              "is_pause_record": false,
              "grouped_step_index": 1
            },
            {
              "exposure_ratio": 1,
              "interval_ms": null,
              "is_pause_record": false,
              "grouped_step_index": 2
            }
          ]
        },
        "guardrail_metrics": [],
        "type": "CANARY"
      }
    }
  ]
}
EOF
# Path parameters
export feature_flag_id="550e8400-e29b-41d4-a716-446655440000"
export environment_id="550e8400-e29b-41d4-a716-446655440001"

# 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/feature-flags/${feature_flag_id}/environments/${environment_id}/allocations" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
  "data": [
    {
      "type": "allocations",
      "attributes": {
        "key": "overwrite-allocation-example-feature-flag",
        "name": "New targeting rule Example-Feature-Flag",
        "targeting_rules": [],
        "variant_weights": [
          {
            "variant_id": "550e8400-e29b-41d4-a716-446655440002",
            "value": 100
          }
        ],
        "exposure_schedule": {
          "rollout_options": {
            "strategy": "UNIFORM_INTERVALS",
            "autostart": false,
            "selection_interval_ms": 86400000
          },
          "rollout_steps": [
            {
              "exposure_ratio": 0.05,
              "interval_ms": null,
              "is_pause_record": false,
              "grouped_step_index": 0
            },
            {
              "exposure_ratio": 0.25,
              "interval_ms": null,
              "is_pause_record": false,
              "grouped_step_index": 1
            },
            {
              "exposure_ratio": 1,
              "interval_ms": null,
              "is_pause_record": false,
              "grouped_step_index": 2
            }
          ]
        },
        "guardrail_metrics": [],
        "type": "CANARY"
      }
    }
  ]
}
EOF
# Path parameters
export feature_flag_id="550e8400-e29b-41d4-a716-446655440000"
export environment_id="550e8400-e29b-41d4-a716-446655440001"

# 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/feature-flags/${feature_flag_id}/environments/${environment_id}/allocations" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
  "data": [
    {
      "type": "allocations",
      "attributes": {
        "key": "overwrite-allocation-example-feature-flag",
        "name": "New targeting rule Example-Feature-Flag",
        "targeting_rules": [],
        "variant_weights": [
          {
            "variant_id": "550e8400-e29b-41d4-a716-446655440002",
            "value": 100
          }
        ],
        "exposure_schedule": {
          "rollout_options": {
            "strategy": "UNIFORM_INTERVALS",
            "autostart": false,
            "selection_interval_ms": 86400000
          },
          "rollout_steps": [
            {
              "exposure_ratio": 0.05,
              "interval_ms": null,
              "is_pause_record": false,
              "grouped_step_index": 0
            },
            {
              "exposure_ratio": 0.25,
              "interval_ms": null,
              "is_pause_record": false,
              "grouped_step_index": 1
            },
            {
              "exposure_ratio": 1,
              "interval_ms": null,
              "is_pause_record": false,
              "grouped_step_index": 2
            }
          ]
        },
        "guardrail_metrics": [],
        "type": "CANARY"
      }
    }
  ]
}
EOF
# Path parameters
export feature_flag_id="550e8400-e29b-41d4-a716-446655440000"
export environment_id="550e8400-e29b-41d4-a716-446655440001"

# 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/feature-flags/${feature_flag_id}/environments/${environment_id}/allocations" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
  "data": [
    {
      "type": "allocations",
      "attributes": {
        "key": "overwrite-allocation-example-feature-flag",
        "name": "New targeting rule Example-Feature-Flag",
        "targeting_rules": [],
        "variant_weights": [
          {
            "variant_id": "550e8400-e29b-41d4-a716-446655440002",
            "value": 100
          }
        ],
        "exposure_schedule": {
          "rollout_options": {
            "strategy": "UNIFORM_INTERVALS",
            "autostart": false,
            "selection_interval_ms": 86400000
          },
          "rollout_steps": [
            {
              "exposure_ratio": 0.05,
              "interval_ms": null,
              "is_pause_record": false,
              "grouped_step_index": 0
            },
            {
              "exposure_ratio": 0.25,
              "interval_ms": null,
              "is_pause_record": false,
              "grouped_step_index": 1
            },
            {
              "exposure_ratio": 1,
              "interval_ms": null,
              "is_pause_record": false,
              "grouped_step_index": 2
            }
          ]
        },
        "guardrail_metrics": [],
        "type": "CANARY"
      }
    }
  ]
}
EOF
# Path parameters
export feature_flag_id="550e8400-e29b-41d4-a716-446655440000"
export environment_id="550e8400-e29b-41d4-a716-446655440001"

# 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/feature-flags/${feature_flag_id}/environments/${environment_id}/allocations" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
  "data": [
    {
      "type": "allocations",
      "attributes": {
        "key": "overwrite-allocation-example-feature-flag",
        "name": "New targeting rule Example-Feature-Flag",
        "targeting_rules": [],
        "variant_weights": [
          {
            "variant_id": "550e8400-e29b-41d4-a716-446655440002",
            "value": 100
          }
        ],
        "exposure_schedule": {
          "rollout_options": {
            "strategy": "UNIFORM_INTERVALS",
            "autostart": false,
            "selection_interval_ms": 86400000
          },
          "rollout_steps": [
            {
              "exposure_ratio": 0.05,
              "interval_ms": null,
              "is_pause_record": false,
              "grouped_step_index": 0
            },
            {
              "exposure_ratio": 0.25,
              "interval_ms": null,
              "is_pause_record": false,
              "grouped_step_index": 1
            },
            {
              "exposure_ratio": 1,
              "interval_ms": null,
              "is_pause_record": false,
              "grouped_step_index": 2
            }
          ]
        },
        "guardrail_metrics": [],
        "type": "CANARY"
      }
    }
  ]
}
EOF
# Path parameters
export feature_flag_id="550e8400-e29b-41d4-a716-446655440000"
export environment_id="550e8400-e29b-41d4-a716-446655440001"

# 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/feature-flags/${feature_flag_id}/environments/${environment_id}/allocations" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
  "data": [
    {
      "type": "allocations",
      "attributes": {
        "key": "overwrite-allocation-example-feature-flag",
        "name": "New targeting rule Example-Feature-Flag",
        "targeting_rules": [],
        "variant_weights": [
          {
            "variant_id": "550e8400-e29b-41d4-a716-446655440002",
            "value": 100
          }
        ],
        "exposure_schedule": {
          "rollout_options": {
            "strategy": "UNIFORM_INTERVALS",
            "autostart": false,
            "selection_interval_ms": 86400000
          },
          "rollout_steps": [
            {
              "exposure_ratio": 0.05,
              "interval_ms": null,
              "is_pause_record": false,
              "grouped_step_index": 0
            },
            {
              "exposure_ratio": 0.25,
              "interval_ms": null,
              "is_pause_record": false,
              "grouped_step_index": 1
            },
            {
              "exposure_ratio": 1,
              "interval_ms": null,
              "is_pause_record": false,
              "grouped_step_index": 2
            }
          ]
        },
        "guardrail_metrics": [],
        "type": "CANARY"
      }
    }
  ]
}
EOF
# Path parameters
export feature_flag_id="550e8400-e29b-41d4-a716-446655440000"
export environment_id="550e8400-e29b-41d4-a716-446655440001"

# 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/feature-flags/${feature_flag_id}/environments/${environment_id}/allocations" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
  "data": [
    {
      "type": "allocations",
      "attributes": {
        "key": "overwrite-allocation-example-feature-flag",
        "name": "New targeting rule Example-Feature-Flag",
        "targeting_rules": [],
        "variant_weights": [
          {
            "variant_id": "550e8400-e29b-41d4-a716-446655440002",
            "value": 100
          }
        ],
        "exposure_schedule": {
          "rollout_options": {
            "strategy": "UNIFORM_INTERVALS",
            "autostart": false,
            "selection_interval_ms": 86400000
          },
          "rollout_steps": [
            {
              "exposure_ratio": 0.05,
              "interval_ms": null,
              "is_pause_record": false,
              "grouped_step_index": 0
            },
            {
              "exposure_ratio": 0.25,
              "interval_ms": null,
              "is_pause_record": false,
              "grouped_step_index": 1
            },
            {
              "exposure_ratio": 1,
              "interval_ms": null,
              "is_pause_record": false,
              "grouped_step_index": 2
            }
          ]
        },
        "guardrail_metrics": [],
        "type": "CANARY"
      }
    }
  ]
}
EOF
# Path parameters
export feature_flag_id="550e8400-e29b-41d4-a716-446655440000"
export environment_id="550e8400-e29b-41d4-a716-446655440001"

# 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/feature-flags/${feature_flag_id}/environments/${environment_id}/allocations" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
  "data": [
    {
      "type": "allocations",
      "attributes": {
        "key": "overwrite-allocation-example-feature-flag",
        "name": "New targeting rule Example-Feature-Flag",
        "targeting_rules": [],
        "variant_weights": [
          {
            "variant_id": "550e8400-e29b-41d4-a716-446655440002",
            "value": 100
          }
        ],
        "exposure_schedule": {
          "rollout_options": {
            "strategy": "UNIFORM_INTERVALS",
            "autostart": false,
            "selection_interval_ms": 86400000
          },
          "rollout_steps": [
            {
              "exposure_ratio": 0.05,
              "interval_ms": null,
              "is_pause_record": false,
              "grouped_step_index": 0
            },
            {
              "exposure_ratio": 0.25,
              "interval_ms": null,
              "is_pause_record": false,
              "grouped_step_index": 1
            },
            {
              "exposure_ratio": 1,
              "interval_ms": null,
              "is_pause_record": false,
              "grouped_step_index": 2
            }
          ]
        },
        "guardrail_metrics": [],
        "type": "CANARY"
      }
    }
  ]
}
EOF
# Path parameters
export feature_flag_id="550e8400-e29b-41d4-a716-446655440000"
export environment_id="550e8400-e29b-41d4-a716-446655440001"

# 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/feature-flags/${feature_flag_id}/environments/${environment_id}/allocations" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
  "data": [
    {
      "type": "allocations",
      "attributes": {
        "key": "overwrite-allocation-example-feature-flag",
        "name": "New targeting rule Example-Feature-Flag",
        "targeting_rules": [],
        "variant_weights": [
          {
            "variant_id": "550e8400-e29b-41d4-a716-446655440002",
            "value": 100
          }
        ],
        "exposure_schedule": {
          "rollout_options": {
            "strategy": "UNIFORM_INTERVALS",
            "autostart": false,
            "selection_interval_ms": 86400000
          },
          "rollout_steps": [
            {
              "exposure_ratio": 0.05,
              "interval_ms": null,
              "is_pause_record": false,
              "grouped_step_index": 0
            },
            {
              "exposure_ratio": 0.25,
              "interval_ms": null,
              "is_pause_record": false,
              "grouped_step_index": 1
            },
            {
              "exposure_ratio": 1,
              "interval_ms": null,
              "is_pause_record": false,
              "grouped_step_index": 2
            }
          ]
        },
        "guardrail_metrics": [],
        "type": "CANARY"
      }
    }
  ]
}
EOF