{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/Flag",
  "title": "Flag",
  "type": "object",
  "properties": {
    "object": {
      "type": "string",
      "description": "Distinguishes the Feature Flag object.",
      "const": "feature_flag"
    },
    "id": {
      "type": "string",
      "description": "Unique identifier of the Feature Flag.",
      "example": "flag_01EHZNVPK3SFK441A1RGBFSHRT"
    },
    "slug": {
      "type": "string",
      "description": "A unique key to reference the Feature Flag.",
      "example": "advanced-analytics"
    },
    "name": {
      "type": "string",
      "description": "A descriptive name for the Feature Flag. This field does not need to be unique.",
      "example": "Advanced Analytics"
    },
    "description": {
      "type": [
        "string",
        "null"
      ],
      "description": "A description for the Feature Flag.",
      "example": "Enable advanced analytics dashboard feature"
    },
    "owner": {
      "description": "The owner of the Feature Flag.",
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "email": {
              "type": "string",
              "description": "The email address of the flag owner.",
              "example": "jane@example.com"
            },
            "first_name": {
              "type": [
                "string",
                "null"
              ],
              "description": "The first name of the flag owner.",
              "example": "Jane"
            },
            "last_name": {
              "type": [
                "string",
                "null"
              ],
              "description": "The last name of the flag owner.",
              "example": "Doe"
            }
          },
          "required": [
            "email",
            "first_name",
            "last_name"
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "tags": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Labels assigned to the Feature Flag for categorizing and filtering.",
      "example": [
        "reports"
      ]
    },
    "enabled": {
      "type": "boolean",
      "description": "Specifies whether the Feature Flag is active for the current environment.",
      "example": true
    },
    "default_value": {
      "type": "boolean",
      "description": "The value returned for users and organizations who don't match any configured targeting rules.",
      "example": false
    },
    "created_at": {
      "format": "date-time",
      "type": "string",
      "description": "An ISO 8601 timestamp.",
      "example": "2026-01-15T12:00:00.000Z"
    },
    "updated_at": {
      "format": "date-time",
      "type": "string",
      "description": "An ISO 8601 timestamp.",
      "example": "2026-01-15T12:00:00.000Z"
    }
  },
  "required": [
    "object",
    "id",
    "slug",
    "name",
    "description",
    "owner",
    "tags",
    "enabled",
    "default_value",
    "created_at",
    "updated_at"
  ]
}