Split · JSON Structure
Split Feature Flag Definition Structure
The full definition of a Split feature flag in a specific environment, including treatments, targeting rules, and rollout configuration.
Type:
Properties: 0
ExperimentationFeature FlagsFeature ManagementRolloutsSDKs
FeatureFlagDefinition is a JSON Structure definition published by Split.
Meta-schema:
JSON Structure
{
"name": "FeatureFlagDefinition",
"description": "The full definition of a Split feature flag in a specific environment, including treatments, targeting rules, and rollout configuration.",
"fields": [
{
"name": "name",
"type": "string",
"description": "Name of the feature flag.",
"required": true
},
{
"name": "environment",
"type": "object",
"description": "Reference to the environment where this definition applies.",
"required": false,
"fields": [
{
"name": "id",
"type": "string",
"description": "Environment identifier.",
"required": false
},
{
"name": "name",
"type": "string",
"description": "Environment name.",
"required": false
}
]
},
{
"name": "killed",
"type": "boolean",
"description": "When true, all evaluations return the default treatment regardless of targeting rules.",
"required": false
},
{
"name": "treatments",
"type": "array",
"description": "List of possible treatments this flag can return.",
"required": true,
"items": {
"name": "Treatment",
"fields": [
{
"name": "name",
"type": "string",
"description": "Treatment name (e.g., on, off, v1, v2).",
"required": true
},
{
"name": "description",
"type": "string",
"description": "Description of what this treatment does.",
"required": false
},
{
"name": "configurations",
"type": "string",
"description": "JSON string of dynamic configuration for this treatment.",
"required": false
}
]
}
},
{
"name": "defaultTreatment",
"type": "string",
"description": "Treatment returned when no rules match or the flag is killed.",
"required": true
},
{
"name": "rules",
"type": "array",
"description": "Ordered list of targeting rules evaluated top to bottom.",
"required": false,
"items": {
"name": "TargetingRule",
"fields": [
{
"name": "condition",
"type": "object",
"description": "Condition that must be satisfied for this rule to apply.",
"required": false
},
{
"name": "buckets",
"type": "array",
"description": "Percentage distribution of treatments for matching traffic.",
"required": false
}
]
}
},
{
"name": "defaultRule",
"type": "array",
"description": "Percentage-based rollout applied when no targeting rules match.",
"required": true
},
{
"name": "trafficAllocation",
"type": "integer",
"description": "Percentage of traffic included in flag evaluation (0-100).",
"required": false
}
]
}