For the complete documentation index, see llms.txt. This page is also available as Markdown.

Add Targeting Rules to an Existing Feature Flag

Learn how to add targeting rules to an existing feature flag using the Admin API.

Overview

Use this script to add targeting rules to an existing feature flag.

Prerequisites

Configuration

Before running the script, update the following variables in the code:

  • ADMIN API KEY: Your Split Admin API key.

  • workspaceName: The name of the workspace. If you only have one workspace, use the Default workspace.

  • environmentName: The name of the environment.

  • splitName: The name of the feature flag.

Run this script using Python 3 from your local machine or preferred development environment. This example adds two targeting rules.

from splitapiclient.main import get_client

############################################
workspaceName = "Default"
environmentName = "Production"
splitName = "clients_on"
############################################

client = get_client({'apikey': 'ADMIN API KEY'})
ws = client.workspaces.find(workspaceName)
env = client.environments.find(environmentName, ws.id)
splitDef = client.split_definitions.find(splitName, env.id, ws.id)

trs = []
for tr in splitDef._treatments:
    trs.append(tr.export_dict())
rls = []
for rl in splitDef._rules:
    rls.append(rl.export_dict()) 
drls = []
for drl in splitDef._default_rule:
    drls.append(drl.export_dict())
rls.append({"buckets": [{"treatment": "on","size": 100}],"condition": {"matchers": [{"attribute":"userGroup", "type": "MATCHES_STRING","string": "employees"}], "combiner": "AND"}})
splitDefinition = {"treatments": trs,"defaultTreatment": splitDef._default_treatment, "rules": rls, "defaultRule": drls}
splitDef.update_definition(splitDefinition)

Last updated

Was this helpful?