{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/romm/json-schema/romm-config-response-schema.json",
  "title": "ConfigResponse",
  "x-generated": "2026-10-28",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/romm-openapi.json#/components/schemas/ConfigResponse",
  "properties": {
    "CONFIG_FILE_MOUNTED": {
      "type": "boolean",
      "title": "Config File Mounted"
    },
    "CONFIG_FILE_WRITABLE": {
      "type": "boolean",
      "title": "Config File Writable"
    },
    "CONFIG_FILE_PARSE_ERROR": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Config File Parse Error"
    },
    "EXCLUDED_PLATFORMS": {
      "items": {
        "type": "string"
      },
      "type": "array",
      "title": "Excluded Platforms"
    },
    "EXCLUDED_SINGLE_EXT": {
      "items": {
        "type": "string"
      },
      "type": "array",
      "title": "Excluded Single Ext"
    },
    "EXCLUDED_SINGLE_FILES": {
      "items": {
        "type": "string"
      },
      "type": "array",
      "title": "Excluded Single Files"
    },
    "EXCLUDED_MULTI_FILES": {
      "items": {
        "type": "string"
      },
      "type": "array",
      "title": "Excluded Multi Files"
    },
    "EXCLUDED_MULTI_PARTS_EXT": {
      "items": {
        "type": "string"
      },
      "type": "array",
      "title": "Excluded Multi Parts Ext"
    },
    "EXCLUDED_MULTI_PARTS_FILES": {
      "items": {
        "type": "string"
      },
      "type": "array",
      "title": "Excluded Multi Parts Files"
    },
    "DEFAULT_EXCLUDED_PLATFORM_DIRS": {
      "items": {
        "type": "string"
      },
      "type": "array",
      "title": "Default Excluded Platform Dirs"
    },
    "DEFAULT_EXCLUDED_MULTI_FILE_DIRS": {
      "items": {
        "type": "string"
      },
      "type": "array",
      "title": "Default Excluded Multi File Dirs"
    },
    "DEFAULT_EXCLUDED_FILES": {
      "items": {
        "type": "string"
      },
      "type": "array",
      "title": "Default Excluded Files"
    },
    "DEFAULT_EXCLUDED_EXTENSIONS": {
      "items": {
        "type": "string"
      },
      "type": "array",
      "title": "Default Excluded Extensions"
    },
    "PLATFORMS_BINDING": {
      "additionalProperties": {
        "type": "string"
      },
      "type": "object",
      "title": "Platforms Binding"
    },
    "PLATFORMS_VERSIONS": {
      "additionalProperties": {
        "type": "string"
      },
      "type": "object",
      "title": "Platforms Versions"
    },
    "SKIP_HASH_CALCULATION": {
      "type": "boolean",
      "title": "Skip Hash Calculation"
    },
    "EJS_DEBUG": {
      "type": "boolean",
      "title": "Ejs Debug"
    },
    "EJS_CACHE_LIMIT": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ejs Cache Limit"
    },
    "EJS_DISABLE_AUTO_UNLOAD": {
      "type": "boolean",
      "title": "Ejs Disable Auto Unload"
    },
    "EJS_DISABLE_BATCH_BOOTUP": {
      "type": "boolean",
      "title": "Ejs Disable Batch Bootup"
    },
    "EJS_ENABLE_AUTO_SAVE_SYNC": {
      "type": "boolean",
      "title": "Ejs Enable Auto Save Sync"
    },
    "EJS_NETPLAY_ENABLED": {
      "type": "boolean",
      "title": "Ejs Netplay Enabled"
    },
    "EJS_NETPLAY_ICE_SERVERS": {
      "items": {
        "$ref": "#/$defs/NetplayICEServer"
      },
      "type": "array",
      "title": "Ejs Netplay Ice Servers"
    },
    "EJS_DEFAULT_CORES": {
      "additionalProperties": {
        "type": "string"
      },
      "type": "object",
      "title": "Ejs Default Cores"
    },
    "EJS_SETTINGS": {
      "additionalProperties": {
        "additionalProperties": {
          "type": "string"
        },
        "type": "object"
      },
      "type": "object",
      "title": "Ejs Settings"
    },
    "EJS_CONTROLS": {
      "additionalProperties": {
        "$ref": "#/$defs/EjsControls"
      },
      "type": "object",
      "title": "Ejs Controls"
    },
    "SCAN_METADATA_PRIORITY": {
      "items": {
        "type": "string"
      },
      "type": "array",
      "title": "Scan Metadata Priority"
    },
    "SCAN_ARTWORK_PRIORITY": {
      "items": {
        "type": "string"
      },
      "type": "array",
      "title": "Scan Artwork Priority"
    },
    "SCAN_ARTWORK_PRIORITY_OVERRIDES": {
      "additionalProperties": {
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "type": "object",
      "title": "Scan Artwork Priority Overrides"
    },
    "SCAN_REGION_PRIORITY": {
      "items": {
        "type": "string"
      },
      "type": "array",
      "title": "Scan Region Priority"
    },
    "SCAN_LANGUAGE_PRIORITY": {
      "items": {
        "type": "string"
      },
      "type": "array",
      "title": "Scan Language Priority"
    },
    "SCAN_MEDIA": {
      "items": {
        "type": "string"
      },
      "type": "array",
      "title": "Scan Media"
    },
    "GAMELIST_AUTO_EXPORT_ON_SCAN": {
      "type": "boolean",
      "title": "Gamelist Auto Export On Scan"
    },
    "GAMELIST_MEDIA_THUMBNAIL": {
      "$ref": "#/$defs/MetadataMediaType"
    },
    "GAMELIST_MEDIA_IMAGE": {
      "$ref": "#/$defs/MetadataMediaType"
    },
    "PEGASUS_AUTO_EXPORT_ON_SCAN": {
      "type": "boolean",
      "title": "Pegasus Auto Export On Scan"
    },
    "CONVERTO": {
      "$ref": "#/$defs/ConvertoConfig"
    },
    "CONVERTO_LIBRARY_TARGETS": {
      "additionalProperties": {
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "type": "object",
      "title": "Converto Library Targets"
    }
  },
  "type": "object",
  "required": [
    "CONFIG_FILE_MOUNTED",
    "CONFIG_FILE_WRITABLE",
    "CONFIG_FILE_PARSE_ERROR",
    "EXCLUDED_PLATFORMS",
    "EXCLUDED_SINGLE_EXT",
    "EXCLUDED_SINGLE_FILES",
    "EXCLUDED_MULTI_FILES",
    "EXCLUDED_MULTI_PARTS_EXT",
    "EXCLUDED_MULTI_PARTS_FILES",
    "DEFAULT_EXCLUDED_PLATFORM_DIRS",
    "DEFAULT_EXCLUDED_MULTI_FILE_DIRS",
    "DEFAULT_EXCLUDED_FILES",
    "DEFAULT_EXCLUDED_EXTENSIONS",
    "PLATFORMS_BINDING",
    "PLATFORMS_VERSIONS",
    "SKIP_HASH_CALCULATION",
    "EJS_DEBUG",
    "EJS_CACHE_LIMIT",
    "EJS_DISABLE_AUTO_UNLOAD",
    "EJS_DISABLE_BATCH_BOOTUP",
    "EJS_ENABLE_AUTO_SAVE_SYNC",
    "EJS_NETPLAY_ENABLED",
    "EJS_NETPLAY_ICE_SERVERS",
    "EJS_DEFAULT_CORES",
    "EJS_SETTINGS",
    "EJS_CONTROLS",
    "SCAN_METADATA_PRIORITY",
    "SCAN_ARTWORK_PRIORITY",
    "SCAN_ARTWORK_PRIORITY_OVERRIDES",
    "SCAN_REGION_PRIORITY",
    "SCAN_LANGUAGE_PRIORITY",
    "SCAN_MEDIA",
    "GAMELIST_AUTO_EXPORT_ON_SCAN",
    "GAMELIST_MEDIA_THUMBNAIL",
    "GAMELIST_MEDIA_IMAGE",
    "PEGASUS_AUTO_EXPORT_ON_SCAN",
    "CONVERTO",
    "CONVERTO_LIBRARY_TARGETS"
  ],
  "$defs": {
    "ConvertoConfig": {
      "properties": {
        "download_conversion_enabled": {
          "type": "boolean",
          "title": "Download Conversion Enabled",
          "default": false
        },
        "scan_metadata": {
          "type": "boolean",
          "title": "Scan Metadata",
          "default": true
        },
        "cache_ttl_hours": {
          "type": "integer",
          "title": "Cache Ttl Hours",
          "default": 24
        },
        "cache_max_size_gb": {
          "type": "integer",
          "title": "Cache Max Size Gb",
          "default": 20
        },
        "platform_formats": {
          "additionalProperties": {
            "type": "string"
          },
          "type": "object",
          "title": "Platform Formats"
        }
      },
      "type": "object",
      "title": "ConvertoConfig"
    },
    "EjsControls": {
      "properties": {
        "_0": {
          "additionalProperties": {
            "$ref": "#/$defs/EjsControlsButton"
          },
          "type": "object",
          "title": "0"
        },
        "_1": {
          "additionalProperties": {
            "$ref": "#/$defs/EjsControlsButton"
          },
          "type": "object",
          "title": "1"
        },
        "_2": {
          "additionalProperties": {
            "$ref": "#/$defs/EjsControlsButton"
          },
          "type": "object",
          "title": "2"
        },
        "_3": {
          "additionalProperties": {
            "$ref": "#/$defs/EjsControlsButton"
          },
          "type": "object",
          "title": "3"
        }
      },
      "type": "object",
      "required": [
        "_0",
        "_1",
        "_2",
        "_3"
      ],
      "title": "EjsControls"
    },
    "EjsControlsButton": {
      "properties": {
        "value": {
          "type": "string",
          "title": "Value"
        },
        "value2": {
          "type": "string",
          "title": "Value2"
        }
      },
      "type": "object",
      "title": "EjsControlsButton"
    },
    "MetadataMediaType": {
      "type": "string",
      "enum": [
        "bezel",
        "box2d",
        "box2d_back",
        "box2d_side",
        "box3d",
        "miximage",
        "miximage_v2",
        "physical",
        "screenshot",
        "title_screen",
        "marquee",
        "logo",
        "fanart",
        "video",
        "video_normalized",
        "manual"
      ],
      "title": "MetadataMediaType"
    },
    "NetplayICEServer": {
      "properties": {
        "urls": {
          "type": "string",
          "title": "Urls"
        },
        "username": {
          "type": "string",
          "title": "Username"
        },
        "credential": {
          "type": "string",
          "title": "Credential"
        }
      },
      "type": "object",
      "required": [
        "urls"
      ],
      "title": "NetplayICEServer"
    }
  }
}