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
- environment string required
The environment to export from
- downloadFile boolean
Whether to return a downloadable file
- features string[] required
Possible values:
non-empty
Selects features to export by name. If the list is empty all features are returned.
- environment string required
The environment to export from
- downloadFile boolean
Whether to return a downloadable file
- tag string required
Selects features to export by tag.
- environment string required
The environment to export from
- downloadFile boolean
Whether to return a downloadable file
- project string required
Selects project to export the features from. Used when no tags or features are provided.
- 200
- 404
exportResultSchema
- application/json
- Schema
- Example (from schema)
Schema
features object[]required
All the exported features.
Array [name string requiredUnique feature name
type stringType of the flag 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 was deprecated in v5, 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 flag
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 flag
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 flag
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 was deprecated in v5 and will be removed in a future major version
tags object[]nullable
The list of feature tags
Array [value string requiredPossible values:
>= 2 characters
and<= 50 characters
The value of the tag.
]children string[]The list of child feature names. This is an experimental field and may change.
lifecycle object
Current lifecycle stage of the feature
stage string requiredPossible values: [
initial
,pre-live
,live
,completed
,archived
]The name of the current lifecycle stage
enteredStageAt date-time requiredWhen the feature entered this stage
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.
]]featureStrategies object[]required
All strategy instances that are used by the exported features in the
features
list.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 flag
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[]
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.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 flag
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 flag
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.
]contextFields object[]
A list of all the context fields that are in use by any of the strategies in the
featureStrategies
list.Array [name string requiredThe name of the context field
description string nullableThe description of the context field.
stickiness booleanDoes this context field support being used for stickiness calculations
sortOrder integerUsed when sorting a list of context fields. Is also used as a tiebreaker if a list of context fields is sorted alphabetically.
createdAt date-time nullableWhen this context field was created
usedInFeatures integer nullableNumber of projects where this context field is used in
usedInProjects integer nullableNumber of projects where this context field is used in
legalValues object[]
Allowed values for this context field schema. Can be used to narrow down accepted input
Array [value string requiredThe valid value
description stringDescribes this specific legal value
]]featureTags object[]
A list of all the tags that have been applied to any of the features in the
features
list.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
]segments object[]
A list of all the segments that are used by the strategies in the
featureStrategies
list.Array [id number requiredname string required]tagTypes object[]required
A list of all of the tag types that are used in the
featureTags
list.Array [name string requiredThe name of the tag type.
description stringThe description of the tag type.
icon string nullableThe icon of the tag type.
]dependencies object[]
A list of all the dependencies for features in
features
list.Array [feature string requiredThe name of the child feature.
dependencies object[]required
List of parent features for the child feature
Array [feature string requiredThe name of the feature we depend on.
enabled booleanWhether the parent feature should be enabled. When
false
variants are ignored.true
by default.variants string[]The list of variants the parent feature should resolve to. Leave empty when you only want to check the
enabled
status.]]
{
"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
- 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": "NotFoundError",
"message": "Could not find the addon with ID \"12345\"."
}