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
View JSON Schema on GitHub

JSON Schema

split-featureflagdefinition-schema.json Raw ↑
{
  "$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"
    }
  }
}