Set environment-default strategy
POST <your-unleash-url>/api/admin/projects/:projectId/environments/:environment/default-strategy
Authorization
name: Authorizationtype: apiKeyin: headerdescription: API key needed to access this API
Sets a default strategy for this environment. Unleash will use this strategy by default when enabling a toggle. Use the wild card "*" for :environment
to add to all environments.
Request
Path Parameters
- projectId string required
- environment string required
- application/json
Body
required
createFeatureStrategySchema
- 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 object[]
variants object[]
parameters object
- segments number[]
Ids of segments to use for this strategy
- 200
- 400
createFeatureStrategySchema
- application/json
- Schema
- Example (from schema)
Schema
- 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 object[]
variants object[]
parameters object
- segments number[]
Ids of segments to use for this strategy
{
"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
]
}
The request data does not match what we expect.
- application/json
- Schema
- Example (from schema)
Schema
- id string
The ID of the error instance
- name string
The name of the error kind
- message string
A description of what went wrong.
{
"id": "9c40958a-daac-400e-98fb-3bb438567008",
"name": "ValidationError",
"message": "The request payload you provided doesn't conform to the schema. The .parameters property should be object. You sent []."
}
Authorization
name: Authorizationtype: apiKeyin: headerdescription: API key needed to access this API
Request
Request
curl -L -X POST '<your-unleash-url>/api/admin/projects/:projectId/environments/:environment/default-strategy' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: <API_KEY_VALUE>' \
--data-raw '{
"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
]
}'
curl -L -X POST '<your-unleash-url>/api/admin/projects/:projectId/environments/:environment/default-strategy' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: <API_KEY_VALUE>' \
--data-raw '{
"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
]
}'
curl -L -X POST '<your-unleash-url>/api/admin/projects/:projectId/environments/:environment/default-strategy' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: <API_KEY_VALUE>' \
--data-raw '{
"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
]
}'
curl -L -X POST '<your-unleash-url>/api/admin/projects/:projectId/environments/:environment/default-strategy' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: <API_KEY_VALUE>' \
--data-raw '{
"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
]
}'
curl -L -X POST '<your-unleash-url>/api/admin/projects/:projectId/environments/:environment/default-strategy' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: <API_KEY_VALUE>' \
--data-raw '{
"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
]
}'
curl -L -X POST '<your-unleash-url>/api/admin/projects/:projectId/environments/:environment/default-strategy' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: <API_KEY_VALUE>' \
--data-raw '{
"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
]
}'
curl -L -X POST '<your-unleash-url>/api/admin/projects/:projectId/environments/:environment/default-strategy' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: <API_KEY_VALUE>' \
--data-raw '{
"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
]
}'
curl -L -X POST '<your-unleash-url>/api/admin/projects/:projectId/environments/:environment/default-strategy' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: <API_KEY_VALUE>' \
--data-raw '{
"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
]
}'
curl -L -X POST '<your-unleash-url>/api/admin/projects/:projectId/environments/:environment/default-strategy' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: <API_KEY_VALUE>' \
--data-raw '{
"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
]
}'