{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://tylereno.me/oidf/schemas/config/configuration_document.json",
  "title": "ConfigurationDocument",
  "x-keel-schema-version": "1.0.0",
  "type": "object",
  "additionalProperties": false,
  "required": ["id", "revision", "schema_version", "domain", "body"],
  "properties": {
    "id": { "type": "string", "minLength": 1 },
    "revision": { "type": "integer", "minimum": 1 },
    "schema_version": { "type": "string", "const": "1.0.0" },
    "domain": {
      "type": "string",
      "enum": [
        "MachineDefinitions",
        "AuthorizationPolicy",
        "SyncPolicy",
        "PluginEnablement",
        "FeatureFlags"
      ]
    },
    "body": {
      "type": "object",
      "description": "Domain-specific configuration object."
    }
  }
}
