v7

latestOpenAPI 3.0.3raw.githubusercontent.com2026-08-013764062.2 MB
Features

Create (overwrite) variants for a feature in an environment

This overwrites the current variants for the feature flag in the :featureName parameter for the :environment parameter.

The backend will validate the input for the following invariants:

  • If there are variants, there needs to be at least one variant with weightType: variable

  • The sum of the weights of variants with weightType: fix must be strictly less than 1000 (< 1000)

The backend will also distribute remaining weight up to 1000 after adding the variants with weightType: fix together amongst the variants of weightType: variable

put/api/admin/projects/{projectId}/features/{featureName}/environments/{environment}/variants

Path parameters

projectIdstring required
featureNamestring required
environmentstring required

Request body

namestring required

The variants name. Is unique for this feature flag

weightnumber required

The weight is the likelihood of any one user getting this variant. It is a number between 0 and 1000. See the section on variant weights for more information

weightType'variable' | 'fix'

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

stickinessstring

Stickiness is how Unleash guarantees that the same user gets the same variant every time

Example request

[
  {
    "name": "blue_group",
    "weightType": "variable",
    "stickiness": "custom.context.field",
    "payload": {
      "type": "json",
      "value": "{\"color\": \"red\"}"
    },
    "overrides": [
      {
        "contextName": "userId",
        "values": [
          "red",
          "blue"
        ]
      }
    ]
  }
]

Response

featureVariantsSchema

versioninteger required

The version of the feature variants schema.

Example response

{
  "version": 1,
  "variants": [
    {
      "name": "blue_group",
      "weightType": "variable",
      "stickiness": "custom.context.field",
      "payload": {
        "type": "json",
        "value": "{\"color\": \"red\"}"
      },
      "overrides": [
        {
          "contextName": "userId",
          "values": [
            "red",
            "blue"
          ]
        }
      ]
    }
  ]
}