No results for ""
EXPAND ALL
  • Home
  • API docs

Flag prerequisites

Read time: 2 minutes
Last edited: Jun 25, 2024
Flag prerequisites is an Enterprise feature

Flag prerequisites is available to customers on an Enterprise plan. To learn more, read about our pricing. To upgrade your plan, contact Sales.

Overview

This topic explains how to use feature flag prerequisites to enable or disable features based on different states.

Prerequisites allow you to control feature dependencies in LaunchDarkly. You can make flags depend on other flags being enabled to take effect.

Prerequisite and dependent flags

To meet a prerequisite, the prerequisite flag must be On, and the context must be receiving the variation of the prerequisite flag that you specify. If the prerequisite is met, the dependent flag's targeting rules are evaluated. If the prerequisite is not met, the dependent flag serves the "If targeting is off, serve" variation.

In the following example, the prerequisite is met when the prerequisite flag is On and the target is receiving the "Enabled" variation of the prerequisite flag:

The "Prerequisites" section on a dependent flag.
The "Prerequisites" section on a dependent flag.
Prerequisite flags must be on

To meet a prerequisite, the prerequisite flag must be On. LaunchDarkly considers the prerequisite unmet if the prerequisite flag is Off, no matter what variation of the prerequisite flag the target is receiving.

For example, if a prerequisite flag serves "false" when targeting is Off, even if the variation specified in the prerequisite section is "false," LaunchDarkly still considers the prerequisite unmet when the flag is Off.

Behavior when prerequisites are unmet

If the prerequisite flag is Off, or if the context isn't receiving the specified variation of the prerequisite flag, the context will receive the "If targeting is off, serve" variation of the dependent flag.

Multiple prerequisite flags

Flags can be dependent on multiple prerequisite flags. If a dependent flag has multiple prerequisite flags, then all of the prerequisite flag requirements must be met for LaunchDarkly to evaluate the dependent flag for a context.

A prerequisite flag displays any dependent flags on its targeting page:

The dependent flag section of a flag.
The dependent flag section of a flag.

LaunchDarkly automatically prevents you from saving changes that would introduce circular dependencies between prerequisites. For example, you cannot make Flag A a prerequisite of Flag B and also make Flag B a prerequisite of Flag A.

Deleting flags with dependents

You cannot delete a flag that is a prerequisite for other flags. You must remove the dependency before you can delete the prerequisite flag.