Amplitude · Schema

FlagConfiguration

FlagConfiguration schema from Amplitude Experiment Evaluation API

A/B TestingAnalyticsExperimentationFeature FlagsProduct AnalyticsUser Behavior

Properties

Name Type Description
key string The unique key identifying the flag.
metadata object Metadata about the flag configuration.
segments array Array of targeting segments for this flag.
variants object Map of variant keys to variant configuration objects.
View JSON Schema on GitHub

JSON Schema

experiment-evaluation-api-flag-configuration-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/amplitude/refs/heads/main/json-schema/experiment-evaluation-api-flag-configuration-schema.json",
  "title": "FlagConfiguration",
  "description": "FlagConfiguration schema from Amplitude Experiment Evaluation API",
  "type": "object",
  "properties": {
    "key": {
      "type": "string",
      "description": "The unique key identifying the flag."
    },
    "metadata": {
      "type": "object",
      "description": "Metadata about the flag configuration.",
      "properties": {
        "deployed": {
          "type": "boolean",
          "description": "Whether the flag is currently deployed."
        },
        "evaluationMode": {
          "type": "string",
          "description": "The evaluation mode, either local or remote."
        },
        "flagType": {
          "type": "string",
          "description": "The type of flag, such as experiment or release."
        },
        "flagVersion": {
          "type": "integer",
          "description": "The version of the flag configuration."
        }
      }
    },
    "segments": {
      "type": "array",
      "description": "Array of targeting segments for this flag.",
      "items": {
        "type": "object",
        "properties": {
          "conditions": {
            "type": "array",
            "description": "Array of targeting conditions.",
            "items": {
              "type": "object",
              "additionalProperties": true
            }
          },
          "variant": {
            "type": "string",
            "description": "The variant key to assign when conditions are met."
          }
        }
      }
    },
    "variants": {
      "type": "object",
      "description": "Map of variant keys to variant configuration objects.",
      "additionalProperties": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "description": "The variant key."
          },
          "payload": {
            "description": "Optional payload for the variant."
          }
        }
      }
    }
  }
}