Get a single feature flag
GET/api/client/features/:featureName
Gets all the client data for a single flag. Contains the exact same information about a flag as the /api/client/features endpoint does, but only contains data about the specified flag. All SDKs should use /api/client/features
Request
Path Parameters
Responses
- 200
clientFeatureSchema
- application/json
- Schema
- Example (from schema)
Schema
Array [
Array [
]
Array [
]
]
Array [
Array [
]
]
Array [
]
The unique name of a feature flag. Is validated to be URL safe on creation
new.payment.flow.stripeWhat kind of feature flag is this. Refer to the documentation on feature flag types for more information
releaseA description of the flag
No variants hereWhether the feature flag is enabled for the current API key or not. This is ANDed with the evaluation results of the strategies list, so if this is false, the evaluation result will always be false
trueIf this is true Unleash believes this feature flag has been active longer than Unleash expects a flag of this type to be active
falseSet to true if SDKs should trigger impression events when this flag is evaluated
falseWhich project this feature flag belongs to
new.payment.flowstrategies
object[]
Evaluation strategies for this flag. Each entry in this list will be evaluated and ORed together
A uuid for the feature strategy
6b5157cb-343a-41e7-bfa3-7b4ec3044840The name or type of strategy
flexibleRolloutA descriptive title for the strategy
Gradual Rollout 25-ProdA toggle to disable the strategy. defaults to false. Disabled strategies are not evaluated or returned to the SDKs
falseThe name or feature the strategy is attached to
myAwesomeFeatureThe order of the strategy in the list
9999A 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.
appNameThe 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]
INWhether the operator should be case sensitive or not. Defaults to false (being case sensitive).
falseWhether the result should be negated or not. If true, will turn a true result into a false result and vice versa.
falseThe 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-appvariants
object[]
Strategy level variants
The variant name. Must be unique for this feature flag
blue_groupThe 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]
fixThe 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.fieldpayload
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[]
nullable
Variants configured for this flag
The variants name. Is unique for this feature flag
blue_groupThe 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]
variableStickiness is how Unleash guarantees that the same user gets the same variant every time
custom.context.fieldpayload
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
userIdWhich values that should be overriden
["red","blue"]dependencies
object[]
Feature dependencies for this flag
The name of the feature we depend on.
parent_featureWhether the parent feature should be enabled. When false variants are ignored. true by default.
falseThe list of variants the parent feature should resolve to. Leave empty when you only want to check the enabled status.
["variantA","variantB"]{
"name": "new.payment.flow.stripe",
"type": "release",
"description": "No variants here",
"enabled": true,
"stale": false,
"impressionData": false,
"project": "new.payment.flow",
"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"
]
}
]
}
],
"dependencies": [
{
"feature": "parent_feature",
"enabled": false,
"variants": [
"variantA",
"variantB"
]
}
]
}