Split · Schema
FeatureFlagDefinition
The full definition of a feature flag in a specific environment, including treatments, targeting rules, and rollout configuration.
ExperimentationFeature FlagsFeature ManagementRolloutsSDKs
Properties
| Name | Type | Description |
|---|---|---|
| name | string | Name of the feature flag |
| environment | object | |
| trafficType | object | |
| killed | boolean | Whether the flag is killed, forcing all evaluations to return the default treatment |
| treatments | array | List of possible treatments that this feature flag can return |
| defaultTreatment | string | The treatment returned when no targeting rules match or when the flag is killed |
| baselineTreatment | string | The control treatment used as a baseline for experimentation |
| rules | array | Ordered list of targeting rules evaluated top to bottom. The first matching rule determines the treatment. |
| defaultRule | array | The default rule applied when no targeting rules match. Defines the percentage-based rollout for unmatched traffic. |
| trafficAllocation | integer | Percentage of traffic that is included in the feature flag evaluation (0-100). Traffic outside this allocation receives the default treatment. |
| lastModified | integer | Unix timestamp of the last modification |
| creationTime | integer | Unix timestamp of when the definition was created |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "#/components/schemas/FeatureFlagDefinition",
"title": "FeatureFlagDefinition",
"type": "object",
"description": "The full definition of a feature flag in a specific environment, including treatments, targeting rules, and rollout configuration.",
"properties": {
"name": {
"type": "string",
"description": "Name of the feature flag"
},
"environment": {
"$ref": "#/components/schemas/EnvironmentRef"
},
"trafficType": {
"$ref": "#/components/schemas/TrafficType"
},
"killed": {
"type": "boolean",
"description": "Whether the flag is killed, forcing all evaluations to return the default treatment"
},
"treatments": {
"type": "array",
"description": "List of possible treatments that this feature flag can return",
"items": {
"$ref": "#/components/schemas/Treatment"
}
},
"defaultTreatment": {
"type": "string",
"description": "The treatment returned when no targeting rules match or when the flag is killed"
},
"baselineTreatment": {
"type": "string",
"description": "The control treatment used as a baseline for experimentation"
},
"rules": {
"type": "array",
"description": "Ordered list of targeting rules evaluated top to bottom. The first matching rule determines the treatment.",
"items": {
"$ref": "#/components/schemas/TargetingRule"
}
},
"defaultRule": {
"type": "array",
"description": "The default rule applied when no targeting rules match. Defines the percentage-based rollout for unmatched traffic.",
"items": {
"$ref": "#/components/schemas/Bucket"
}
},
"trafficAllocation": {
"type": "integer",
"description": "Percentage of traffic that is included in the feature flag evaluation (0-100). Traffic outside this allocation receives the default treatment.",
"minimum": 0,
"maximum": 100
},
"lastModified": {
"type": "integer",
"format": "int64",
"description": "Unix timestamp of the last modification"
},
"creationTime": {
"type": "integer",
"format": "int64",
"description": "Unix timestamp of when the definition was created"
}
}
}