{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/foundry-mcp-com/json-schema/foundry-mcp-com-update-scene-request-schema.json",
  "title": "UpdateSceneRequest",
  "description": "Patch scene metadata. All fields optional. **Tri-state for `nav_name` and `folder`:**\n\n- `nav_name: \"Outside\"` → set sidebar nav label.\n- `clear_nav_name: true` → clear it (Foundry stores null).\n- both omitted → leave alone.\n- both set → 422.\n\nSame contract for `folder` / `clear_folder`.",
  "x-generated": "2026-10-30",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/foundry-mcp-com-openapi.json#/components/schemas/UpdateSceneRequest",
  "properties": {
    "background": {
      "minLength": 1,
      "type": "string"
    },
    "clear_folder": {
      "description": "When true, move scene to root. 422 if combined with `folder`.",
      "type": "boolean"
    },
    "clear_nav_name": {
      "description": "When true, clear nav label. 422 if combined with `nav_name`.",
      "type": "boolean"
    },
    "darkness": {
      "format": "double",
      "maximum": 1,
      "minimum": 0,
      "type": "number"
    },
    "fog_exploration": {
      "type": "boolean"
    },
    "folder": {
      "description": "Folder ID. See tri-state semantics in description.",
      "minLength": 1,
      "type": "string"
    },
    "foreground": {
      "minLength": 1,
      "type": "string"
    },
    "grid": {
      "$ref": "#/$defs/SceneGridInput"
    },
    "height": {
      "minimum": 1,
      "type": "integer"
    },
    "name": {
      "minLength": 1,
      "type": "string"
    },
    "nav_name": {
      "description": "Set sidebar nav label. See tri-state semantics in description.",
      "minLength": 1,
      "type": "string"
    },
    "nav_order": {
      "type": "integer"
    },
    "navigation": {
      "type": "boolean"
    },
    "padding": {
      "format": "double",
      "minimum": 0,
      "type": "number"
    },
    "width": {
      "minimum": 1,
      "type": "integer"
    }
  },
  "type": "object",
  "$defs": {
    "SceneGridInput": {
      "description": "Grid configuration input for create/update. All fields optional; omitted fields keep Foundry's defaults (create) or current value (update).",
      "properties": {
        "distance": {
          "minimum": 1,
          "type": "integer"
        },
        "size": {
          "minimum": 1,
          "type": "integer"
        },
        "type": {
          "$ref": "#/$defs/SceneGridType"
        },
        "units": {
          "minLength": 1,
          "type": "string"
        }
      },
      "type": "object"
    },
    "SceneGridType": {
      "description": "Foundry grid layout. `gridless` = freeform canvas; `square` = standard grid; the four `hex*` variants pair an orientation (pointy / flat) with row-offset parity (odd / even).",
      "enum": [
        "gridless",
        "square",
        "hexPointyOdd",
        "hexPointyEven",
        "hexFlatOdd",
        "hexFlatEven"
      ],
      "type": "string"
    }
  }
}