---
title: "Set environment-default strategy"
method: POST
path: "/api/admin/projects/{projectId}/environments/{environment}/default-strategy"
tags: ["Projects"]
---

# Set environment-default strategy

`POST /api/admin/projects/{projectId}/environments/{environment}/default-strategy`

Sets a default strategy for this environment. Unleash will use this strategy by default when enabling a feature flag. Use the wild card "*" for `:environment` to add to all environments.

## Path parameters

- `projectId` string, required
- `environment` string, required

## Request body

- CreateFeatureStrategySchema — Create a strategy configuration in a feature
  - `name` string, required — The name of the strategy type
  - `title` string, nullable — A descriptive title for the strategy
  - `disabled` boolean, nullable — A toggle to disable the strategy. defaults to false. Disabled strategies are not evaluated or returned to the SDKs
  - `sortOrder` number — The order of the strategy in the list
  - `constraints` ConstraintSchema[] — A list of the constraints attached to the strategy. See https://docs.getunleash.io/concepts/activation-strategies#constraints
    - `contextName` string, required — The name of the context field that this constraint should apply to.
    - `operator` 'NOT_IN' | 'IN' | 'STR_ENDS_WITH' | 'STR_STARTS_WITH' | 'STR_CONTAINS' | 'NUM_EQ' | 'NUM_GT' | 'NUM_GTE' | 'NUM_LT' | 'NUM_LTE' | 'DATE_AFTER' | 'DATE_BEFORE' | 'SEMVER_EQ' | 'SEMVER_GT' | 'SEMVER_LT' | 'SEMVER_GTE' | 'SEMVER_LTE' | 'REGEX', required — The operator to use when evaluating this constraint. For more information about the various operators, refer to [the strategy constraint operator documentation](https://docs.getunleash.io/concepts/activation-strategies#constraint-operators).
    - `caseInsensitive` boolean — Whether the operator should be case sensitive or not. Defaults to `false` (being case sensitive).
    - `inverted` boolean — Whether the result should be negated or not. If `true`, will turn a `true` result into a `false` result and vice versa.
    - `values` string[] — The context values that should be used for constraint evaluation. Use this property instead of `value` for properties that accept multiple values.
    - `value` string — The context value that should be used for constraint evaluation. Use this property instead of `values` for properties that only accept single values.
  - `variants` CreateStrategyVariantSchema[] — Strategy level variants
    - `name` string, required — The variant name. Must be unique for this feature flag
    - `weight` integer, required — The weight is the likelihood of any one user getting this variant. It is an integer between 0 and 1000. See the section on [variant weights](https://docs.getunleash.io/concepts/feature-flag-variants#variant-weight) for more information
    - `weightType` 'variable' | 'fix', required — Set to `fix` if this variant must have exactly the weight allocated to it. If the type is `variable`, the weight will adjust so that the total weight of all variants adds up to 1000. Refer to the [variant weight documentation](https://docs.getunleash.io/concepts/feature-flag-variants#variant-weight).
    - `stickiness` string, required — The [stickiness](https://docs.getunleash.io/concepts/feature-flag-variants#variant-stickiness) to use for distribution of this variant. Stickiness is how Unleash guarantees that the same user gets the same variant every time
    - `payload` object — Extra data configured for this variant
      - `type` 'json' | 'csv' | 'string' | 'number', required — The type of the value. Commonly used types are string, number, json and csv.
      - `value` string, required — The actual value of payload
  - `parameters` ParametersSchema — A list of parameters for a strategy
  - `segments` number[] — Ids of segments to use for this strategy

## Response `200`

createFeatureStrategySchema

- CreateFeatureStrategySchema — Create a strategy configuration in a feature
  - `name` string, required — The name of the strategy type
  - `title` string, nullable — A descriptive title for the strategy
  - `disabled` boolean, nullable — A toggle to disable the strategy. defaults to false. Disabled strategies are not evaluated or returned to the SDKs
  - `sortOrder` number — The order of the strategy in the list
  - `constraints` ConstraintSchema[] — A list of the constraints attached to the strategy. See https://docs.getunleash.io/concepts/activation-strategies#constraints
    - `contextName` string, required — The name of the context field that this constraint should apply to.
    - `operator` 'NOT_IN' | 'IN' | 'STR_ENDS_WITH' | 'STR_STARTS_WITH' | 'STR_CONTAINS' | 'NUM_EQ' | 'NUM_GT' | 'NUM_GTE' | 'NUM_LT' | 'NUM_LTE' | 'DATE_AFTER' | 'DATE_BEFORE' | 'SEMVER_EQ' | 'SEMVER_GT' | 'SEMVER_LT' | 'SEMVER_GTE' | 'SEMVER_LTE' | 'REGEX', required — The operator to use when evaluating this constraint. For more information about the various operators, refer to [the strategy constraint operator documentation](https://docs.getunleash.io/concepts/activation-strategies#constraint-operators).
    - `caseInsensitive` boolean — Whether the operator should be case sensitive or not. Defaults to `false` (being case sensitive).
    - `inverted` boolean — Whether the result should be negated or not. If `true`, will turn a `true` result into a `false` result and vice versa.
    - `values` string[] — The context values that should be used for constraint evaluation. Use this property instead of `value` for properties that accept multiple values.
    - `value` string — The context value that should be used for constraint evaluation. Use this property instead of `values` for properties that only accept single values.
  - `variants` CreateStrategyVariantSchema[] — Strategy level variants
    - `name` string, required — The variant name. Must be unique for this feature flag
    - `weight` integer, required — The weight is the likelihood of any one user getting this variant. It is an integer between 0 and 1000. See the section on [variant weights](https://docs.getunleash.io/concepts/feature-flag-variants#variant-weight) for more information
    - `weightType` 'variable' | 'fix', required — Set to `fix` if this variant must have exactly the weight allocated to it. If the type is `variable`, the weight will adjust so that the total weight of all variants adds up to 1000. Refer to the [variant weight documentation](https://docs.getunleash.io/concepts/feature-flag-variants#variant-weight).
    - `stickiness` string, required — The [stickiness](https://docs.getunleash.io/concepts/feature-flag-variants#variant-stickiness) to use for distribution of this variant. Stickiness is how Unleash guarantees that the same user gets the same variant every time
    - `payload` object — Extra data configured for this variant
      - `type` 'json' | 'csv' | 'string' | 'number', required — The type of the value. Commonly used types are string, number, json and csv.
      - `value` string, required — The actual value of payload
  - `parameters` ParametersSchema — A list of parameters for a strategy
  - `segments` number[] — Ids of segments to use for this strategy

## Other responses

- `400` — The request data does not match what we expect.

---

[API](https://skmtc.net/unleash/apis/unleash-api-3.md) · [All operations](https://skmtc.net/unleash/apis/unleash-api-3/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/unleash/unleash-api-3/versions/b2c3116e633e/schema)
