{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/userclouds/json-schema/userclouds-userstore-mutator-schema.json",
  "title": "UserstoreMutator",
  "x-generated": "2026-10-29",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/userstore.yaml#/components/schemas/UserstoreMutator",
  "properties": {
    "access_policy": {
      "$ref": "#/$defs/UserstoreResourceID"
    },
    "columns": {
      "items": {
        "$ref": "#/$defs/UserstoreColumnInputConfig"
      },
      "type": [
        "array",
        "null"
      ]
    },
    "description": {
      "type": "string"
    },
    "id": {
      "$ref": "#/$defs/UuidUUID"
    },
    "is_system": {
      "description": "Whether this mutator is a system mutator. System mutators cannot be deleted or modified. This property cannot be changed.",
      "type": "boolean"
    },
    "name": {
      "type": "string"
    },
    "selector_config": {
      "$ref": "#/$defs/UserstoreUserSelectorConfig"
    },
    "version": {
      "type": "integer"
    }
  },
  "required": [
    "name",
    "selector_config",
    "columns",
    "access_policy"
  ],
  "type": "object",
  "$defs": {
    "UserstoreColumnInputConfig": {
      "properties": {
        "column": {
          "$ref": "#/$defs/UserstoreResourceID"
        },
        "normalizer": {
          "$ref": "#/$defs/UserstoreResourceID"
        },
        "validator": {
          "$ref": "#/$defs/UserstoreResourceID"
        }
      },
      "type": "object"
    },
    "UserstoreResourceID": {
      "properties": {
        "id": {
          "$ref": "#/$defs/UuidUUID"
        },
        "name": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "UserstoreUserSelectorConfig": {
      "properties": {
        "where_clause": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "UuidUUID": {
      "format": "uuid",
      "type": "string"
    }
  }
}