{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/Variant",
  "title": "Variant",
  "type": "object",
  "properties": {
    "key": {
      "type": "string",
      "description": "The variant key identifying this variant."
    },
    "value": {
      "type": "string",
      "description": "The variant value or payload."
    },
    "payload": {
      "description": "An optional JSON payload associated with the variant."
    },
    "metadata": {
      "type": "object",
      "description": "Metadata about the variant assignment.",
      "properties": {
        "experimentKey": {
          "type": "string",
          "description": "The key of the experiment that assigned this variant."
        },
        "flagType": {
          "type": "string",
          "description": "The type of flag, such as experiment or release."
        },
        "flagVersion": {
          "type": "integer",
          "description": "The version of the flag configuration."
        },
        "default": {
          "type": "boolean",
          "description": "Whether this is the default variant."
        }
      }
    }
  }
}