Create (overwrite) variants for a feature in an environment
PUT<your-unleash-url>/api/admin/projects/:projectId/features/:featureName/environments/:environment/variants
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
Request
Responses
- 200
- 400
- 401
- 403
featureVariantsSchema
The request data does not match what we expect.
Authorization information is missing or invalid. Provide a valid API token as the authorization
header, e.g. authorization:*.*.my-admin-token
.
The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation
Authorization: Authorization
name: Authorizationtype: apiKeyin: headerdescription: API key needed to access this API
- curl
- python
- go
- nodejs
- ruby
- csharp
- php
- java
- powershell
- CURL
curl -L -X PUT '<your-unleash-url>/api/admin/projects/:projectId/features/:featureName/environments/:environment/variants' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: <Authorization>' \
-d '[
{
"name": "blue_group",
"weight": 0,
"weightType": "variable",
"stickiness": "custom.context.field",
"payload": {
"type": "json",
"value": "{\"color\": \"red\"}"
},
"overrides": [
{
"contextName": "userId",
"values": [
"red",
"blue"
]
}
]
}
]'
ResponseClear