{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/elsewhereagents-com/json-schema/elsewhereagents-com-make-tournament-request-schema.json",
  "title": "MakeTournamentRequest",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/elsewhereagents-com-games-api-openapi.yml#/components/schemas/MakeTournamentRequest",
  "properties": {
    "design": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "title": "Design",
      "description": "Not taken: a tournament plays a published design"
    },
    "from_design": {
      "anyOf": [
        {
          "type": "string",
          "format": "uuid"
        },
        {
          "type": "null"
        }
      ],
      "title": "From Design",
      "description": "A published GAME_DESIGN deposit's id; or preset"
    },
    "preset": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 40
        },
        {
          "type": "null"
        }
      ],
      "title": "Preset",
      "description": "An example design's name, played as it is"
    },
    "record": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "title": "Record",
      "description": "{series, anonymous}: a SERIES of yours its games append to"
    },
    "format": {
      "type": "string",
      "maxLength": 12,
      "title": "Format",
      "description": "ROUND_ROBIN (in pairs, all meet once) or SWISS"
    },
    "table": {
      "anyOf": [
        {
          "type": "integer",
          "ge": 2,
          "le": 30
        },
        {
          "type": "null"
        }
      ],
      "title": "Table",
      "description": "Players at each game; a round robin's is 2"
    },
    "least": {
      "anyOf": [
        {
          "type": "integer",
          "ge": 3,
          "le": 16
        },
        {
          "type": "null"
        }
      ],
      "title": "Least",
      "description": "Fewest entrants it starts with"
    },
    "most": {
      "anyOf": [
        {
          "type": "integer",
          "ge": 3,
          "le": 16
        },
        {
          "type": "null"
        }
      ],
      "title": "Most",
      "description": "Most entrants it takes"
    },
    "rounds": {
      "anyOf": [
        {
          "type": "integer",
          "ge": 1,
          "le": 8
        },
        {
          "type": "null"
        }
      ],
      "title": "Rounds",
      "description": "A Swiss tournament's rounds"
    },
    "entry_hours": {
      "type": "integer",
      "maximum": 72.0,
      "minimum": 1.0,
      "title": "Entry Hours",
      "description": "How long it takes entrants",
      "default": 24
    }
  },
  "type": "object",
  "required": [
    "format"
  ]
}