Export state (deprecated)
GET /api/admin/state/export
This endpoint has been deprecated and may be removed in future versions of the API.
Exports the current state of the system. Deprecated in favor of /api/admin/features-batch/export
Request
Query Parameters
- format string
Possible values: [
json
,yaml
]Default value:
json
Desired export format. Must be either
json
oryaml
. - download any
Whether exported data should be downloaded as a file.
- strategies any
Whether strategies should be included in the exported data.
- featureToggles any
Whether feature toggles should be included in the exported data.
- projects any
Whether projects should be included in the exported data.
- tags any
Whether tag types, tags, and feature_tags should be included in the exported data.
- environments any
Whether environments should be included in the exported data.
- 200
stateSchema
- application/json
- Schema
- Example (from schema)
Schema
- version integer required
The version of the schema used to describe the state
features object[]
A list of features
Array [name string requiredUnique feature name
type stringType of the toggle e.g. experiment, kill-switch, release, operational, permission
description string nullableDetailed description of the feature
archived booleantrue
if the feature is archivedproject stringName of the project the feature belongs to
enabled booleantrue
if the feature is enabled, otherwisefalse
.stale booleantrue
if the feature is stale based on the age and feature type, otherwisefalse
.favorite booleantrue
if the feature was favorited, otherwisefalse
.impressionData booleantrue
if the impression data collection is enabled for the feature, otherwisefalse
.createdAt date-time nullableThe date the feature was created
archivedAt date-time nullableThe date the feature was archived
lastSeenAt date-time nullable deprecatedThe date when metrics where last collected for the feature. This field is deprecated, use the one in featureEnvironmentSchema
environments object[]
The list of environments where the feature can be used
Array [name string requiredThe name of the environment
featureName stringThe name of the feature
environment stringThe name of the environment
type stringThe type of the environment
enabled boolean requiredtrue
if the feature is enabled for the environment, otherwisefalse
.sortOrder numberThe sort order of the feature environment in the feature environments list
variantCount numberThe number of defined variants
strategies object[]
A list of activation strategies for the feature environment
Array [id stringA uuid for the feature strategy
name string requiredThe name or type of strategy
title string nullableA descriptive title for the strategy
disabled boolean nullableA toggle to disable the strategy. defaults to false. Disabled strategies are not evaluated or returned to the SDKs
featureName stringThe name or feature the strategy is attached to
sortOrder numberThe order of the strategy in the list
segments number[]A list of segment ids attached to the strategy
constraints object[]
A list of the constraints attached to the strategy. See https://docs.getunleash.io/reference/strategy-constraints
Array [contextName string requiredThe name of the context field that this constraint should apply to.
operator string requiredPossible values: [
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
]The operator to use when evaluating this constraint. For more information about the various operators, refer to the strategy constraint operator documentation.
caseInsensitive booleanDefault value:
false
Whether the operator should be case sensitive or not. Defaults to
false
(being case sensitive).inverted booleanDefault value:
false
Whether the result should be negated or not. If
true
, will turn atrue
result into afalse
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 stringThe context value that should be used for constraint evaluation. Use this property instead of
values
for properties that only accept single values.]variants object[]
Strategy level variants
Array [name string requiredThe variant name. Must be unique for this feature toggle
weight integer requiredPossible values:
<= 1000
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 for more information
weightType string requiredPossible values: [
variable
,fix
]Set to
fix
if this variant must have exactly the weight allocated to it. If the type isvariable
, the weight will adjust so that the total weight of all variants adds up to 1000. Refer to the variant weight documentation.stickiness string requiredThe 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 string requiredPossible values: [
json
,csv
,string
,number
]The type of the value. Commonly used types are string, number, json and csv.
value string requiredThe actual value of payload
]parameters object
A list of parameters for a strategy
property name* string]variants object[]
A list of variants for the feature environment
Array [name string requiredThe variants name. Is unique for this feature toggle
weight number requiredPossible values:
<= 1000
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 stringPossible values: [
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
stickiness stringStickiness is how Unleash guarantees that the same user gets the same variant every time
payload object
Extra data configured for this variant
type string requiredPossible values: [
json
,csv
,string
,number
]The type of the value. Commonly used types are string, number, json and csv.
value string requiredThe actual value of payload
overrides object[]
Overrides assigning specific variants to specific users. The weighting system automatically assigns users to specific groups for you, but any overrides in this list will take precedence.
Array [contextName string requiredThe name of the context field used to determine overrides
values string[] requiredWhich values that should be overriden
]]lastSeenAt date-time nullableThe date when metrics where last collected for the feature environment
hasStrategies booleanWhether the feature has any strategies defined.
hasEnabledStrategies booleanWhether the feature has any enabled strategies defined.
]variants object[]deprecated
The list of feature variants
Array [name string requiredThe variants name. Is unique for this feature toggle
weight number requiredPossible values:
<= 1000
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 stringPossible values: [
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
stickiness stringStickiness is how Unleash guarantees that the same user gets the same variant every time
payload object
Extra data configured for this variant
type string requiredPossible values: [
json
,csv
,string
,number
]The type of the value. Commonly used types are string, number, json and csv.
value string requiredThe actual value of payload
overrides object[]
Overrides assigning specific variants to specific users. The weighting system automatically assigns users to specific groups for you, but any overrides in this list will take precedence.
Array [contextName string requiredThe name of the context field used to determine overrides
values string[] requiredWhich values that should be overriden
]]strategies object[] deprecatedThis is a legacy field that will be deprecated
tags object[]nullable
The list of feature tags
Array [value string requiredPossible values:
>= 2 characters
and<= 50 characters
The value of the tag
type string requiredPossible values:
>= 2 characters
and<= 50 characters
Default value:
simple
The type of the tag
]children string[]The list of child feature names. This is an experimental field and may change.
dependencies object[]
The list of parent dependencies. This is an experimental field and may change.
Array [feature string requiredThe name of the parent feature
enabled booleanWhether the parent feature is enabled or not
variants string[]The list of variants the parent feature should resolve to. Only valid when feature is enabled.
]]strategies object[]
A list of strategies
Array [title string nullableAn optional title for the strategy
name string requiredThe name (type) of the strategy
displayName string nullable requiredA human friendly name for the strategy
description string nullable requiredA short description of the strategy
editable boolean requiredWhether the strategy can be edited or not. Strategies bundled with Unleash cannot be edited.
deprecated boolean requiredparameters object[]required
A list of relevant parameters for each strategy
Array [name stringtype stringdescription stringrequired boolean]]tags object[]
A list of tags
Array [value string requiredPossible values:
>= 2 characters
and<= 50 characters
The value of the tag
type string requiredPossible values:
>= 2 characters
and<= 50 characters
Default value:
simple
The type of the tag
]tagTypes object[]
A list of tag types
Array [name string requiredThe name of the tag type.
description stringThe description of the tag type.
icon string nullableThe icon of the tag type.
]featureTags object[]
A list of tags applied to features
Array [featureName string requiredThe name of the feature this tag is applied to
tagType stringThe [type](https://docs.getunleash.io/reference/tags#tag-types tag types) of the tag
tagValue string requiredThe value of the tag
type string deprecatedThe [type](https://docs.getunleash.io/reference/tags#tag-types tag types) of the tag. This property is deprecated and will be removed in a future version of Unleash. Superseded by the
tagType
property.value string deprecatedThe value of the tag. This property is deprecated and will be removed in a future version of Unleash. Superseded by the
tagValue
property.createdByUserId number nullableThe id of the user who created this tag
]projects object[]
A list of projects
Array [id string requiredThe id of this project
name string requiredThe name of this project
description string nullableAdditional information about the project
health numberAn indicator of the project's health on a scale from 0 to 100
featureCount numberThe number of features this project has
staleFeatureCount numberThe number of stale features this project has
potentiallyStaleFeatureCount numberThe number of potentially stale features this project has
memberCount numberThe number of members this project has
createdAt date-timeWhen this project was created.
updatedAt date-time nullableWhen this project was last updated.
favorite booleantrue
if the project was favorited, otherwisefalse
.mode stringPossible values: [
open
,protected
,private
]The project's collaboration mode. Determines whether non-project members can submit change requests or not.
defaultStickiness stringA default stickiness for the project affecting the default stickiness value for variants and Gradual Rollout strategy
avgTimeToProduction numberThe average time from when a feature was created to when it was enabled in the "production" environment during the current window
]featureStrategies object[]
A list of feature strategies as applied to features
Array [id stringA uuid for the feature strategy
name string requiredThe name or type of strategy
title string nullableA descriptive title for the strategy
disabled boolean nullableA toggle to disable the strategy. defaults to false. Disabled strategies are not evaluated or returned to the SDKs
featureName stringThe name or feature the strategy is attached to
sortOrder numberThe order of the strategy in the list
segments number[]A list of segment ids attached to the strategy
constraints object[]
A list of the constraints attached to the strategy. See https://docs.getunleash.io/reference/strategy-constraints
Array [contextName string requiredThe name of the context field that this constraint should apply to.
operator string requiredPossible values: [
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
]The operator to use when evaluating this constraint. For more information about the various operators, refer to the strategy constraint operator documentation.
caseInsensitive booleanDefault value:
false
Whether the operator should be case sensitive or not. Defaults to
false
(being case sensitive).inverted booleanDefault value:
false
Whether the result should be negated or not. If
true
, will turn atrue
result into afalse
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 stringThe context value that should be used for constraint evaluation. Use this property instead of
values
for properties that only accept single values.]variants object[]
Strategy level variants
Array [name string requiredThe variant name. Must be unique for this feature toggle
weight integer requiredPossible values:
<= 1000
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 for more information
weightType string requiredPossible values: [
variable
,fix
]Set to
fix
if this variant must have exactly the weight allocated to it. If the type isvariable
, the weight will adjust so that the total weight of all variants adds up to 1000. Refer to the variant weight documentation.stickiness string requiredThe 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 string requiredPossible values: [
json
,csv
,string
,number
]The type of the value. Commonly used types are string, number, json and csv.
value string requiredThe actual value of payload
]parameters object
A list of parameters for a strategy
property name* string]featureEnvironments object[]
A list of feature environment configurations
Array [name string requiredThe name of the environment
featureName stringThe name of the feature
environment stringThe name of the environment
type stringThe type of the environment
enabled boolean requiredtrue
if the feature is enabled for the environment, otherwisefalse
.sortOrder numberThe sort order of the feature environment in the feature environments list
variantCount numberThe number of defined variants
strategies object[]
A list of activation strategies for the feature environment
Array [id stringA uuid for the feature strategy
name string requiredThe name or type of strategy
title string nullableA descriptive title for the strategy
disabled boolean nullableA toggle to disable the strategy. defaults to false. Disabled strategies are not evaluated or returned to the SDKs
featureName stringThe name or feature the strategy is attached to
sortOrder numberThe order of the strategy in the list
segments number[]A list of segment ids attached to the strategy
constraints object[]
A list of the constraints attached to the strategy. See https://docs.getunleash.io/reference/strategy-constraints
Array [contextName string requiredThe name of the context field that this constraint should apply to.
operator string requiredPossible values: [
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
]The operator to use when evaluating this constraint. For more information about the various operators, refer to the strategy constraint operator documentation.
caseInsensitive booleanDefault value:
false
Whether the operator should be case sensitive or not. Defaults to
false
(being case sensitive).inverted booleanDefault value:
false
Whether the result should be negated or not. If
true
, will turn atrue
result into afalse
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 stringThe context value that should be used for constraint evaluation. Use this property instead of
values
for properties that only accept single values.]variants object[]
Strategy level variants
Array [name string requiredThe variant name. Must be unique for this feature toggle
weight integer requiredPossible values:
<= 1000
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 for more information
weightType string requiredPossible values: [
variable
,fix
]Set to
fix
if this variant must have exactly the weight allocated to it. If the type isvariable
, the weight will adjust so that the total weight of all variants adds up to 1000. Refer to the variant weight documentation.stickiness string requiredThe 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 string requiredPossible values: [
json
,csv
,string
,number
]The type of the value. Commonly used types are string, number, json and csv.
value string requiredThe actual value of payload
]parameters object
A list of parameters for a strategy
property name* string]variants object[]
A list of variants for the feature environment
Array [name string requiredThe variants name. Is unique for this feature toggle
weight number requiredPossible values:
<= 1000
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 stringPossible values: [
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
stickiness stringStickiness is how Unleash guarantees that the same user gets the same variant every time
payload object
Extra data configured for this variant
type string requiredPossible values: [
json
,csv
,string
,number
]The type of the value. Commonly used types are string, number, json and csv.
value string requiredThe actual value of payload
overrides object[]
Overrides assigning specific variants to specific users. The weighting system automatically assigns users to specific groups for you, but any overrides in this list will take precedence.
Array [contextName string requiredThe name of the context field used to determine overrides
values string[] requiredWhich values that should be overriden
]]lastSeenAt date-time nullableThe date when metrics where last collected for the feature environment
hasStrategies booleanWhether the feature has any strategies defined.
hasEnabledStrategies booleanWhether the feature has any enabled strategies defined.
]environments object[]
A list of environments
Array [name string requiredThe name of the environment
type string requiredThe type of environment.
enabled boolean requiredtrue
if the environment is enabled for the project, otherwisefalse
.protected boolean requiredtrue
if the environment is protected, otherwisefalse
. A protected environment can not be deleted.sortOrder integer requiredPriority of the environment in a list of environments, the lower the value, the higher up in the list the environment will appear. Needs to be an integer
projectCount integer nullableThe number of projects with this environment
apiTokenCount integer nullableThe number of API tokens for the project environment
enabledToggleCount integer nullableThe number of enabled toggles for the project environment
]segments object[]
A list of segments
Array [id number requiredThe segment's id.
name stringThe name of the segment.
constraints object[]required
List of constraints that determine which users are part of the segment
Array [contextName string requiredThe name of the context field that this constraint should apply to.
operator string requiredPossible values: [
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
]The operator to use when evaluating this constraint. For more information about the various operators, refer to the strategy constraint operator documentation.
caseInsensitive booleanDefault value:
false
Whether the operator should be case sensitive or not. Defaults to
false
(being case sensitive).inverted booleanDefault value:
false
Whether the result should be negated or not. If
true
, will turn atrue
result into afalse
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 stringThe context value that should be used for constraint evaluation. Use this property instead of
values
for properties that only accept single values.]description string nullableThe description of the segment.
createdAt date-timeThe time the segment was created as a RFC 3339-conformant timestamp.
createdBy stringWhich user created this segment
project string nullableThe project the segment relates to, if applicable.
]featureStrategySegments object[]
A list of segment/strategy pairings
Array [segmentId integer requiredThe ID of the segment
featureStrategyId string requiredThe ID of the strategy
]
{
"version": 1,
"features": [
{
"name": "disable-comments",
"type": "kill-switch",
"description": "Controls disabling of the comments section in case of an incident",
"archived": true,
"project": "dx-squad",
"enabled": true,
"stale": false,
"favorite": true,
"impressionData": false,
"createdAt": "2023-01-28T15:21:39.975Z",
"archivedAt": "2023-01-29T15:21:39.975Z",
"environments": [
{
"name": "my-dev-env",
"featureName": "disable-comments",
"environment": "development",
"type": "development",
"enabled": true,
"sortOrder": 3,
"variantCount": 0,
"strategies": [
{
"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": {}
}
],
"variants": [
{
"name": "blue_group",
"weight": 0,
"weightType": "variable",
"stickiness": "custom.context.field",
"payload": {
"type": "json",
"value": "{\"color\": \"red\"}"
},
"overrides": [
{
"contextName": "userId",
"values": [
"red",
"blue"
]
}
]
}
],
"lastSeenAt": "2023-01-28T16:21:39.975Z",
"hasStrategies": true,
"hasEnabledStrategies": true
}
],
"tags": [
{
"value": "a-tag-value",
"type": "simple"
}
],
"children": [
"some-feature"
],
"dependencies": [
{
"feature": "some-feature",
"enabled": true,
"variants": [
"some-feature-blue-variant"
]
}
]
}
],
"strategies": [
{
"title": "GradualRollout - Prod25",
"name": "flexibleRollout",
"displayName": "Gradual Rollout",
"description": "Gradual rollout to logged in users",
"editable": true,
"deprecated": true,
"parameters": [
{
"name": "percentage",
"type": "percentage",
"description": "Gradual rollout to logged in users",
"required": true
}
]
}
],
"tags": [
{
"value": "a-tag-value",
"type": "simple"
}
],
"tagTypes": [
{
"name": "color",
"description": "A tag type for describing the color of a tag.",
"icon": "not-really-used"
}
],
"featureTags": [
{
"featureName": "my-feature",
"tagType": "simple",
"tagValue": "my-tag",
"createdByUserId": 1
}
],
"projects": [
{
"id": "dx-squad",
"name": "DX-Squad",
"description": "DX squad feature release",
"health": 50,
"featureCount": 10,
"staleFeatureCount": 10,
"potentiallyStaleFeatureCount": 10,
"memberCount": 4,
"createdAt": "2023-07-27T12:12:28Z",
"updatedAt": "2023-07-28T12:12:28Z",
"favorite": true,
"mode": "open",
"defaultStickiness": "userId",
"avgTimeToProduction": 10
}
],
"featureStrategies": [
{
"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": {}
}
],
"featureEnvironments": [
{
"name": "my-dev-env",
"featureName": "disable-comments",
"environment": "development",
"type": "development",
"enabled": true,
"sortOrder": 3,
"variantCount": 0,
"strategies": [
{
"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": {}
}
],
"variants": [
{
"name": "blue_group",
"weight": 0,
"weightType": "variable",
"stickiness": "custom.context.field",
"payload": {
"type": "json",
"value": "{\"color\": \"red\"}"
},
"overrides": [
{
"contextName": "userId",
"values": [
"red",
"blue"
]
}
]
}
],
"lastSeenAt": "2023-01-28T16:21:39.975Z",
"hasStrategies": true,
"hasEnabledStrategies": true
}
],
"environments": [
{
"name": "my-dev-env",
"type": "development",
"enabled": true,
"protected": true,
"sortOrder": 3,
"projectCount": 10,
"apiTokenCount": 6,
"enabledToggleCount": 10
}
],
"segments": [
{
"id": 0,
"name": "segment A",
"constraints": [
{
"contextName": "appName",
"operator": "IN",
"caseInsensitive": false,
"inverted": false,
"values": [
"my-app",
"my-other-app"
],
"value": "my-app"
}
],
"description": "Segment A description",
"createdAt": "2023-07-05T12:56:00.000Z",
"createdBy": "johndoe",
"project": "default"
}
],
"featureStrategySegments": [
{
"segmentId": 2,
"featureStrategyId": "e2caa08f-30c4-4aa3-b955-54ca9e93dc13"
}
]
}