datInfo
The datInfo object contains information related to the DAT file and the people who
created it. It functions like a header for the file.
In the following example, required properties are highlighted. The values are for example only.
"datInfo": {
"schema": "https://www.github.com/unexpectedpanda/datmodel",
"name": "Company - Console",
"source": "Release group",
"sourceUrl": "https://www.example.com",
"version": "1.1.1",
"date": "2025-12-30 13:23:54",
"platformEol": "2013-01-04",
"contributors": ["Contributor 1", "Contributor 2", "Contributor 3"],
"comments": "Created with magic DAT generator 2.3.1"
}
ROM manager flags
Unlike the LogiqX DAT standard, flags for specific ROM managers aren't required. Relevant
metadata to implement that functionality is provided at the titles level.
Required properties
-
schemastringrequiredThe link back to the JSON schema that validates the DAT file.
-
namestringrequiredThe name of the DAT file. This is usually something that describes the scope of content covered by the file. For example, a platform (
Sony - PlayStation), a curated collection (ExoDOS), a theme (Adventure games), or otherwise. This name is shown in client software to tell the end user what file they're working with, and to manage updates to the file. -
sourcestringrequiredThe origin of the DAT file, whether that be a group or individual.
-
datepattern stringrequiredWhen the DAT file was created. Must be an ISO 8601 extended format date, without the time zone (
YYYY-MM-DD hh:mm:ss). For example:2025-12-30 23:01:05.- Time uses 24-hour syntax.
- Hours, minutes, and seconds are always double digit, and use leading zeros where appropiate.
- Seconds are optional.
Expand for developer details
Validated with the following regular expression:
^[2-9][0-9]{3,3}-(?:(?:0[469]|11)-(?:0[1-9]|1[0-9]|2[0-9]|30)|02-(?:0[1-9]|1[0-9]|2[0-9])|(?:0[13578]|10|12)-(?:0[1-9]|1[0-9]|2[0-9]|3[01])) (?:0[0-9]|1[0-9]|2[0-3]):(?:[0-5][0-9]:?){1,2}(?<!:)$There's a lower year bound of 2000, and an upper year bound of 9999. The regular expression also constrains month and date pairs appropriately, although it's possible to have February 29 on a non-leap year. It's assumed that systems generating the DAT file will generate valid dates to avoid this. The schema validation just enforces the format to enable easier programmatic comparisons when determining if one DAT file is newer than another.
Optional properties
-
commentsstringoptionalComments related to the DAT file. For example, compression settings used, or other things users should know about.
-
contributorsstring arrayoptionalWhen multiple individuals or groups have contributed to the data contained in the DAT file, they are listed here.
-
platformEolpattern stringoptionalThe end of life date for a platform that the DAT file describes. For example, the Sony Playstation 2 ceased production on 2013-01-04.
DAT applications can use this to filter out titles that were released after the lifespan of a platform, using the
releaseDateproperty. -
sourceUrlstringoptionalThe website of the source. For example,
https://www.example.com. -
versionpattern stringoptionalThe version of the DAT file. For example,
1.1.1. The version must be a semantic version.