{
    "description": "A game is a release-agnostic pinball table.",
    "properties": {
        "_created_by": {
            "description": "Reference to the user who created this game. Only visible by contributors and above.",
            "readOnly": true,
            "type": "string"
        },
        "_id": {
            "description": "Unique identifier for a game. Must be set at creation and becomes read-only after that. Typically the most common abbreviation of a game is used, e.g. `afm` for *Attack From Mars*.",
            "pattern": "^[a-z0-9-]{2,}$",
            "type": "string",
            "writeOnce": true
        },
        "_media": {
            "description": "Media References",
            "properties": {
                "backglass": {
                    "description": "Reference to an uploaded backglass image.",
                    "type": "string"
                },
                "logo": {
                    "description": "Reference to an uploaded logo.",
                    "type": "string"
                }
            },
            "title": "Media References",
            "type": "object"
        },
        "artists": {
            "description": "A list of people who provided artwork for the game.",
            "items": {
                "type": "string"
            },
            "type": "array",
            "_uniqueItems": true
        },
        "created_at": {
            "description": "Timestamp when the game was added to the database.",
            "readOnly": true,
            "type": "string"
        },
        "description": {
            "description": "A short description of the game. Will be Markdown formatted.",
            "type": "string"
        },
        "designers": {
            "description": "A list of people who designed the gameplay.",
            "items": {
                "type": "string"
            },
            "type": "array",
            "_uniqueItems": true
        },
        "features": {
            "description": "Noteable features of the game.",
            "type": "string"
        },
        "game_type": {
            "description": "How the game is built. The following are valid values:\n * `ss` - Solid state game\n * `em` - Electro-mechanical game\n * `pm` - Pure mechanical game\n * `og` - Original game\n * `na` - Not available (unknown)",
            "enum": [
                "ss",
                "em",
                "pm",
                "og",
                "na"
            ]
        },
        "instructions": {
            "description": "Instructions how to play the game. Will be Markdown formatted.",
            "type": "string"
        },
        "ipdb": {
            "description": "Data specific to [ipdb.org](http://ipdb.org).",
            "properties": {
                "mfg": {
                    "description": "ID of the manufacturer.",
                    "type": "integer"
                },
                "number": {
                    "description": "The unique ipdb.org ID.",
                    "type": "integer"
                },
                "rating": {
                    "description": "Rating at the time the games was added to the database.",
                    "maximum": 10,
                    "minimum": 0,
                    "type": "number"
                }
            },
            "title": "IPDB data",
            "type": "object"
        },
        "manufacturer": {
            "description": "Name of the game manufacturer. For *original games*, put the author name or alias.",
            "minLength": 3,
            "type": "string"
        },
        "model_number": {
            "description": "The model number of this game given by the manufacturer.",
            "type": "string"
        },
        "notes": {
            "description": "Any special notes about the game.",
            "type": "string"
        },
        "produced_units": {
            "description": "How my units of this game were manufactured.",
            "type": "integer"
        },
        "short": {
            "description": "A list of common abbreviations for the game.",
            "items": {
                "type": "string"
            },
            "type": "array",
            "_uniqueItems": true
        },
        "slogans": {
            "description": "Slogans used when advertising the game.",
            "type": "string"
        },
        "themes": {
            "description": "A list of themes related to the game.",
            "items": {
                "type": "string"
            },
            "type": "array",
            "_uniqueItems": true
        },
        "title": {
            "description": "The full title of the game.",
            "minLength": 3,
            "type": "string"
        },
        "toys": {
            "description": "Toys that are on the playfield of the game.",
            "type": "string"
        },
        "year": {
            "description": "The year in which the games was released.",
            "type": "integer"
        }
    },
    "required": [
        "id",
        "title",
        "year",
        "manufacturer",
        "game_type",
        "_media.backglass"
    ],
    "title": "Game",
    "type": "object"
}