{
  "openapi": "3.1.1",
  "info": {
    "title": "Leaderboard.Api | v1",
    "version": "1.0.0"
  },
  "servers": [
    {
      "url": "http://zt-tournament-leaderboards-api-fhdqg3bka5fqe2dv.westeurope-01.azurewebsites.net/"
    }
  ],
  "paths": {
    "/": {
      "get": {
        "tags": [
          "Leaderboard.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/version": {
      "get": {
        "tags": [
          "Leaderboard.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/auth/login": {
      "post": {
        "tags": [
          "Leaderboard.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LoginRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/auth/me": {
      "get": {
        "tags": [
          "Leaderboard.Api"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/clients": {
      "get": {
        "tags": [
          "Leaderboard.Api"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ClientDto"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Leaderboard.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertClientRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/clients/paged": {
      "get": {
        "tags": [
          "Leaderboard.Api"
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/ClientStatus"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResultOfClientDto"
                }
              }
            }
          }
        }
      }
    },
    "/api/clients/{id}": {
      "put": {
        "tags": [
          "Leaderboard.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertClientRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "Leaderboard.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/branding": {
      "get": {
        "tags": [
          "Leaderboard.Api"
        ],
        "parameters": [
          {
            "name": "clientId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "Leaderboard.Api"
        ],
        "parameters": [
          {
            "name": "clientId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertPublicPageSettingsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/branding/assets": {
      "post": {
        "tags": [
          "Leaderboard.Api"
        ],
        "parameters": [
          {
            "name": "clientId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "seasonId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "kind",
            "in": "query",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/BrandAssetKind"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "required": [
                  "file"
                ],
                "type": "object",
                "properties": {
                  "file": {
                    "$ref": "#/components/schemas/IFormFile"
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/branding/assets/{id}": {
      "delete": {
        "tags": [
          "Leaderboard.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/users": {
      "get": {
        "tags": [
          "Leaderboard.Api"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/UserDto"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Leaderboard.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertUserRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/users/paged": {
      "get": {
        "tags": [
          "Leaderboard.Api"
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "clientId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "role",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/UserRole"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/UserStatus"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResultOfUserDto"
                }
              }
            }
          }
        }
      }
    },
    "/api/users/{id}": {
      "put": {
        "tags": [
          "Leaderboard.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertUserRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "Leaderboard.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/event-types": {
      "get": {
        "tags": [
          "Leaderboard.Api"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EventTypeDto"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Leaderboard.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertEventTypeRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/event-types/paged": {
      "get": {
        "tags": [
          "Leaderboard.Api"
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "isActive",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "format",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/EventFormat"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResultOfEventTypeDto"
                }
              }
            }
          }
        }
      }
    },
    "/api/event-types/{id}": {
      "get": {
        "tags": [
          "Leaderboard.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "Leaderboard.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertEventTypeRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/point-algorithms": {
      "get": {
        "tags": [
          "Leaderboard.Api"
        ],
        "parameters": [
          {
            "name": "eventTypeId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Leaderboard.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertPointAlgorithmRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/point-algorithms/paged": {
      "get": {
        "tags": [
          "Leaderboard.Api"
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "isActive",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "eventTypeId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "format",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/EventFormat"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResultOfPointAlgorithmDto"
                }
              }
            }
          }
        }
      }
    },
    "/api/point-algorithms/{id}": {
      "get": {
        "tags": [
          "Leaderboard.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "Leaderboard.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertPointAlgorithmRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/members": {
      "get": {
        "tags": [
          "Leaderboard.Api"
        ],
        "parameters": [
          {
            "name": "clientId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MemberDto"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Leaderboard.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertMemberRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/members/paged": {
      "get": {
        "tags": [
          "Leaderboard.Api"
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "clientId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/MemberStatus"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResultOfMemberDto"
                }
              }
            }
          }
        }
      }
    },
    "/api/members/{id}": {
      "put": {
        "tags": [
          "Leaderboard.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertMemberRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/leagues": {
      "get": {
        "tags": [
          "Leaderboard.Api"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LeagueDto"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Leaderboard.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertLeagueRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/leagues/paged": {
      "get": {
        "tags": [
          "Leaderboard.Api"
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "eventTypeId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/LeagueStatus"
            }
          },
          {
            "name": "isPublic",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResultOfLeagueDto"
                }
              }
            }
          }
        }
      }
    },
    "/api/leagues/{id}": {
      "put": {
        "tags": [
          "Leaderboard.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertLeagueRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "Leaderboard.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/leagues/{id}/archive": {
      "post": {
        "tags": [
          "Leaderboard.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/seasons": {
      "get": {
        "tags": [
          "Leaderboard.Api"
        ],
        "parameters": [
          {
            "name": "leagueId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SeasonDto"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Leaderboard.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertSeasonRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/seasons/paged": {
      "get": {
        "tags": [
          "Leaderboard.Api"
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "leagueId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "eventTypeId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/SeasonStatus"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResultOfSeasonDto"
                }
              }
            }
          }
        }
      }
    },
    "/api/seasons/{id}": {
      "get": {
        "tags": [
          "Leaderboard.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "Leaderboard.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertSeasonRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "Leaderboard.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/seasons/{id}/public-link": {
      "get": {
        "tags": [
          "Leaderboard.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/seasons/{id}/public-page-settings": {
      "get": {
        "tags": [
          "Leaderboard.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "Leaderboard.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertPublicPageSettingsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "Leaderboard.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/seasons/{id}/public-page-preview": {
      "get": {
        "tags": [
          "Leaderboard.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/seasons/{id}/members": {
      "get": {
        "tags": [
          "Leaderboard.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SeasonMemberDto"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Leaderboard.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertSeasonMemberRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/seasons/{id}/members/paged": {
      "get": {
        "tags": [
          "Leaderboard.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/MemberStatus"
            }
          },
          {
            "name": "group",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "teamId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResultOfSeasonMemberDto"
                }
              }
            }
          }
        }
      }
    },
    "/api/seasons/{seasonId}/members/{seasonMemberId}": {
      "put": {
        "tags": [
          "Leaderboard.Api"
        ],
        "parameters": [
          {
            "name": "seasonId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "seasonMemberId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertSeasonMemberRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "Leaderboard.Api"
        ],
        "parameters": [
          {
            "name": "seasonId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "seasonMemberId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/seasons/{id}/leaderboards": {
      "get": {
        "tags": [
          "Leaderboard.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "viewType",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/LeaderboardViewType"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LeaderboardRowDto"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/seasons/{id}/leaderboards/recalculate": {
      "post": {
        "tags": [
          "Leaderboard.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/teams": {
      "get": {
        "tags": [
          "Leaderboard.Api"
        ],
        "parameters": [
          {
            "name": "seasonId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TeamDto"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Leaderboard.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertTeamRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/teams/paged": {
      "get": {
        "tags": [
          "Leaderboard.Api"
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "seasonId",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "teamType",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/TeamType"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/TeamStatus"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResultOfTeamDto"
                }
              }
            }
          }
        }
      }
    },
    "/api/teams/{id}": {
      "put": {
        "tags": [
          "Leaderboard.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertTeamRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/fixtures": {
      "get": {
        "tags": [
          "Leaderboard.Api"
        ],
        "parameters": [
          {
            "name": "seasonId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FixtureDto"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Leaderboard.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertFixtureRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/fixtures/paged": {
      "get": {
        "tags": [
          "Leaderboard.Api"
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "seasonId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/FixtureStatus"
            }
          },
          {
            "name": "dateFrom",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "dateTo",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResultOfFixtureDto"
                }
              }
            }
          }
        }
      }
    },
    "/api/fixtures/{id}": {
      "put": {
        "tags": [
          "Leaderboard.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertFixtureRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/match-results": {
      "get": {
        "tags": [
          "Leaderboard.Api"
        ],
        "parameters": [
          {
            "name": "seasonId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MatchResultDto"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Leaderboard.Api"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CaptureMatchResultRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/match-results/paged": {
      "get": {
        "tags": [
          "Leaderboard.Api"
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "seasonId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/ResultStatus"
            }
          },
          {
            "name": "dateFrom",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "dateTo",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResultOfMatchResultDto"
                }
              }
            }
          }
        }
      }
    },
    "/api/match-results/{id}": {
      "put": {
        "tags": [
          "Leaderboard.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateMatchResultRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "Leaderboard.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/public-links": {
      "get": {
        "tags": [
          "Leaderboard.Api"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PublicLinkDto"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Leaderboard.Api"
        ],
        "parameters": [
          {
            "name": "leagueId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "seasonId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/public-links/paged": {
      "get": {
        "tags": [
          "Leaderboard.Api"
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "seasonId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "enabled",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedResultOfPublicLinkDto"
                }
              }
            }
          }
        }
      }
    },
    "/api/public-links/{id}": {
      "delete": {
        "tags": [
          "Leaderboard.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/public-links/{id}/qr": {
      "get": {
        "tags": [
          "Leaderboard.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/public/assets/{id}": {
      "get": {
        "tags": [
          "Leaderboard.Api"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/public/{token}": {
      "get": {
        "tags": [
          "Leaderboard.Api"
        ],
        "parameters": [
          {
            "name": "token",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/public/{token}/qr": {
      "get": {
        "tags": [
          "Leaderboard.Api"
        ],
        "parameters": [
          {
            "name": "token",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "download",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "AlgorithmSummaryDto": {
        "required": [
          "id",
          "code",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "code": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        }
      },
      "BrandAssetKind": {
        "type": "integer"
      },
      "CaptureMatchResultRequest": {
        "required": [
          "seasonId",
          "fixtureId",
          "matchDate",
          "teamAMemberIds",
          "teamBMemberIds",
          "teamAScore",
          "teamBScore",
          "notes",
          "bonusJson",
          "allowDuplicateSameDay"
        ],
        "type": "object",
        "properties": {
          "seasonId": {
            "type": "string",
            "format": "uuid"
          },
          "fixtureId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "matchDate": {
            "type": "string",
            "format": "date"
          },
          "teamAMemberIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            }
          },
          "teamBMemberIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            }
          },
          "teamAScore": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "teamBScore": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "notes": {
            "type": [
              "null",
              "string"
            ]
          },
          "bonusJson": {
            "type": "string"
          },
          "allowDuplicateSameDay": {
            "type": "boolean"
          }
        }
      },
      "ClientDto": {
        "required": [
          "id",
          "name",
          "slug",
          "logoUrl",
          "primaryColour",
          "secondaryColour",
          "status"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "logoUrl": {
            "type": [
              "null",
              "string"
            ]
          },
          "primaryColour": {
            "type": "string"
          },
          "secondaryColour": {
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/ClientStatus"
          }
        }
      },
      "ClientStatus": {
        "type": "integer"
      },
      "EventFormat": {
        "type": "integer"
      },
      "EventTypeDto": {
        "required": [
          "id",
          "name",
          "description",
          "supportedFormats",
          "supportedTeamSizes",
          "allowsFixtures",
          "allowsGroups",
          "allowsKnockoutBracket",
          "allowsLadderMovement",
          "allowsElo",
          "allowsAnalytics",
          "algorithmCodes",
          "allowedAlgorithms",
          "defaultAlgorithmCode",
          "defaultAlgorithmId",
          "isActive"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "supportedFormats": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EventFormat"
            }
          },
          "supportedTeamSizes": {
            "type": "array",
            "items": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          "allowsFixtures": {
            "type": "boolean"
          },
          "allowsGroups": {
            "type": "boolean"
          },
          "allowsKnockoutBracket": {
            "type": "boolean"
          },
          "allowsLadderMovement": {
            "type": "boolean"
          },
          "allowsElo": {
            "type": "boolean"
          },
          "allowsAnalytics": {
            "type": "boolean"
          },
          "algorithmCodes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "allowedAlgorithms": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AlgorithmSummaryDto"
            }
          },
          "defaultAlgorithmCode": {
            "type": "string"
          },
          "defaultAlgorithmId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "isActive": {
            "type": "boolean"
          }
        }
      },
      "FixtureDto": {
        "required": [
          "id",
          "leagueId",
          "seasonId",
          "groupId",
          "round",
          "scheduledDate",
          "scheduledTime",
          "teamAId",
          "teamBId",
          "teamAName",
          "teamBName",
          "teamAMemberIds",
          "teamBMemberIds",
          "teamAMemberNames",
          "teamBMemberNames",
          "venue",
          "status"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "leagueId": {
            "type": "string",
            "format": "uuid"
          },
          "seasonId": {
            "type": "string",
            "format": "uuid"
          },
          "groupId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "round": {
            "type": [
              "null",
              "string"
            ]
          },
          "scheduledDate": {
            "type": [
              "null",
              "string"
            ],
            "format": "date"
          },
          "scheduledTime": {
            "type": [
              "null",
              "string"
            ],
            "format": "time"
          },
          "teamAId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "teamBId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "teamAName": {
            "type": "string"
          },
          "teamBName": {
            "type": "string"
          },
          "teamAMemberIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            }
          },
          "teamBMemberIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            }
          },
          "teamAMemberNames": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "teamBMemberNames": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "venue": {
            "type": [
              "null",
              "string"
            ]
          },
          "status": {
            "$ref": "#/components/schemas/FixtureStatus"
          }
        }
      },
      "FixtureStatus": {
        "type": "integer"
      },
      "IFormFile": {
        "type": "string",
        "format": "binary"
      },
      "LeaderboardRowDto": {
        "required": [
          "rank",
          "entityId",
          "name",
          "viewType",
          "played",
          "won",
          "drawn",
          "lost",
          "points",
          "pointsFor",
          "pointsAgainst",
          "pointDifference",
          "winPercentage",
          "eloRating",
          "rankMovement",
          "lastPlayedAt"
        ],
        "type": "object",
        "properties": {
          "rank": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "entityId": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string"
          },
          "viewType": {
            "$ref": "#/components/schemas/LeaderboardViewType"
          },
          "played": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "won": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "drawn": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "lost": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "points": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "pointsFor": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "pointsAgainst": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "pointDifference": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "winPercentage": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "eloRating": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "rankMovement": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "lastPlayedAt": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          }
        }
      },
      "LeaderboardViewType": {
        "type": "integer"
      },
      "LeagueDto": {
        "required": [
          "id",
          "clientId",
          "eventTypeId",
          "eventTypeName",
          "name",
          "description",
          "status",
          "isPublic",
          "fixturesEnabled",
          "createdAt",
          "createdByUserId",
          "canDelete"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "clientId": {
            "type": "string",
            "format": "uuid"
          },
          "eventTypeId": {
            "type": "string",
            "format": "uuid"
          },
          "eventTypeName": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "status": {
            "$ref": "#/components/schemas/LeagueStatus"
          },
          "isPublic": {
            "type": "boolean"
          },
          "fixturesEnabled": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "createdByUserId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "canDelete": {
            "type": "boolean"
          }
        }
      },
      "LeagueStatus": {
        "type": "integer"
      },
      "LoginRequest": {
        "required": [
          "email",
          "password"
        ],
        "type": "object",
        "properties": {
          "email": {
            "type": "string"
          },
          "password": {
            "type": "string"
          }
        }
      },
      "MatchResultDto": {
        "required": [
          "id",
          "leagueId",
          "seasonId",
          "fixtureId",
          "matchDate",
          "capturedAt",
          "capturedByUserId",
          "lastUpdatedByUserId",
          "teamAName",
          "teamBName",
          "teamAMemberIds",
          "teamBMemberIds",
          "teamAMemberNames",
          "teamBMemberNames",
          "teamAScore",
          "teamBScore",
          "winnerTeamId",
          "pointDifference",
          "status",
          "notes",
          "bonusJson"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "leagueId": {
            "type": "string",
            "format": "uuid"
          },
          "seasonId": {
            "type": "string",
            "format": "uuid"
          },
          "fixtureId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "matchDate": {
            "type": "string",
            "format": "date"
          },
          "capturedAt": {
            "type": "string",
            "format": "date-time"
          },
          "capturedByUserId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "lastUpdatedByUserId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "teamAName": {
            "type": "string"
          },
          "teamBName": {
            "type": "string"
          },
          "teamAMemberIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            }
          },
          "teamBMemberIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            }
          },
          "teamAMemberNames": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "teamBMemberNames": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "teamAScore": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "teamBScore": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "winnerTeamId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "pointDifference": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "status": {
            "$ref": "#/components/schemas/ResultStatus"
          },
          "notes": {
            "type": [
              "null",
              "string"
            ]
          },
          "bonusJson": {
            "type": "string"
          }
        }
      },
      "MemberDto": {
        "required": [
          "id",
          "clientId",
          "clientName",
          "displayName",
          "firstName",
          "lastName",
          "email",
          "phone",
          "status",
          "notes"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "clientId": {
            "type": "string",
            "format": "uuid"
          },
          "clientName": {
            "type": [
              "null",
              "string"
            ]
          },
          "displayName": {
            "type": "string"
          },
          "firstName": {
            "type": [
              "null",
              "string"
            ]
          },
          "lastName": {
            "type": [
              "null",
              "string"
            ]
          },
          "email": {
            "type": [
              "null",
              "string"
            ]
          },
          "phone": {
            "type": [
              "null",
              "string"
            ]
          },
          "status": {
            "$ref": "#/components/schemas/MemberStatus"
          },
          "notes": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "MemberStatus": {
        "type": "integer"
      },
      "PagedResultOfClientDto": {
        "required": [
          "items",
          "page",
          "pageSize",
          "totalCount",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClientDto"
            }
          },
          "page": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "pageSize": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "totalCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "totalPages": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "PagedResultOfEventTypeDto": {
        "required": [
          "items",
          "page",
          "pageSize",
          "totalCount",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EventTypeDto"
            }
          },
          "page": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "pageSize": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "totalCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "totalPages": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "PagedResultOfFixtureDto": {
        "required": [
          "items",
          "page",
          "pageSize",
          "totalCount",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FixtureDto"
            }
          },
          "page": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "pageSize": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "totalCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "totalPages": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "PagedResultOfLeagueDto": {
        "required": [
          "items",
          "page",
          "pageSize",
          "totalCount",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LeagueDto"
            }
          },
          "page": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "pageSize": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "totalCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "totalPages": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "PagedResultOfMatchResultDto": {
        "required": [
          "items",
          "page",
          "pageSize",
          "totalCount",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MatchResultDto"
            }
          },
          "page": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "pageSize": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "totalCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "totalPages": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "PagedResultOfMemberDto": {
        "required": [
          "items",
          "page",
          "pageSize",
          "totalCount",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MemberDto"
            }
          },
          "page": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "pageSize": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "totalCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "totalPages": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "PagedResultOfPointAlgorithmDto": {
        "required": [
          "items",
          "page",
          "pageSize",
          "totalCount",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PointAlgorithmDto"
            }
          },
          "page": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "pageSize": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "totalCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "totalPages": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "PagedResultOfPublicLinkDto": {
        "required": [
          "items",
          "page",
          "pageSize",
          "totalCount",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PublicLinkDto"
            }
          },
          "page": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "pageSize": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "totalCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "totalPages": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "PagedResultOfSeasonDto": {
        "required": [
          "items",
          "page",
          "pageSize",
          "totalCount",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeasonDto"
            }
          },
          "page": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "pageSize": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "totalCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "totalPages": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "PagedResultOfSeasonMemberDto": {
        "required": [
          "items",
          "page",
          "pageSize",
          "totalCount",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeasonMemberDto"
            }
          },
          "page": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "pageSize": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "totalCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "totalPages": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "PagedResultOfTeamDto": {
        "required": [
          "items",
          "page",
          "pageSize",
          "totalCount",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TeamDto"
            }
          },
          "page": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "pageSize": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "totalCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "totalPages": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "PagedResultOfUserDto": {
        "required": [
          "items",
          "page",
          "pageSize",
          "totalCount",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UserDto"
            }
          },
          "page": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "pageSize": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "totalCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "totalPages": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "PointAlgorithmDto": {
        "required": [
          "id",
          "code",
          "name",
          "description",
          "supportedFormats",
          "supportedEventTypeIds",
          "configurationSchemaJson",
          "defaultConfigJson",
          "version",
          "isActive"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "code": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "supportedFormats": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EventFormat"
            }
          },
          "supportedEventTypeIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            }
          },
          "configurationSchemaJson": {
            "type": "string"
          },
          "defaultConfigJson": {
            "type": "string"
          },
          "version": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          }
        }
      },
      "PublicLinkDto": {
        "required": [
          "id",
          "leagueId",
          "seasonId",
          "token",
          "shortCode",
          "urlPath",
          "isEnabled",
          "createdAt",
          "disabledAt"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "leagueId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "seasonId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "token": {
            "type": "string"
          },
          "shortCode": {
            "type": "string"
          },
          "urlPath": {
            "type": "string"
          },
          "isEnabled": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "disabledAt": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          }
        }
      },
      "PublicPageTemplate": {
        "type": "integer"
      },
      "ResultStatus": {
        "type": "integer"
      },
      "SeasonDto": {
        "required": [
          "id",
          "leagueId",
          "eventTypeId",
          "pointCalculationAlgorithmId",
          "leagueName",
          "eventTypeName",
          "algorithmCode",
          "name",
          "startDate",
          "endDate",
          "format",
          "teamSize",
          "scoringConfigJson",
          "publicLeaderboardEnabled",
          "eloEnabled",
          "startingElo",
          "kFactor",
          "publicEloVisible",
          "status",
          "fixturesEnabled",
          "createdAt",
          "createdByUserId",
          "canDelete"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "leagueId": {
            "type": "string",
            "format": "uuid"
          },
          "eventTypeId": {
            "type": "string",
            "format": "uuid"
          },
          "pointCalculationAlgorithmId": {
            "type": "string",
            "format": "uuid"
          },
          "leagueName": {
            "type": "string"
          },
          "eventTypeName": {
            "type": "string"
          },
          "algorithmCode": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "startDate": {
            "type": [
              "null",
              "string"
            ],
            "format": "date"
          },
          "endDate": {
            "type": [
              "null",
              "string"
            ],
            "format": "date"
          },
          "format": {
            "$ref": "#/components/schemas/EventFormat"
          },
          "teamSize": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "scoringConfigJson": {
            "type": "string"
          },
          "publicLeaderboardEnabled": {
            "type": "boolean"
          },
          "eloEnabled": {
            "type": "boolean"
          },
          "startingElo": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "kFactor": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "publicEloVisible": {
            "type": "boolean"
          },
          "status": {
            "$ref": "#/components/schemas/SeasonStatus"
          },
          "fixturesEnabled": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "createdByUserId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "canDelete": {
            "type": "boolean"
          }
        }
      },
      "SeasonMemberDto": {
        "required": [
          "id",
          "seasonId",
          "memberId",
          "displayName",
          "startingRating",
          "seed",
          "groupName",
          "teamId",
          "teamName",
          "status"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "seasonId": {
            "type": "string",
            "format": "uuid"
          },
          "memberId": {
            "type": "string",
            "format": "uuid"
          },
          "displayName": {
            "type": "string"
          },
          "startingRating": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "seed": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "groupName": {
            "type": [
              "null",
              "string"
            ]
          },
          "teamId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "teamName": {
            "type": [
              "null",
              "string"
            ]
          },
          "status": {
            "$ref": "#/components/schemas/MemberStatus"
          }
        }
      },
      "SeasonStatus": {
        "type": "integer"
      },
      "TeamDto": {
        "required": [
          "id",
          "seasonId",
          "name",
          "teamType",
          "teamKey",
          "status",
          "memberIds",
          "memberNames"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "seasonId": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string"
          },
          "teamType": {
            "$ref": "#/components/schemas/TeamType"
          },
          "teamKey": {
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/TeamStatus"
          },
          "memberIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            }
          },
          "memberNames": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "TeamStatus": {
        "type": "integer"
      },
      "TeamType": {
        "type": "integer"
      },
      "UpdateMatchResultRequest": {
        "required": [
          "matchDate",
          "teamAScore",
          "teamBScore",
          "notes",
          "bonusJson"
        ],
        "type": "object",
        "properties": {
          "matchDate": {
            "type": "string",
            "format": "date"
          },
          "teamAScore": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "teamBScore": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "notes": {
            "type": [
              "null",
              "string"
            ]
          },
          "bonusJson": {
            "type": "string"
          }
        }
      },
      "UpsertClientRequest": {
        "required": [
          "name",
          "slug",
          "logoUrl",
          "primaryColour",
          "secondaryColour",
          "status"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "logoUrl": {
            "type": [
              "null",
              "string"
            ]
          },
          "primaryColour": {
            "type": "string"
          },
          "secondaryColour": {
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/ClientStatus"
          }
        }
      },
      "UpsertEventTypeRequest": {
        "required": [
          "name",
          "description",
          "supportedFormats",
          "supportedTeamSizes",
          "allowsFixtures",
          "allowsGroups",
          "allowsKnockoutBracket",
          "allowsLadderMovement",
          "allowsElo",
          "allowsAnalytics",
          "algorithmCodes",
          "defaultAlgorithmCode",
          "isActive"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "supportedFormats": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EventFormat"
            }
          },
          "supportedTeamSizes": {
            "type": "array",
            "items": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          "allowsFixtures": {
            "type": "boolean"
          },
          "allowsGroups": {
            "type": "boolean"
          },
          "allowsKnockoutBracket": {
            "type": "boolean"
          },
          "allowsLadderMovement": {
            "type": "boolean"
          },
          "allowsElo": {
            "type": "boolean"
          },
          "allowsAnalytics": {
            "type": "boolean"
          },
          "algorithmCodes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "defaultAlgorithmCode": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          }
        }
      },
      "UpsertFixtureRequest": {
        "required": [
          "seasonId",
          "groupId",
          "round",
          "scheduledDate",
          "scheduledTime",
          "teamAId",
          "teamBId",
          "teamAMemberIds",
          "teamBMemberIds",
          "venue",
          "status"
        ],
        "type": "object",
        "properties": {
          "seasonId": {
            "type": "string",
            "format": "uuid"
          },
          "groupId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "round": {
            "type": [
              "null",
              "string"
            ]
          },
          "scheduledDate": {
            "type": [
              "null",
              "string"
            ],
            "format": "date"
          },
          "scheduledTime": {
            "type": [
              "null",
              "string"
            ],
            "format": "time"
          },
          "teamAId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "teamBId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "teamAMemberIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            }
          },
          "teamBMemberIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            }
          },
          "venue": {
            "type": [
              "null",
              "string"
            ]
          },
          "status": {
            "$ref": "#/components/schemas/FixtureStatus"
          }
        }
      },
      "UpsertLeagueRequest": {
        "required": [
          "eventTypeId",
          "name",
          "description",
          "status",
          "isPublic",
          "fixturesEnabled"
        ],
        "type": "object",
        "properties": {
          "eventTypeId": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "status": {
            "$ref": "#/components/schemas/LeagueStatus"
          },
          "isPublic": {
            "type": "boolean"
          },
          "fixturesEnabled": {
            "type": "boolean"
          }
        }
      },
      "UpsertMemberRequest": {
        "required": [
          "clientId",
          "displayName",
          "firstName",
          "lastName",
          "email",
          "phone",
          "status",
          "notes"
        ],
        "type": "object",
        "properties": {
          "clientId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "displayName": {
            "type": "string"
          },
          "firstName": {
            "type": [
              "null",
              "string"
            ]
          },
          "lastName": {
            "type": [
              "null",
              "string"
            ]
          },
          "email": {
            "type": [
              "null",
              "string"
            ]
          },
          "phone": {
            "type": [
              "null",
              "string"
            ]
          },
          "status": {
            "$ref": "#/components/schemas/MemberStatus"
          },
          "notes": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "UpsertPointAlgorithmRequest": {
        "required": [
          "code",
          "name",
          "description",
          "supportedFormats",
          "supportedEventTypeIds",
          "configurationSchemaJson",
          "defaultConfigJson",
          "version",
          "isActive"
        ],
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "supportedFormats": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EventFormat"
            }
          },
          "supportedEventTypeIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            }
          },
          "configurationSchemaJson": {
            "type": "string"
          },
          "defaultConfigJson": {
            "type": "string"
          },
          "version": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          }
        }
      },
      "UpsertPublicPageSettingsRequest": {
        "required": [
          "template",
          "primaryColour",
          "secondaryColour",
          "logoAssetId",
          "bannerAssetId",
          "hideLogo",
          "hideBanner",
          "headline",
          "introText",
          "announcementText",
          "ctaLabel",
          "ctaUrl",
          "sponsorText",
          "sponsorUrl",
          "footerText"
        ],
        "type": "object",
        "properties": {
          "template": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/PublicPageTemplate"
              }
            ]
          },
          "primaryColour": {
            "type": [
              "null",
              "string"
            ]
          },
          "secondaryColour": {
            "type": [
              "null",
              "string"
            ]
          },
          "logoAssetId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "bannerAssetId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "hideLogo": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "hideBanner": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "headline": {
            "type": [
              "null",
              "string"
            ]
          },
          "introText": {
            "type": [
              "null",
              "string"
            ]
          },
          "announcementText": {
            "type": [
              "null",
              "string"
            ]
          },
          "ctaLabel": {
            "type": [
              "null",
              "string"
            ]
          },
          "ctaUrl": {
            "type": [
              "null",
              "string"
            ]
          },
          "sponsorText": {
            "type": [
              "null",
              "string"
            ]
          },
          "sponsorUrl": {
            "type": [
              "null",
              "string"
            ]
          },
          "footerText": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "UpsertSeasonMemberRequest": {
        "required": [
          "memberId",
          "startingRating",
          "seed",
          "groupName",
          "teamId",
          "status"
        ],
        "type": "object",
        "properties": {
          "memberId": {
            "type": "string",
            "format": "uuid"
          },
          "startingRating": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "seed": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "groupName": {
            "type": [
              "null",
              "string"
            ]
          },
          "teamId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "status": {
            "$ref": "#/components/schemas/MemberStatus"
          }
        }
      },
      "UpsertSeasonRequest": {
        "required": [
          "leagueId",
          "eventTypeId",
          "pointCalculationAlgorithmId",
          "name",
          "startDate",
          "endDate",
          "format",
          "teamSize",
          "scoringConfigJson",
          "publicLeaderboardEnabled",
          "eloEnabled",
          "startingElo",
          "kFactor",
          "publicEloVisible",
          "status"
        ],
        "type": "object",
        "properties": {
          "leagueId": {
            "type": "string",
            "format": "uuid"
          },
          "eventTypeId": {
            "type": "string",
            "format": "uuid"
          },
          "pointCalculationAlgorithmId": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string"
          },
          "startDate": {
            "type": [
              "null",
              "string"
            ],
            "format": "date"
          },
          "endDate": {
            "type": [
              "null",
              "string"
            ],
            "format": "date"
          },
          "format": {
            "$ref": "#/components/schemas/EventFormat"
          },
          "teamSize": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "scoringConfigJson": {
            "type": "string"
          },
          "publicLeaderboardEnabled": {
            "type": "boolean"
          },
          "eloEnabled": {
            "type": "boolean"
          },
          "startingElo": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "kFactor": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "publicEloVisible": {
            "type": "boolean"
          },
          "status": {
            "$ref": "#/components/schemas/SeasonStatus"
          }
        }
      },
      "UpsertTeamRequest": {
        "required": [
          "seasonId",
          "name",
          "teamType",
          "memberIds",
          "status"
        ],
        "type": "object",
        "properties": {
          "seasonId": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string"
          },
          "teamType": {
            "$ref": "#/components/schemas/TeamType"
          },
          "memberIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            }
          },
          "status": {
            "$ref": "#/components/schemas/TeamStatus"
          }
        }
      },
      "UpsertUserRequest": {
        "required": [
          "clientId",
          "email",
          "displayName",
          "role",
          "status",
          "password"
        ],
        "type": "object",
        "properties": {
          "clientId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "email": {
            "type": "string"
          },
          "displayName": {
            "type": "string"
          },
          "role": {
            "$ref": "#/components/schemas/UserRole"
          },
          "status": {
            "$ref": "#/components/schemas/UserStatus"
          },
          "password": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "UserDto": {
        "required": [
          "id",
          "clientId",
          "clientName",
          "email",
          "displayName",
          "role",
          "status"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "clientId": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "clientName": {
            "type": [
              "null",
              "string"
            ]
          },
          "email": {
            "type": "string"
          },
          "displayName": {
            "type": "string"
          },
          "role": {
            "$ref": "#/components/schemas/UserRole"
          },
          "status": {
            "$ref": "#/components/schemas/UserStatus"
          }
        }
      },
      "UserRole": {
        "type": "integer"
      },
      "UserStatus": {
        "type": "integer"
      }
    }
  },
  "tags": [
    {
      "name": "Leaderboard.Api"
    }
  ]
}