{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://openeik.org/schemas/0.3/commands/material.upsert.schema.json",
  "$comment": "Written by hand from Part V and the member names of the reference vocabulary; tools/generate-schemas.mjs does not make it yet (schemas/commands/README.md).",
  "title": "material.upsert",
  "description": "Writes a material. expectedRevision, when given, names an existing material's revision. A member the kind does not define is refused, not dropped (Part V, 1.4).",
  "type": "object",
  "properties": {
    "kind": {
      "const": "material.upsert"
    },
    "material": {
      "$ref": "../project/material.schema.json"
    },
    "expectedRevision": {
      "type": "integer",
      "minimum": 0
    }
  },
  "required": [
    "kind",
    "material"
  ],
  "additionalProperties": false
}
