{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/romm/json-schema/romm-platform-schema-schema.json",
  "title": "PlatformSchema",
  "x-generated": "2026-10-28",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/romm-openapi.json#/components/schemas/PlatformSchema",
  "properties": {
    "id": {
      "type": "integer",
      "title": "Id"
    },
    "slug": {
      "type": "string",
      "title": "Slug"
    },
    "fs_slug": {
      "type": "string",
      "title": "Fs Slug"
    },
    "rom_count": {
      "type": "integer",
      "title": "Rom Count"
    },
    "name": {
      "type": "string",
      "title": "Name"
    },
    "igdb_slug": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Igdb Slug"
    },
    "moby_slug": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Moby Slug"
    },
    "hltb_slug": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Hltb Slug"
    },
    "libretro_slug": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Libretro Slug"
    },
    "custom_name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Custom Name"
    },
    "description": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Description"
    },
    "igdb_id": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Igdb Id"
    },
    "sgdb_id": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Sgdb Id"
    },
    "moby_id": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Moby Id"
    },
    "launchbox_id": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Launchbox Id"
    },
    "ss_id": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ss Id"
    },
    "ra_id": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ra Id"
    },
    "hasheous_id": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Hasheous Id"
    },
    "tgdb_id": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Tgdb Id"
    },
    "flashpoint_id": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Flashpoint Id"
    },
    "category": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Category"
    },
    "generation": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Generation"
    },
    "family_name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Family Name"
    },
    "family_slug": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Family Slug"
    },
    "url": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Url"
    },
    "url_logo": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Url Logo"
    },
    "firmware": {
      "items": {
        "$ref": "#/$defs/FirmwareSchema"
      },
      "type": "array",
      "title": "Firmware"
    },
    "created_at": {
      "type": "string",
      "title": "Created At"
    },
    "updated_at": {
      "type": "string",
      "title": "Updated At"
    },
    "fs_size_bytes": {
      "type": "integer",
      "title": "Fs Size Bytes"
    },
    "is_unidentified": {
      "type": "boolean",
      "title": "Is Unidentified"
    },
    "is_identified": {
      "type": "boolean",
      "title": "Is Identified"
    },
    "missing_from_fs": {
      "type": "boolean",
      "title": "Missing From Fs"
    },
    "display_name": {
      "type": "string",
      "title": "Display Name",
      "readOnly": true
    },
    "abbreviation": {
      "type": "string",
      "title": "Abbreviation",
      "readOnly": true
    },
    "alternative_names": {
      "items": {
        "type": "string"
      },
      "type": "array",
      "title": "Alternative Names",
      "readOnly": true
    },
    "firmware_count": {
      "type": "integer",
      "title": "Firmware Count",
      "readOnly": true
    }
  },
  "type": "object",
  "required": [
    "id",
    "slug",
    "fs_slug",
    "rom_count",
    "name",
    "igdb_slug",
    "moby_slug",
    "hltb_slug",
    "libretro_slug",
    "created_at",
    "updated_at",
    "fs_size_bytes",
    "is_unidentified",
    "is_identified",
    "missing_from_fs",
    "display_name",
    "abbreviation",
    "alternative_names",
    "firmware_count"
  ],
  "$defs": {
    "FirmwareSchema": {
      "properties": {
        "id": {
          "type": "integer",
          "title": "Id"
        },
        "platform_id": {
          "type": "integer",
          "title": "Platform Id"
        },
        "file_name": {
          "type": "string",
          "title": "File Name"
        },
        "file_name_no_tags": {
          "type": "string",
          "title": "File Name No Tags"
        },
        "file_name_no_ext": {
          "type": "string",
          "title": "File Name No Ext"
        },
        "file_extension": {
          "type": "string",
          "title": "File Extension"
        },
        "file_path": {
          "type": "string",
          "title": "File Path"
        },
        "file_size_bytes": {
          "type": "integer",
          "title": "File Size Bytes"
        },
        "full_path": {
          "type": "string",
          "title": "Full Path"
        },
        "is_verified": {
          "type": "boolean",
          "title": "Is Verified"
        },
        "crc_hash": {
          "type": "string",
          "title": "Crc Hash"
        },
        "md5_hash": {
          "type": "string",
          "title": "Md5 Hash"
        },
        "sha1_hash": {
          "type": "string",
          "title": "Sha1 Hash"
        },
        "missing_from_fs": {
          "type": "boolean",
          "title": "Missing From Fs"
        },
        "created_at": {
          "type": "string",
          "title": "Created At"
        },
        "updated_at": {
          "type": "string",
          "title": "Updated At"
        }
      },
      "type": "object",
      "required": [
        "id",
        "platform_id",
        "file_name",
        "file_name_no_tags",
        "file_name_no_ext",
        "file_extension",
        "file_path",
        "file_size_bytes",
        "full_path",
        "is_verified",
        "crc_hash",
        "md5_hash",
        "sha1_hash",
        "missing_from_fs",
        "created_at",
        "updated_at"
      ],
      "title": "FirmwareSchema"
    }
  }
}