Export feature flags from an environment
POST/api/admin/features-batch/export
Exports all features listed in the features
property from the environment specified in the request body. If set to true
, the downloadFile
property will let you download a file with the exported data. Otherwise, the export data is returned directly as JSON. Refer to the documentation for more information about Unleash's export functionality.
Request
- application/json
Body
required
exportQuerySchema
- MOD1
- MOD2
- MOD3
anyOf
The environment to export from
development
Whether to return a downloadable file
true
Selects features to export by name. If the list is empty all features are returned.
Possible values: non-empty
["MyAwesomeFeature"]
The environment to export from
development
Whether to return a downloadable file
true
Selects features to export by tag.
release
The environment to export from
development
Whether to return a downloadable file
true
Selects project to export the features from. Used when no tags or features are provided.
my-project
Responses
- 200
- 404
exportResultSchema
- application/json
- Schema
- Example (from schema)
Schema
Array [
Array [
Array [
Array [
]
Array [
]
]
Array [
Array [
]
]
]
Array [
Array [
]
]
Array [
]
Array [
]
Array [
]
]
Array [
Array [
]
Array [
]
]
Array [
Array [
Array [
]
Array [
]
]
Array [
Array [
]
]
]
Array [
Array [
]
]
Array [
]
Array [
]
Array [
]
Array [
Array [
]
]
features
object[]
required
All the exported features.
Unique feature name
disable-comments
Type of the flag e.g. experiment, kill-switch, release, operational, permission
kill-switch
Detailed description of the feature
Controls disabling of the comments section in case of an incident
true
if the feature is archived
true
Name of the project the feature belongs to
dx-squad
true
if the feature is enabled, otherwise false
.
true
true
if the feature is stale based on the age and feature type, otherwise false
.
false
true
if the feature was favorited, otherwise false
.
true
true
if the impression data collection is enabled for the feature, otherwise false
.
false
The date the feature was created
2023-01-28T15:21:39.975Z
createdBy
object
User who created the feature flag
The user id
123
Name of the user
User
URL used for the user profile image
https://example.com/242x200.png
The date the feature was archived
2023-01-29T15:21:39.975Z
The date when metrics where last collected for the feature. This field was deprecated in v5, use the one in featureEnvironmentSchema
2023-01-28T16:21:39.975Z
environments
object[]
The list of environments where the feature can be used
The name of the environment
my-dev-env
The name of the feature
disable-comments
The name of the environment
development
The type of the environment
development
true
if the feature is enabled for the environment, otherwise false
.
true
The sort order of the feature environment in the feature environments list
3
The number of defined variants
strategies
object[]
A list of activation strategies for the feature environment
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[]
A list of the constraints attached to the strategy. See https://docs.getunleash.io/reference/strategy-constraints
The name of the context field that this constraint should apply to.
appName
The operator to use when evaluating this constraint. For more information about the various operators, refer to the strategy constraint operator documentation.
Possible 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
]
IN
Whether the operator should be case sensitive or not. Defaults to false
(being case sensitive).
false
Whether the result should be negated or not. If true
, will turn a true
result into a false
result and vice versa.
false
The context values that should be used for constraint evaluation. Use this property instead of value
for properties that accept multiple values.
["my-app","my-other-app"]
The context value that should be used for constraint evaluation. Use this property instead of values
for properties that only accept single values.
my-app
variants
object[]
Strategy level variants
The variant name. Must be unique for this feature flag
blue_group
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
Possible values: <= 1000
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. Refer to the variant weight documentation.
Possible values: [variable
, fix
]
fix
The stickiness to use for distribution of this variant. Stickiness is how Unleash guarantees that the same user gets the same variant every time
custom.context.field
payload
object
Extra data configured for this variant
The type of the value. Commonly used types are string, number, json and csv.
Possible values: [json
, csv
, string
, number
]
The actual value of payload
parameters
object
A list of parameters for a strategy
variants
object[]
A list of variants for the feature environment
The variants name. Is unique for this feature flag
blue_group
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
Possible values: <= 1000
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
Possible values: [variable
, fix
]
variable
Stickiness is how Unleash guarantees that the same user gets the same variant every time
custom.context.field
payload
object
Extra data configured for this variant
The type of the value. Commonly used types are string, number, json and csv.
Possible values: [json
, csv
, string
, number
]
The 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.
The name of the context field used to determine overrides
userId
Which values that should be overriden
["red","blue"]
The date when metrics where last collected for the feature environment
2023-01-28T16:21:39.975Z
Whether the feature has any strategies defined.
Whether the feature has any enabled strategies defined.
variants
object[]
deprecated
The list of feature variants
The variants name. Is unique for this feature flag
blue_group
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
Possible values: <= 1000
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
Possible values: [variable
, fix
]
variable
Stickiness is how Unleash guarantees that the same user gets the same variant every time
custom.context.field
payload
object
Extra data configured for this variant
The type of the value. Commonly used types are string, number, json and csv.
Possible values: [json
, csv
, string
, number
]
The 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.
The name of the context field used to determine overrides
userId
Which values that should be overriden
["red","blue"]
This was deprecated in v5 and will be removed in a future major version
tags
object[]
nullable
The list of feature tags
The value of the tag.
Possible values: >= 2 characters
and <= 50 characters
a-tag-value
The type of the tag
Possible values: >= 2 characters
and <= 50 characters
simple
The list of child feature names. This is an experimental field and may change.
lifecycle
object
Current lifecycle stage of the feature
The name of the current lifecycle stage
Possible values: [initial
, pre-live
, live
, completed
, archived
]
initial
When the feature entered this stage
2023-01-28T15:21:39.975Z
dependencies
object[]
The list of parent dependencies. This is an experimental field and may change.
The name of the parent feature
some-feature
Whether the parent feature is enabled or not
true
The list of variants the parent feature should resolve to. Only valid when feature is enabled.
collaborators
object
Information related to users who have made changes to this feature flage.
users
object[]
required
Users who have made any changes to this feature flags. The list is sorted in reverse chronological order (most recent changes first)
The user's id
123
The user's name, username, or email (prioritized in that order). If none of those are present, this property will be set to the string unknown
User
The URL to the user's profile image
https://example.com/242x200.png
featureStrategies
object[]
required
All strategy instances that are used by the exported features in the features
list.
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[]
A list of the constraints attached to the strategy. See https://docs.getunleash.io/reference/strategy-constraints
The name of the context field that this constraint should apply to.
appName
The operator to use when evaluating this constraint. For more information about the various operators, refer to the strategy constraint operator documentation.
Possible 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
]
IN
Whether the operator should be case sensitive or not. Defaults to false
(being case sensitive).
false
Whether the result should be negated or not. If true
, will turn a true
result into a false
result and vice versa.
false
The context values that should be used for constraint evaluation. Use this property instead of value
for properties that accept multiple values.
["my-app","my-other-app"]
The context value that should be used for constraint evaluation. Use this property instead of values
for properties that only accept single values.
my-app
variants
object[]
Strategy level variants
The variant name. Must be unique for this feature flag
blue_group
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
Possible values: <= 1000
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. Refer to the variant weight documentation.
Possible values: [variable
, fix
]
fix
The stickiness to use for distribution of this variant. Stickiness is how Unleash guarantees that the same user gets the same variant every time
custom.context.field
payload
object
Extra data configured for this variant
The type of the value. Commonly used types are string, number, json and csv.
Possible values: [json
, csv
, string
, number
]
The actual value of payload
parameters
object
A list of parameters for a strategy
featureEnvironments
object[]
Environment-specific configuration for all the features in the features
list. Includes data such as whether the feature is enabled in the selected export environment, whether there are any variants assigned, etc.
The name of the environment
my-dev-env
The name of the feature
disable-comments
The name of the environment
development
The type of the environment
development
true
if the feature is enabled for the environment, otherwise false
.
true
The sort order of the feature environment in the feature environments list
3
The number of defined variants
strategies
object[]
A list of activation strategies for the feature environment
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[]
A list of the constraints attached to the strategy. See https://docs.getunleash.io/reference/strategy-constraints
The name of the context field that this constraint should apply to.
appName
The operator to use when evaluating this constraint. For more information about the various operators, refer to the strategy constraint operator documentation.
Possible 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
]
IN
Whether the operator should be case sensitive or not. Defaults to false
(being case sensitive).
false
Whether the result should be negated or not. If true
, will turn a true
result into a false
result and vice versa.
false
The context values that should be used for constraint evaluation. Use this property instead of value
for properties that accept multiple values.
["my-app","my-other-app"]
The context value that should be used for constraint evaluation. Use this property instead of values
for properties that only accept single values.
my-app
variants
object[]
Strategy level variants
The variant name. Must be unique for this feature flag
blue_group
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
Possible values: <= 1000
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. Refer to the variant weight documentation.
Possible values: [variable
, fix
]
fix
The stickiness to use for distribution of this variant. Stickiness is how Unleash guarantees that the same user gets the same variant every time
custom.context.field
payload
object
Extra data configured for this variant
The type of the value. Commonly used types are string, number, json and csv.
Possible values: [json
, csv
, string
, number
]
The actual value of payload
parameters
object
A list of parameters for a strategy
variants
object[]
A list of variants for the feature environment
The variants name. Is unique for this feature flag
blue_group
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
Possible values: <= 1000
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
Possible values: [variable
, fix
]
variable
Stickiness is how Unleash guarantees that the same user gets the same variant every time
custom.context.field
payload
object
Extra data configured for this variant
The type of the value. Commonly used types are string, number, json and csv.
Possible values: [json
, csv
, string
, number
]
The 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.
The name of the context field used to determine overrides
userId
Which values that should be overriden
["red","blue"]
The date when metrics where last collected for the feature environment
2023-01-28T16:21:39.975Z
Whether the feature has any strategies defined.
Whether the feature has any enabled strategies defined.
contextFields
object[]
A list of all the context fields that are in use by any of the strategies in the featureStrategies
list.
The name of the context field
userId
The description of the context field.
Used to uniquely identify users
Does this context field support being used for stickiness calculations
true
Used when sorting a list of context fields. Is also used as a tiebreaker if a list of context fields is sorted alphabetically.
900
When this context field was created
2023-06-29T10:19:00.000Z
Number of projects where this context field is used in
3
Number of projects where this context field is used in
2
legalValues
object[]
Allowed values for this context field schema. Can be used to narrow down accepted input
The valid value
#c154c1
Describes this specific legal value
Deep fuchsia
featureTags
object[]
A list of all the tags that have been applied to any of the features in the features
list.
The name of the feature this tag is applied to
my-feature
The [type](https://docs.getunleash.io/reference/tags#tag-types tag types) of the tag
simple
The value of the tag
my-tag
The [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.
The value of the tag. This property is deprecated and will be removed in a future version of Unleash. Superseded by the tagValue
property.
The id of the user who created this tag
1
segments
object[]
A list of all the segments that are used by the strategies in the featureStrategies
list.
tagTypes
object[]
required
A list of all of the tag types that are used in the featureTags
list.
The name of the tag type.
color
The description of the tag type.
A tag type for describing the color of a tag.
The icon of the tag type.
not-really-used
dependencies
object[]
A list of all the dependencies for features in features
list.
The name of the child feature.
child_feature
dependencies
object[]
required
List of parent features for the child feature
The name of the feature we depend on.
parent_feature
Whether the parent feature should be enabled. When false
variants are ignored. true
by default.
false
The list of variants the parent feature should resolve to. Leave empty when you only want to check the enabled
status.
["variantA","variantB"]
{
"features": [
{
"name": "my-feature",
"description": "best feature ever",
"type": "release",
"project": "default",
"stale": false,
"impressionData": false,
"archived": false
}
],
"featureStrategies": [
{
"name": "flexibleRollout",
"id": "924974d7-8003-43ee-87eb-c5f887c06fd1",
"featureName": "my-feature",
"title": "Rollout 50%",
"parameters": {
"groupId": "default",
"rollout": "50",
"stickiness": "random"
},
"constraints": [],
"disabled": false,
"segments": [
1
]
}
],
"featureEnvironments": [
{
"enabled": true,
"featureName": "my-feature",
"environment": "development",
"variants": [
{
"name": "a",
"weight": 500,
"overrides": [],
"stickiness": "random",
"weightType": "variable"
},
{
"name": "b",
"weight": 500,
"overrides": [],
"stickiness": "random",
"weightType": "variable"
}
],
"name": "variant-testing"
}
],
"contextFields": [
{
"name": "appName",
"description": "Allows you to constrain on application name",
"stickiness": false,
"sortOrder": 2,
"legalValues": []
}
],
"featureTags": [
{
"featureName": "my-feature",
"tagType": "simple",
"tagValue": "user-facing"
}
],
"segments": [
{
"id": 1,
"name": "new-segment-name"
}
],
"tagTypes": [
{
"name": "simple",
"description": "Used to simplify filtering of features",
"icon": "#"
}
],
"dependencies": [
{
"feature": "child_feature",
"dependencies": [
{
"feature": "parent_feature",
"enabled": false,
"variants": [
"variantA",
"variantB"
]
}
]
}
]
}
The requested resource was not found.
- application/json
- Schema
- Example (from schema)
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\"."
}