Add a strategy to a feature flag
POST<your-unleash-url>/api/admin/projects/:projectId/features/:featureName/environments/:environment/strategies
Add a strategy to a feature flag in the specified environment.
Request
Path Parameters
- application/json
Bodyrequired
The name of the strategy type
flexibleRollout
A descriptive title for the strategy
Gradual Rollout 25-Prod
A toggle to disable the strategy. defaults to false. Disabled strategies are not evaluated or returned to the SDKs
false
The order of the strategy in the list
9999
constraints object[]
variants object[]
parameters object
Ids of segments to use for this strategy
[1,2]
Responses
- 200
- 401
- 403
- 404
- application/json
- Schema
- Example (auto)
Schema
A uuid for the feature strategy
6b5157cb-343a-41e7-bfa3-7b4ec3044840
The name or type of strategy
flexibleRollout
A descriptive title for the strategy
Gradual Rollout 25-Prod
A toggle to disable the strategy. defaults to false. Disabled strategies are not evaluated or returned to the SDKs
false
The name or feature the strategy is attached to
myAwesomeFeature
The order of the strategy in the list
9999
A list of segment ids attached to the strategy
[1,2]
constraints object[]
variants object[]
parameters object
{
"id": "6b5157cb-343a-41e7-bfa3-7b4ec3044840",
"name": "flexibleRollout",
"title": "Gradual Rollout 25-Prod",
"disabled": false,
"featureName": "myAwesomeFeature",
"sortOrder": 9999,
"segments": [
1,
2
],
"constraints": [
{
"contextName": "appName",
"operator": "IN",
"caseInsensitive": false,
"inverted": false,
"values": [
"my-app",
"my-other-app"
],
"value": "my-app"
}
],
"variants": [
{
"name": "blue_group",
"weight": 0,
"weightType": "fix",
"stickiness": "custom.context.field",
"payload": {
"type": "json",
"value": "{\"color\": \"red\"}"
}
}
],
"parameters": {}
}
- application/json
- Schema
- Example (auto)
Schema
The ID of the error instance
9c40958a-daac-400e-98fb-3bb438567008
The name of the error kind
AuthenticationRequired
A description of what went wrong.
You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.
{
"id": "9c40958a-daac-400e-98fb-3bb438567008",
"name": "AuthenticationRequired",
"message": "You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login."
}
- application/json
- Schema
- Example (auto)
Schema
The ID of the error instance
9c40958a-daac-400e-98fb-3bb438567008
The name of the error kind
NoAccessError
A description of what went wrong.
You need the "UPDATE_ADDON" permission to perform this action in the "development" environment.
{
"id": "9c40958a-daac-400e-98fb-3bb438567008",
"name": "NoAccessError",
"message": "You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment."
}
- application/json
- Schema
- Example (auto)
Schema
The ID of the error instance
9c40958a-daac-400e-98fb-3bb438567008
The name of the error kind
NotFoundError
A description of what went wrong.
Could not find the addon with ID "12345".
{
"id": "9c40958a-daac-400e-98fb-3bb438567008",
"name": "NotFoundError",
"message": "Could not find the addon with ID \"12345\"."
}
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 '<your-unleash-url>/api/admin/projects/:projectId/features/:featureName/environments/:environment/strategies' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: <API_KEY_VALUE>' \
-d '{
"name": "flexibleRollout",
"title": "Gradual Rollout 25-Prod",
"disabled": false,
"sortOrder": 9999,
"constraints": [
{
"values": [
"1",
"2"
],
"inverted": false,
"operator": "IN",
"contextName": "appName",
"caseInsensitive": false
}
],
"variants": [
{
"name": "blue_group",
"weight": 0,
"weightType": "fix",
"stickiness": "custom.context.field",
"payload": {
"type": "json",
"value": "{\"color\": \"red\"}"
}
}
],
"parameters": {
"groupId": "some_new",
"rollout": "25",
"stickiness": "sessionId"
},
"segments": [
1,
2
]
}'