2021-12-20 14:28:00 +01:00
---
2021-12-20 14:55:38 +01:00
title: How to add strategy constraints
2021-12-20 14:28:00 +01:00
---
:::info Availability
2022-09-14 09:59:18 +02:00
2022-10-04 14:13:52 +02:00
Before Unleash 4.16, strategy constraints were only available to Unleash Pro and Enterprise users. From 4.16 onwards, they're **available to everyone** .
2022-09-14 09:59:18 +02:00
2021-12-20 14:28:00 +01:00
:::
2024-10-01 11:33:50 +02:00
This guide shows you how to add [strategy constraints ](../reference/strategy-constraints.md ) to your feature flags using the Admin UI. For information on how to interact with strategy constraints from an [Unleash client SDK ](../reference/sdks/index.md ), visit the specific SDK's documentation or see [the relevant section in the strategy constraints documentation ](../reference/strategy-constraints.md#sdks 'strategy constraints documentation, section on interacting with constraints from client SDKs' ).
2021-12-20 14:28:00 +01:00
## Prerequisites
2024-05-24 12:28:49 +02:00
You'll need to have an existing feature flag with a defined strategy to add a constraint. The rest of this guide assumes you have a specific strategy that you're working with.
2021-12-20 14:28:00 +01:00
## Step 1: Open the constraints menu {#step-1}
2022-09-14 09:59:18 +02:00
On the strategy you're working with, find and select the "edit strategy" button.
2021-12-20 14:28:00 +01:00
2024-05-24 12:28:49 +02:00
![A feature flag with one strategy. The "edit strategy" button is highlighted. ](/img/create-toggle-edit-strategy.png )
2021-12-20 14:28:00 +01:00
2022-09-29 11:43:04 +02:00
On the "edit strategy" screen, select the "add constraint" button to open the constraints menu.
2021-12-20 14:28:00 +01:00
2024-05-24 12:28:49 +02:00
![A feature flag strategy view showing a button labeled with add constraints. ](/img/add-constraint.png )
2021-12-20 14:28:00 +01:00
2022-09-14 09:59:18 +02:00
## Step 2: Add and configure the constraint {#step-2}
2021-12-20 14:28:00 +01:00
refactor: move docs into new structure / fix links for SEO (#2416)
## What
This (admittedly massive) PR updates the "physical" documentation
structure and fixes url inconsistencies and SEO problems reported by
marketing. The main points are:
- remove or move directories : advanced, user_guide, deploy, api
- move the files contained within to the appropriate one of topics,
how-to, tutorials, or reference
- update internal doc links and product links to the content
- create client-side redirects for all the urls that have changed.
A number of the files have been renamed in small ways to better match
their url and to make them easier to find. Additionally, the top-level
api directory has been moved to /reference/api/legacy/unleash (see the
discussion points section for more on this).
## Why
When moving our doc structure to diataxis a while back, we left the
"physical' files lying where they were, because it didn't matter much to
the new structure. However, that did introduce some inconsistencies with
where you place docs and how we organize them.
There's also the discrepancies in whether urls us underscores or hyphens
(which isn't necessarily the same as their file name), which has been
annoying me for a while, but now has also been raised by marketing as an
issue in terms of SEO.
## Discussion points
The old, hand-written API docs have been moved from /api to
/reference/api/legacy/unleash. There _is_ a /reference/api/unleash
directory, but this is being populated by the OpenAPI plugin, and mixing
those could only cause trouble. However, I'm unsure about putting
/legacy/ in the title, because the API isn't legacy, the docs are. Maybe
we could use another path? Like /old-docs/ or something? I'd appreciate
some input on this.
2022-11-22 10:05:30 +01:00
Refer to [the _constraint structure_ section of the strategy constraints reference ](../reference/strategy-constraints.md#constraint-structure ) for a thorough explanation of the constraint fields.
2021-12-20 14:28:00 +01:00
refactor: move docs into new structure / fix links for SEO (#2416)
## What
This (admittedly massive) PR updates the "physical" documentation
structure and fixes url inconsistencies and SEO problems reported by
marketing. The main points are:
- remove or move directories : advanced, user_guide, deploy, api
- move the files contained within to the appropriate one of topics,
how-to, tutorials, or reference
- update internal doc links and product links to the content
- create client-side redirects for all the urls that have changed.
A number of the files have been renamed in small ways to better match
their url and to make them easier to find. Additionally, the top-level
api directory has been moved to /reference/api/legacy/unleash (see the
discussion points section for more on this).
## Why
When moving our doc structure to diataxis a while back, we left the
"physical' files lying where they were, because it didn't matter much to
the new structure. However, that did introduce some inconsistencies with
where you place docs and how we organize them.
There's also the discrepancies in whether urls us underscores or hyphens
(which isn't necessarily the same as their file name), which has been
annoying me for a while, but now has also been raised by marketing as an
issue in terms of SEO.
## Discussion points
The old, hand-written API docs have been moved from /api to
/reference/api/legacy/unleash. There _is_ a /reference/api/unleash
directory, but this is being populated by the OpenAPI plugin, and mixing
those could only cause trouble. However, I'm unsure about putting
/legacy/ in the title, because the API isn't legacy, the docs are. Maybe
we could use another path? Like /old-docs/ or something? I'd appreciate
some input on this.
2022-11-22 10:05:30 +01:00
1. From the "Context Field" dropdown, **select the context field** you would like to constrain the strategy on and **choose the [constraint operator](../reference/strategy-constraints.md#strategy-constraint-operators)** you want.
2022-09-14 09:59:18 +02:00
2. **Define the values** to use for this constraint. The operator you selected decides whether you can define one or multiple values and what format they can have.
2023-11-06 10:24:52 +01:00
3. **Save the constraint** first.
2021-12-20 14:28:00 +01:00
2023-11-06 10:24:52 +01:00
![A strategy constraint form with a constraint set to "useid". The "values" input is a text input containing the values "41", "932", "822". ](/img/constraints-add-to-strategy.png )
## Step 3: Save the strategy {#step-3}
2024-05-24 12:28:49 +02:00
![A feature flag strategy view showing a button at the end of the form labeled with save strategy. ](/img/constraints-save-strategy.png )
2021-12-20 14:28:00 +01:00
## How to update existing constraints
2022-09-14 09:59:18 +02:00
To update an existing constraint, find the constraint in the "edit strategy" screen and use the constraint's "edit" button.
2023-11-06 10:24:52 +01:00
2024-05-24 12:28:49 +02:00
![A strategy form showing an existing constraint with existing values and 2 buttons, the "edit" button is highlighted. ](/img/constraints-edit.png )