{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "#/components/schemas/Flag", "title": "Flag", "type": "object", "properties": { "id": { "type": "string", "description": "The unique identifier for the flag." }, "projectId": { "type": "string", "description": "The project ID the flag belongs to." }, "key": { "type": "string", "description": "The unique key used to reference the flag in code." }, "name": { "type": "string", "description": "The display name of the flag." }, "description": { "type": "string", "description": "A description of the flag's purpose." }, "enabled": { "type": "boolean", "description": "Whether the flag is enabled." }, "evaluationMode": { "type": "string", "description": "The evaluation mode, either local or remote.", "enum": [ "local", "remote" ] }, "bucketingKey": { "type": "string", "description": "The property used for bucketing users into variants." }, "bucketingSalt": { "type": "string", "description": "The salt used for hashing during bucketing." }, "variants": { "type": "array", "description": "Array of variant configurations.", "items": { "$ref": "#/components/schemas/VariantConfig" } }, "deployments": { "type": "array", "description": "Array of deployment IDs the flag is deployed to.", "items": { "type": "string" } }, "segments": { "type": "array", "description": "Array of targeting segment configurations.", "items": { "$ref": "#/components/schemas/Segment" } }, "state": { "type": "string", "description": "The current state of the flag.", "enum": [ "draft", "active", "archived" ] } } }