v1

latestOpenAPI 3.0.02026-07-141,4077,1665.2 MB
Feature Flags

Update targeting rules for a flag

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

put/api/v2/feature-flags/{feature_flag_id}/environments/{environment_id}/allocations

Path parameters

feature_flag_idstring uuid required
Example:550e8400-e29b-41d4-a716-446655440000

The ID of the feature flag.

environment_idstring uuid required
Example:550e8400-e29b-41d4-a716-446655440001

The ID of the environment.

Request body

Example request

{
  "data": [
    {
      "attributes": {
        "experiment_id": "550e8400-e29b-41d4-a716-446655440030",
        "exposure_schedule": {
          "absolute_start_time": "2025-06-13T12:00:00Z",
          "control_variant_id": "550e8400-e29b-41d4-a716-446655440012",
          "control_variant_key": "control",
          "id": "550e8400-e29b-41d4-a716-446655440010",
          "rollout_options": {
            "selection_interval_ms": 3600000,
            "strategy": "UNIFORM_INTERVALS"
          },
          "rollout_steps": [
            {
              "exposure_ratio": 0.5,
              "grouped_step_index": 1,
              "id": "550e8400-e29b-41d4-a716-446655440040",
              "interval_ms": 3600000
            }
          ]
        },
        "guardrail_metrics": [
          {
            "metric_id": "metric-error-rate",
            "trigger_action": "PAUSE"
          }
        ],
        "id": "550e8400-e29b-41d4-a716-446655440020",
        "key": "prod-rollout",
        "name": "Production Rollout",
        "targeting_rules": [
          {
            "conditions": [
              {
                "attribute": "user_tier",
                "operator": "ONE_OF",
                "saved_filter_id": "550e8400-e29b-41d4-a716-446655440090",
                "value": [
                  "premium",
                  "enterprise"
                ]
              }
            ]
          }
        ],
        "type": "FEATURE_GATE",
        "variant_weights": [
          {
            "value": 50,
            "variant_id": "550e8400-e29b-41d4-a716-446655440001",
            "variant_key": "control"
          }
        ]
      },
      "type": "allocations"
    }
  ]
}

Response

OK

Example response

{
  "data": [
    {
      "attributes": {
        "created_at": "2024-01-01T12:00:00Z",
        "environment_ids": [
          "550e8400-e29b-41d4-a716-446655440001"
        ],
        "experiment_id": "550e8400-e29b-41d4-a716-446655440030",
        "exposure_schedule": {
          "absolute_start_time": "2025-06-13T12:00:00Z",
          "allocation_id": "550e8400-e29b-41d4-a716-446655440020",
          "control_variant_id": "550e8400-e29b-41d4-a716-446655440012",
          "created_at": "2024-01-01T12:00:00Z",
          "guardrail_triggered_action": "PAUSE",
          "guardrail_triggers": [
            {
              "allocation_exposure_schedule_id": "550e8400-e29b-41d4-a716-446655440010",
              "created_at": "2024-01-01T12:00:00Z",
              "flagging_variant_id": "550e8400-e29b-41d4-a716-446655440001",
              "id": "550e8400-e29b-41d4-a716-446655440080",
              "metric_id": "metric-error-rate",
              "triggered_action": "PAUSE",
              "updated_at": "2024-01-01T12:00:00Z"
            }
          ],
          "id": "550e8400-e29b-41d4-a716-446655440010",
          "rollout_options": {
            "selection_interval_ms": 3600000,
            "strategy": "UNIFORM_INTERVALS"
          },
          "rollout_steps": [
            {
              "allocation_exposure_schedule_id": "550e8400-e29b-41d4-a716-446655440010",
              "created_at": "2024-01-01T12:00:00Z",
              "exposure_ratio": 0.1,
              "id": "550e8400-e29b-41d4-a716-446655440040",
              "interval_ms": 3600000,
              "updated_at": "2024-01-01T12:00:00Z"
            }
          ],
          "updated_at": "2024-01-01T12:00:00Z"
        },
        "guardrail_metrics": [
          {
            "metric_id": "metric-error-rate",
            "trigger_action": "PAUSE",
            "triggered_by": "guardrail_monitor"
          }
        ],
        "id": "550e8400-e29b-41d4-a716-446655440020",
        "key": "prod-rollout",
        "name": "Production Rollout",
        "targeting_rules": [
          {
            "conditions": [
              {
                "attribute": "country",
                "created_at": "2024-01-01T12:00:00Z",
                "id": "550e8400-e29b-41d4-a716-446655440070",
                "operator": "ONE_OF",
                "saved_filter_id": "550e8400-e29b-41d4-a716-446655440090",
                "updated_at": "2024-01-01T12:00:00Z",
                "value": [
                  "US",
                  "CA"
                ]
              }
            ],
            "created_at": "2024-01-01T12:00:00Z",
            "id": "550e8400-e29b-41d4-a716-446655440060",
            "updated_at": "2024-01-01T12:00:00Z"
          }
        ],
        "type": "FEATURE_GATE",
        "updated_at": "2024-01-01T12:00:00Z",
        "variant_weights": [
          {
            "created_at": "2024-01-01T12:00:00Z",
            "id": "59061199-e2ff-46e9-8b40-2193e3b21687",
            "updated_at": "2024-01-01T12:00:00Z",
            "value": 50,
            "variant": {
              "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"
            },
            "variant_id": "550e8400-e29b-41d4-a716-446655440001"
          }
        ]
      },
      "id": "550e8400-e29b-41d4-a716-446655440020",
      "type": "allocations"
    }
  ]
}