Skip to content

Types Reference

Enums

MatchType

Match type enumeration.

Attributes:

Name Type Description
CASUAL

Casual match.

RANKED

Ranked match.

PRIVATE

Private room match.

EVENT

Event match.

CASUAL = 1 class-attribute instance-attribute

Casual match.

RANKED = 2 class-attribute instance-attribute

Ranked match.

PRIVATE = 3 class-attribute instance-attribute

Private room match.

EVENT = 4 class-attribute instance-attribute

Event match.

SortOrder = Literal['newest', 'oldest', 'fastest', 'slowest'] module-attribute

Sort order for match listings.

  • "newest": Most recent first
  • "oldest": Oldest first
  • "fastest": Fastest completion time first
  • "slowest": Slowest completion time first

Shared Types

UserProfile pydantic-model

Basic user profile information.

Show JSON schema:
{
  "description": "Basic user profile information.",
  "properties": {
    "uuid": {
      "description": "UUID without dashes",
      "title": "Uuid",
      "type": "string"
    },
    "nickname": {
      "description": "Player display name",
      "title": "Nickname",
      "type": "string"
    },
    "roleType": {
      "description": "User role type",
      "title": "Roletype",
      "type": "integer"
    },
    "eloRate": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Elo rating for current season. None if placement matches not completed.",
      "title": "Elorate"
    },
    "eloRank": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Rank for current season",
      "title": "Elorank"
    },
    "country": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Country code (lowercase ISO 3166-1 alpha-2)",
      "title": "Country"
    }
  },
  "required": [
    "uuid",
    "nickname",
    "roleType"
  ],
  "title": "UserProfile",
  "type": "object"
}

Config:

  • default: {'populate_by_name': True}

Fields:

uuid: str pydantic-field

UUID without dashes

nickname: str pydantic-field

Player display name

role_type: int pydantic-field

User role type

elo_rate: int | None = None pydantic-field

Elo rating for current season. None if placement matches not completed.

elo_rank: int | None = None pydantic-field

Rank for current season

country: str | None = None pydantic-field

Country code (lowercase ISO 3166-1 alpha-2)

Achievement pydantic-model

User achievement data.

Show JSON schema:
{
  "description": "User achievement data.",
  "properties": {
    "id": {
      "description": "Achievement identifier",
      "title": "Id",
      "type": "string"
    },
    "date": {
      "description": "Unix timestamp when achievement was earned",
      "title": "Date",
      "type": "integer"
    },
    "data": {
      "description": "Achievement data",
      "items": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "integer"
          }
        ]
      },
      "title": "Data",
      "type": "array"
    },
    "level": {
      "description": "Achievement level",
      "title": "Level",
      "type": "integer"
    },
    "value": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Current progress value",
      "title": "Value"
    },
    "goal": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Target goal value",
      "title": "Goal"
    }
  },
  "required": [
    "id",
    "date",
    "level"
  ],
  "title": "Achievement",
  "type": "object"
}

Config:

  • default: {'populate_by_name': True}

Fields:

id: str pydantic-field

Achievement identifier

date: int pydantic-field

Unix timestamp when achievement was earned

data: list[str | int] pydantic-field

Achievement data

level: int pydantic-field

Achievement level

value: int | None = None pydantic-field

Current progress value

goal: int | None = None pydantic-field

Target goal value

MatchSeed pydantic-model

Match seed information.

Show JSON schema:
{
  "description": "Match seed information.",
  "properties": {
    "id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Seed identifier",
      "title": "Id"
    },
    "overworld": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Overworld structure type",
      "title": "Overworld"
    },
    "nether": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Bastion type",
      "title": "Nether"
    },
    "endTowers": {
      "anyOf": [
        {
          "items": {
            "type": "integer"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "End tower positions",
      "title": "Endtowers"
    },
    "variations": {
      "description": "Seed variations",
      "items": {
        "type": "string"
      },
      "title": "Variations",
      "type": "array"
    }
  },
  "title": "MatchSeed",
  "type": "object"
}

Config:

  • default: {'populate_by_name': True}

Fields:

id: str | None = None pydantic-field

Seed identifier

overworld: str | None = None pydantic-field

Overworld structure type

nether: str | None = None pydantic-field

Bastion type

end_towers: list[int] | None = None pydantic-field

End tower positions

variations: list[str] pydantic-field

Seed variations

bastion: str | None property

Alias for nether field (bastion type).

EloChange pydantic-model

Elo change data for a player in a match.

Show JSON schema:
{
  "description": "Elo change data for a player in a match.",
  "properties": {
    "uuid": {
      "description": "Player UUID without dashes",
      "title": "Uuid",
      "type": "string"
    },
    "change": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Elo change amount",
      "title": "Change"
    },
    "eloRate": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Elo rating after the match",
      "title": "Elorate"
    }
  },
  "required": [
    "uuid"
  ],
  "title": "EloChange",
  "type": "object"
}

Config:

  • default: {'populate_by_name': True}

Fields:

uuid: str pydantic-field

Player UUID without dashes

change: int | None = None pydantic-field

Elo change amount

elo_rate: int | None = None pydantic-field

Elo rating after the match

VodInfo pydantic-model

VOD information for a match.

Show JSON schema:
{
  "description": "VOD information for a match.",
  "properties": {
    "uuid": {
      "description": "Player UUID without dashes",
      "title": "Uuid",
      "type": "string"
    },
    "url": {
      "description": "VOD URL",
      "title": "Url",
      "type": "string"
    },
    "startsAt": {
      "description": "VOD start timestamp offset",
      "title": "Startsat",
      "type": "integer"
    }
  },
  "required": [
    "uuid",
    "url",
    "startsAt"
  ],
  "title": "VodInfo",
  "type": "object"
}

Config:

  • default: {'populate_by_name': True}

Fields:

uuid: str pydantic-field

Player UUID without dashes

url: str pydantic-field

VOD URL

starts_at: int pydantic-field

VOD start timestamp offset


User Types

User pydantic-model

Full user profile data.

Show JSON schema:
{
  "$defs": {
    "Achievement": {
      "description": "User achievement data.",
      "properties": {
        "id": {
          "description": "Achievement identifier",
          "title": "Id",
          "type": "string"
        },
        "date": {
          "description": "Unix timestamp when achievement was earned",
          "title": "Date",
          "type": "integer"
        },
        "data": {
          "description": "Achievement data",
          "items": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "integer"
              }
            ]
          },
          "title": "Data",
          "type": "array"
        },
        "level": {
          "description": "Achievement level",
          "title": "Level",
          "type": "integer"
        },
        "value": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Current progress value",
          "title": "Value"
        },
        "goal": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Target goal value",
          "title": "Goal"
        }
      },
      "required": [
        "id",
        "date",
        "level"
      ],
      "title": "Achievement",
      "type": "object"
    },
    "AchievementsContainer": {
      "description": "Container for user achievements.",
      "properties": {
        "display": {
          "description": "Achievements displayed in-game",
          "items": {
            "$ref": "#/$defs/Achievement"
          },
          "title": "Display",
          "type": "array"
        },
        "total": {
          "description": "All other achievements",
          "items": {
            "$ref": "#/$defs/Achievement"
          },
          "title": "Total",
          "type": "array"
        }
      },
      "title": "AchievementsContainer",
      "type": "object"
    },
    "Connection": {
      "description": "Third-party connection data.",
      "properties": {
        "id": {
          "description": "Connection identifier",
          "title": "Id",
          "type": "string"
        },
        "name": {
          "description": "Connection display name",
          "title": "Name",
          "type": "string"
        }
      },
      "required": [
        "id",
        "name"
      ],
      "title": "Connection",
      "type": "object"
    },
    "LastSeasonState": {
      "description": "Last state of a season.",
      "properties": {
        "eloRate": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Last elo rating of season",
          "title": "Elorate"
        },
        "eloRank": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Last elo rank of season",
          "title": "Elorank"
        },
        "phasePoint": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Last phase points of season",
          "title": "Phasepoint"
        }
      },
      "title": "LastSeasonState",
      "type": "object"
    },
    "MatchTypeStats": {
      "description": "Statistics for a specific match type (ranked/casual).",
      "properties": {
        "playedMatches": {
          "default": 0,
          "description": "Total matches played",
          "title": "Playedmatches",
          "type": "integer"
        },
        "wins": {
          "default": 0,
          "description": "Total wins",
          "title": "Wins",
          "type": "integer"
        },
        "losses": {
          "default": 0,
          "description": "Total losses",
          "title": "Losses",
          "type": "integer"
        },
        "forfeits": {
          "default": 0,
          "description": "Total forfeits",
          "title": "Forfeits",
          "type": "integer"
        },
        "highestWinStreak": {
          "default": 0,
          "description": "Highest win streak achieved",
          "title": "Highestwinstreak",
          "type": "integer"
        },
        "currentWinStreak": {
          "default": 0,
          "description": "Current win streak",
          "title": "Currentwinstreak",
          "type": "integer"
        },
        "playtime": {
          "default": 0,
          "description": "Total playtime in milliseconds",
          "title": "Playtime",
          "type": "integer"
        },
        "completionTime": {
          "default": 0,
          "description": "Total time spent on completions in milliseconds",
          "title": "Completiontime",
          "type": "integer"
        },
        "bestTime": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Best completion time in milliseconds",
          "title": "Besttime"
        },
        "completions": {
          "default": 0,
          "description": "Total completions",
          "title": "Completions",
          "type": "integer"
        }
      },
      "title": "MatchTypeStats",
      "type": "object"
    },
    "PhaseResult": {
      "description": "Phase result data.",
      "properties": {
        "phase": {
          "description": "Phase number",
          "title": "Phase",
          "type": "integer"
        },
        "eloRate": {
          "description": "Elo rating at phase end",
          "title": "Elorate",
          "type": "integer"
        },
        "eloRank": {
          "description": "Elo rank at phase end",
          "title": "Elorank",
          "type": "integer"
        },
        "point": {
          "description": "Phase reward points",
          "title": "Point",
          "type": "integer"
        }
      },
      "required": [
        "phase",
        "eloRate",
        "eloRank",
        "point"
      ],
      "title": "PhaseResult",
      "type": "object"
    },
    "SeasonResult": {
      "description": "User's season result data.",
      "properties": {
        "last": {
          "$ref": "#/$defs/LastSeasonState",
          "description": "Final season state"
        },
        "highest": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Highest elo rating of season",
          "title": "Highest"
        },
        "lowest": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Lowest elo rating of season",
          "title": "Lowest"
        },
        "phases": {
          "description": "Phase results for the season",
          "items": {
            "$ref": "#/$defs/PhaseResult"
          },
          "title": "Phases",
          "type": "array"
        }
      },
      "required": [
        "last"
      ],
      "title": "SeasonResult",
      "type": "object"
    },
    "SeasonStats": {
      "description": "Season statistics container.",
      "properties": {
        "ranked": {
          "$ref": "#/$defs/MatchTypeStats",
          "description": "Ranked match statistics"
        },
        "casual": {
          "$ref": "#/$defs/MatchTypeStats",
          "description": "Casual match statistics"
        }
      },
      "title": "SeasonStats",
      "type": "object"
    },
    "TotalStats": {
      "description": "All-time statistics container.",
      "properties": {
        "ranked": {
          "$ref": "#/$defs/MatchTypeStats",
          "description": "All-time ranked match statistics"
        },
        "casual": {
          "$ref": "#/$defs/MatchTypeStats",
          "description": "All-time casual match statistics"
        }
      },
      "title": "TotalStats",
      "type": "object"
    },
    "UserConnections": {
      "description": "User's third-party connections.",
      "properties": {
        "discord": {
          "anyOf": [
            {
              "$ref": "#/$defs/Connection"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Discord connection"
        },
        "twitch": {
          "anyOf": [
            {
              "$ref": "#/$defs/Connection"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Twitch connection"
        },
        "youtube": {
          "anyOf": [
            {
              "$ref": "#/$defs/Connection"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "YouTube connection"
        }
      },
      "title": "UserConnections",
      "type": "object"
    },
    "UserStatistics": {
      "description": "User statistics for season and total.",
      "properties": {
        "season": {
          "$ref": "#/$defs/SeasonStats",
          "description": "Current season statistics"
        },
        "total": {
          "$ref": "#/$defs/TotalStats",
          "description": "All-time statistics"
        }
      },
      "title": "UserStatistics",
      "type": "object"
    },
    "UserTimestamps": {
      "description": "User activity timestamps.",
      "properties": {
        "firstOnline": {
          "description": "Unix timestamp of first connection",
          "title": "Firstonline",
          "type": "integer"
        },
        "lastOnline": {
          "description": "Unix timestamp of last connection",
          "title": "Lastonline",
          "type": "integer"
        },
        "lastRanked": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Unix timestamp of last ranked match",
          "title": "Lastranked"
        },
        "nextDecay": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Unix timestamp of next elo decay",
          "title": "Nextdecay"
        }
      },
      "required": [
        "firstOnline",
        "lastOnline"
      ],
      "title": "UserTimestamps",
      "type": "object"
    },
    "WeeklyRaceResult": {
      "description": "User's weekly race result.",
      "properties": {
        "id": {
          "description": "Weekly race ID",
          "title": "Id",
          "type": "integer"
        },
        "time": {
          "description": "Completion time in milliseconds",
          "title": "Time",
          "type": "integer"
        },
        "rank": {
          "description": "Rank in the weekly race",
          "title": "Rank",
          "type": "integer"
        }
      },
      "required": [
        "id",
        "time",
        "rank"
      ],
      "title": "WeeklyRaceResult",
      "type": "object"
    }
  },
  "description": "Full user profile data.",
  "properties": {
    "uuid": {
      "description": "UUID without dashes",
      "title": "Uuid",
      "type": "string"
    },
    "nickname": {
      "description": "Player display name",
      "title": "Nickname",
      "type": "string"
    },
    "roleType": {
      "description": "User role type",
      "title": "Roletype",
      "type": "integer"
    },
    "eloRate": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Elo rating for current season. None if placement matches not completed.",
      "title": "Elorate"
    },
    "eloRank": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Rank for current season",
      "title": "Elorank"
    },
    "country": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Country code (lowercase ISO 3166-1 alpha-2)",
      "title": "Country"
    },
    "achievements": {
      "$ref": "#/$defs/AchievementsContainer",
      "description": "User achievements"
    },
    "timestamp": {
      "anyOf": [
        {
          "$ref": "#/$defs/UserTimestamps"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Activity timestamps"
    },
    "statistics": {
      "$ref": "#/$defs/UserStatistics",
      "description": "Season and all-time statistics"
    },
    "connections": {
      "$ref": "#/$defs/UserConnections",
      "description": "Third-party connections"
    },
    "seasonResult": {
      "anyOf": [
        {
          "$ref": "#/$defs/SeasonResult"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Current season elo data"
    },
    "weeklyRaces": {
      "description": "Weekly race results",
      "items": {
        "$ref": "#/$defs/WeeklyRaceResult"
      },
      "title": "Weeklyraces",
      "type": "array"
    }
  },
  "required": [
    "uuid",
    "nickname",
    "roleType"
  ],
  "title": "User",
  "type": "object"
}

Config:

  • default: {'populate_by_name': True}

Fields:

uuid: str pydantic-field

UUID without dashes

nickname: str pydantic-field

Player display name

role_type: int pydantic-field

User role type

elo_rate: int | None = None pydantic-field

Elo rating for current season. None if placement matches not completed.

elo_rank: int | None = None pydantic-field

Rank for current season

country: str | None = None pydantic-field

Country code (lowercase ISO 3166-1 alpha-2)

achievements: AchievementsContainer pydantic-field

User achievements

timestamp: UserTimestamps | None = None pydantic-field

Activity timestamps

statistics: UserStatistics pydantic-field

Season and all-time statistics

connections: UserConnections pydantic-field

Third-party connections

season_result: SeasonResult | None = None pydantic-field

Current season elo data

weekly_races: list[WeeklyRaceResult] pydantic-field

Weekly race results

UserStatistics pydantic-model

User statistics for season and total.

Show JSON schema:
{
  "$defs": {
    "MatchTypeStats": {
      "description": "Statistics for a specific match type (ranked/casual).",
      "properties": {
        "playedMatches": {
          "default": 0,
          "description": "Total matches played",
          "title": "Playedmatches",
          "type": "integer"
        },
        "wins": {
          "default": 0,
          "description": "Total wins",
          "title": "Wins",
          "type": "integer"
        },
        "losses": {
          "default": 0,
          "description": "Total losses",
          "title": "Losses",
          "type": "integer"
        },
        "forfeits": {
          "default": 0,
          "description": "Total forfeits",
          "title": "Forfeits",
          "type": "integer"
        },
        "highestWinStreak": {
          "default": 0,
          "description": "Highest win streak achieved",
          "title": "Highestwinstreak",
          "type": "integer"
        },
        "currentWinStreak": {
          "default": 0,
          "description": "Current win streak",
          "title": "Currentwinstreak",
          "type": "integer"
        },
        "playtime": {
          "default": 0,
          "description": "Total playtime in milliseconds",
          "title": "Playtime",
          "type": "integer"
        },
        "completionTime": {
          "default": 0,
          "description": "Total time spent on completions in milliseconds",
          "title": "Completiontime",
          "type": "integer"
        },
        "bestTime": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Best completion time in milliseconds",
          "title": "Besttime"
        },
        "completions": {
          "default": 0,
          "description": "Total completions",
          "title": "Completions",
          "type": "integer"
        }
      },
      "title": "MatchTypeStats",
      "type": "object"
    },
    "SeasonStats": {
      "description": "Season statistics container.",
      "properties": {
        "ranked": {
          "$ref": "#/$defs/MatchTypeStats",
          "description": "Ranked match statistics"
        },
        "casual": {
          "$ref": "#/$defs/MatchTypeStats",
          "description": "Casual match statistics"
        }
      },
      "title": "SeasonStats",
      "type": "object"
    },
    "TotalStats": {
      "description": "All-time statistics container.",
      "properties": {
        "ranked": {
          "$ref": "#/$defs/MatchTypeStats",
          "description": "All-time ranked match statistics"
        },
        "casual": {
          "$ref": "#/$defs/MatchTypeStats",
          "description": "All-time casual match statistics"
        }
      },
      "title": "TotalStats",
      "type": "object"
    }
  },
  "description": "User statistics for season and total.",
  "properties": {
    "season": {
      "$ref": "#/$defs/SeasonStats",
      "description": "Current season statistics"
    },
    "total": {
      "$ref": "#/$defs/TotalStats",
      "description": "All-time statistics"
    }
  },
  "title": "UserStatistics",
  "type": "object"
}

Config:

  • default: {'populate_by_name': True}

Fields:

season: SeasonStats pydantic-field

Current season statistics

total: TotalStats pydantic-field

All-time statistics

MatchTypeStats pydantic-model

Statistics for a specific match type (ranked/casual).

Show JSON schema:
{
  "description": "Statistics for a specific match type (ranked/casual).",
  "properties": {
    "playedMatches": {
      "default": 0,
      "description": "Total matches played",
      "title": "Playedmatches",
      "type": "integer"
    },
    "wins": {
      "default": 0,
      "description": "Total wins",
      "title": "Wins",
      "type": "integer"
    },
    "losses": {
      "default": 0,
      "description": "Total losses",
      "title": "Losses",
      "type": "integer"
    },
    "forfeits": {
      "default": 0,
      "description": "Total forfeits",
      "title": "Forfeits",
      "type": "integer"
    },
    "highestWinStreak": {
      "default": 0,
      "description": "Highest win streak achieved",
      "title": "Highestwinstreak",
      "type": "integer"
    },
    "currentWinStreak": {
      "default": 0,
      "description": "Current win streak",
      "title": "Currentwinstreak",
      "type": "integer"
    },
    "playtime": {
      "default": 0,
      "description": "Total playtime in milliseconds",
      "title": "Playtime",
      "type": "integer"
    },
    "completionTime": {
      "default": 0,
      "description": "Total time spent on completions in milliseconds",
      "title": "Completiontime",
      "type": "integer"
    },
    "bestTime": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Best completion time in milliseconds",
      "title": "Besttime"
    },
    "completions": {
      "default": 0,
      "description": "Total completions",
      "title": "Completions",
      "type": "integer"
    }
  },
  "title": "MatchTypeStats",
  "type": "object"
}

Config:

  • default: {'populate_by_name': True}

Fields:

played_matches: int = 0 pydantic-field

Total matches played

wins: int = 0 pydantic-field

Total wins

losses: int = 0 pydantic-field

Total losses

forfeits: int = 0 pydantic-field

Total forfeits

highest_winstreak: int = 0 pydantic-field

Highest win streak achieved

current_winstreak: int = 0 pydantic-field

Current win streak

playtime: int = 0 pydantic-field

Total playtime in milliseconds

completion_time: int = 0 pydantic-field

Total time spent on completions in milliseconds

best_time: int | None = None pydantic-field

Best completion time in milliseconds

completions: int = 0 pydantic-field

Total completions

UserTimestamps pydantic-model

User activity timestamps.

Show JSON schema:
{
  "description": "User activity timestamps.",
  "properties": {
    "firstOnline": {
      "description": "Unix timestamp of first connection",
      "title": "Firstonline",
      "type": "integer"
    },
    "lastOnline": {
      "description": "Unix timestamp of last connection",
      "title": "Lastonline",
      "type": "integer"
    },
    "lastRanked": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Unix timestamp of last ranked match",
      "title": "Lastranked"
    },
    "nextDecay": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Unix timestamp of next elo decay",
      "title": "Nextdecay"
    }
  },
  "required": [
    "firstOnline",
    "lastOnline"
  ],
  "title": "UserTimestamps",
  "type": "object"
}

Config:

  • default: {'populate_by_name': True}

Fields:

first_online: int pydantic-field

Unix timestamp of first connection

last_online: int pydantic-field

Unix timestamp of last connection

last_ranked: int | None = None pydantic-field

Unix timestamp of last ranked match

next_decay: int | None = None pydantic-field

Unix timestamp of next elo decay

SeasonResult pydantic-model

User's season result data.

Show JSON schema:
{
  "$defs": {
    "LastSeasonState": {
      "description": "Last state of a season.",
      "properties": {
        "eloRate": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Last elo rating of season",
          "title": "Elorate"
        },
        "eloRank": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Last elo rank of season",
          "title": "Elorank"
        },
        "phasePoint": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Last phase points of season",
          "title": "Phasepoint"
        }
      },
      "title": "LastSeasonState",
      "type": "object"
    },
    "PhaseResult": {
      "description": "Phase result data.",
      "properties": {
        "phase": {
          "description": "Phase number",
          "title": "Phase",
          "type": "integer"
        },
        "eloRate": {
          "description": "Elo rating at phase end",
          "title": "Elorate",
          "type": "integer"
        },
        "eloRank": {
          "description": "Elo rank at phase end",
          "title": "Elorank",
          "type": "integer"
        },
        "point": {
          "description": "Phase reward points",
          "title": "Point",
          "type": "integer"
        }
      },
      "required": [
        "phase",
        "eloRate",
        "eloRank",
        "point"
      ],
      "title": "PhaseResult",
      "type": "object"
    }
  },
  "description": "User's season result data.",
  "properties": {
    "last": {
      "$ref": "#/$defs/LastSeasonState",
      "description": "Final season state"
    },
    "highest": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Highest elo rating of season",
      "title": "Highest"
    },
    "lowest": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Lowest elo rating of season",
      "title": "Lowest"
    },
    "phases": {
      "description": "Phase results for the season",
      "items": {
        "$ref": "#/$defs/PhaseResult"
      },
      "title": "Phases",
      "type": "array"
    }
  },
  "required": [
    "last"
  ],
  "title": "SeasonResult",
  "type": "object"
}

Config:

  • default: {'populate_by_name': True}

Fields:

last: LastSeasonState pydantic-field

Final season state

highest: int | None = None pydantic-field

Highest elo rating of season

lowest: int | None = None pydantic-field

Lowest elo rating of season

phases: list[PhaseResult] pydantic-field

Phase results for the season

PhaseResult pydantic-model

Phase result data.

Show JSON schema:
{
  "description": "Phase result data.",
  "properties": {
    "phase": {
      "description": "Phase number",
      "title": "Phase",
      "type": "integer"
    },
    "eloRate": {
      "description": "Elo rating at phase end",
      "title": "Elorate",
      "type": "integer"
    },
    "eloRank": {
      "description": "Elo rank at phase end",
      "title": "Elorank",
      "type": "integer"
    },
    "point": {
      "description": "Phase reward points",
      "title": "Point",
      "type": "integer"
    }
  },
  "required": [
    "phase",
    "eloRate",
    "eloRank",
    "point"
  ],
  "title": "PhaseResult",
  "type": "object"
}

Config:

  • default: {'populate_by_name': True}

Fields:

phase: int pydantic-field

Phase number

elo_rate: int pydantic-field

Elo rating at phase end

elo_rank: int pydantic-field

Elo rank at phase end

point: int pydantic-field

Phase reward points

Connection pydantic-model

Third-party connection data.

Show JSON schema:
{
  "description": "Third-party connection data.",
  "properties": {
    "id": {
      "description": "Connection identifier",
      "title": "Id",
      "type": "string"
    },
    "name": {
      "description": "Connection display name",
      "title": "Name",
      "type": "string"
    }
  },
  "required": [
    "id",
    "name"
  ],
  "title": "Connection",
  "type": "object"
}

Config:

  • default: {'populate_by_name': True}

Fields:

id: str pydantic-field

Connection identifier

name: str pydantic-field

Connection display name

UserConnections pydantic-model

User's third-party connections.

Show JSON schema:
{
  "$defs": {
    "Connection": {
      "description": "Third-party connection data.",
      "properties": {
        "id": {
          "description": "Connection identifier",
          "title": "Id",
          "type": "string"
        },
        "name": {
          "description": "Connection display name",
          "title": "Name",
          "type": "string"
        }
      },
      "required": [
        "id",
        "name"
      ],
      "title": "Connection",
      "type": "object"
    }
  },
  "description": "User's third-party connections.",
  "properties": {
    "discord": {
      "anyOf": [
        {
          "$ref": "#/$defs/Connection"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Discord connection"
    },
    "twitch": {
      "anyOf": [
        {
          "$ref": "#/$defs/Connection"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Twitch connection"
    },
    "youtube": {
      "anyOf": [
        {
          "$ref": "#/$defs/Connection"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "YouTube connection"
    }
  },
  "title": "UserConnections",
  "type": "object"
}

Config:

  • default: {'populate_by_name': True}

Fields:

discord: Connection | None = None pydantic-field

Discord connection

twitch: Connection | None = None pydantic-field

Twitch connection

youtube: Connection | None = None pydantic-field

YouTube connection

WeeklyRaceResult pydantic-model

User's weekly race result.

Show JSON schema:
{
  "description": "User's weekly race result.",
  "properties": {
    "id": {
      "description": "Weekly race ID",
      "title": "Id",
      "type": "integer"
    },
    "time": {
      "description": "Completion time in milliseconds",
      "title": "Time",
      "type": "integer"
    },
    "rank": {
      "description": "Rank in the weekly race",
      "title": "Rank",
      "type": "integer"
    }
  },
  "required": [
    "id",
    "time",
    "rank"
  ],
  "title": "WeeklyRaceResult",
  "type": "object"
}

Config:

  • default: {'populate_by_name': True}

Fields:

id: int pydantic-field

Weekly race ID

time: int pydantic-field

Completion time in milliseconds

rank: int pydantic-field

Rank in the weekly race

UserSeasons pydantic-model

User's season results across all seasons.

Show JSON schema:
{
  "$defs": {
    "LastSeasonState": {
      "description": "Last state of a season.",
      "properties": {
        "eloRate": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Last elo rating of season",
          "title": "Elorate"
        },
        "eloRank": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Last elo rank of season",
          "title": "Elorank"
        },
        "phasePoint": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Last phase points of season",
          "title": "Phasepoint"
        }
      },
      "title": "LastSeasonState",
      "type": "object"
    },
    "PhaseResult": {
      "description": "Phase result data.",
      "properties": {
        "phase": {
          "description": "Phase number",
          "title": "Phase",
          "type": "integer"
        },
        "eloRate": {
          "description": "Elo rating at phase end",
          "title": "Elorate",
          "type": "integer"
        },
        "eloRank": {
          "description": "Elo rank at phase end",
          "title": "Elorank",
          "type": "integer"
        },
        "point": {
          "description": "Phase reward points",
          "title": "Point",
          "type": "integer"
        }
      },
      "required": [
        "phase",
        "eloRate",
        "eloRank",
        "point"
      ],
      "title": "PhaseResult",
      "type": "object"
    },
    "SeasonResultEntry": {
      "description": "Season result entry for user seasons endpoint.",
      "properties": {
        "last": {
          "$ref": "#/$defs/LastSeasonState",
          "description": "Final season state"
        },
        "highest": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Highest elo rating of season. None if no ranked matches.",
          "title": "Highest"
        },
        "lowest": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Lowest elo rating of season. None if no ranked matches.",
          "title": "Lowest"
        },
        "phases": {
          "description": "Phase results for the season",
          "items": {
            "$ref": "#/$defs/PhaseResult"
          },
          "title": "Phases",
          "type": "array"
        }
      },
      "required": [
        "last"
      ],
      "title": "SeasonResultEntry",
      "type": "object"
    }
  },
  "description": "User's season results across all seasons.",
  "properties": {
    "uuid": {
      "description": "UUID without dashes",
      "title": "Uuid",
      "type": "string"
    },
    "nickname": {
      "description": "Player display name",
      "title": "Nickname",
      "type": "string"
    },
    "roleType": {
      "description": "User role type",
      "title": "Roletype",
      "type": "integer"
    },
    "eloRate": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Elo rating for current season. None if placement matches not completed.",
      "title": "Elorate"
    },
    "eloRank": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Rank for current season",
      "title": "Elorank"
    },
    "country": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Country code (lowercase ISO 3166-1 alpha-2)",
      "title": "Country"
    },
    "seasonResults": {
      "additionalProperties": {
        "$ref": "#/$defs/SeasonResultEntry"
      },
      "description": "Season results keyed by season number",
      "title": "Seasonresults",
      "type": "object"
    }
  },
  "required": [
    "uuid",
    "nickname",
    "roleType"
  ],
  "title": "UserSeasons",
  "type": "object"
}

Config:

  • default: {'populate_by_name': True}

Fields:

uuid: str pydantic-field

UUID without dashes

nickname: str pydantic-field

Player display name

role_type: int pydantic-field

User role type

elo_rate: int | None = None pydantic-field

Elo rating for current season. None if placement matches not completed.

elo_rank: int | None = None pydantic-field

Rank for current season

country: str | None = None pydantic-field

Country code (lowercase ISO 3166-1 alpha-2)

season_results: dict[str, SeasonResultEntry] pydantic-field

Season results keyed by season number


Match Types

MatchInfo pydantic-model

Match information.

Show JSON schema:
{
  "$defs": {
    "Completion": {
      "description": "Match completion data.",
      "properties": {
        "uuid": {
          "description": "Player UUID without dashes",
          "title": "Uuid",
          "type": "string"
        },
        "time": {
          "description": "Completion time in milliseconds",
          "title": "Time",
          "type": "integer"
        }
      },
      "required": [
        "uuid",
        "time"
      ],
      "title": "Completion",
      "type": "object"
    },
    "EloChange": {
      "description": "Elo change data for a player in a match.",
      "properties": {
        "uuid": {
          "description": "Player UUID without dashes",
          "title": "Uuid",
          "type": "string"
        },
        "change": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Elo change amount",
          "title": "Change"
        },
        "eloRate": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Elo rating after the match",
          "title": "Elorate"
        }
      },
      "required": [
        "uuid"
      ],
      "title": "EloChange",
      "type": "object"
    },
    "MatchRank": {
      "description": "Match record ranking.",
      "properties": {
        "season": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Season record rank",
          "title": "Season"
        },
        "allTime": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "All-time record rank",
          "title": "Alltime"
        }
      },
      "title": "MatchRank",
      "type": "object"
    },
    "MatchResult": {
      "description": "Match result data.",
      "properties": {
        "uuid": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Winner UUID without dashes",
          "title": "Uuid"
        },
        "time": {
          "description": "Winning time in milliseconds",
          "title": "Time",
          "type": "integer"
        }
      },
      "required": [
        "time"
      ],
      "title": "MatchResult",
      "type": "object"
    },
    "MatchSeed": {
      "description": "Match seed information.",
      "properties": {
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Seed identifier",
          "title": "Id"
        },
        "overworld": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Overworld structure type",
          "title": "Overworld"
        },
        "nether": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Bastion type",
          "title": "Nether"
        },
        "endTowers": {
          "anyOf": [
            {
              "items": {
                "type": "integer"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "End tower positions",
          "title": "Endtowers"
        },
        "variations": {
          "description": "Seed variations",
          "items": {
            "type": "string"
          },
          "title": "Variations",
          "type": "array"
        }
      },
      "title": "MatchSeed",
      "type": "object"
    },
    "Timeline": {
      "description": "Match timeline event.",
      "properties": {
        "uuid": {
          "description": "Player UUID without dashes",
          "title": "Uuid",
          "type": "string"
        },
        "time": {
          "description": "Event time in milliseconds",
          "title": "Time",
          "type": "integer"
        },
        "type": {
          "description": "Timeline event identifier",
          "title": "Type",
          "type": "string"
        }
      },
      "required": [
        "uuid",
        "time",
        "type"
      ],
      "title": "Timeline",
      "type": "object"
    },
    "UserProfile": {
      "description": "Basic user profile information.",
      "properties": {
        "uuid": {
          "description": "UUID without dashes",
          "title": "Uuid",
          "type": "string"
        },
        "nickname": {
          "description": "Player display name",
          "title": "Nickname",
          "type": "string"
        },
        "roleType": {
          "description": "User role type",
          "title": "Roletype",
          "type": "integer"
        },
        "eloRate": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Elo rating for current season. None if placement matches not completed.",
          "title": "Elorate"
        },
        "eloRank": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Rank for current season",
          "title": "Elorank"
        },
        "country": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Country code (lowercase ISO 3166-1 alpha-2)",
          "title": "Country"
        }
      },
      "required": [
        "uuid",
        "nickname",
        "roleType"
      ],
      "title": "UserProfile",
      "type": "object"
    },
    "VodInfo": {
      "description": "VOD information for a match.",
      "properties": {
        "uuid": {
          "description": "Player UUID without dashes",
          "title": "Uuid",
          "type": "string"
        },
        "url": {
          "description": "VOD URL",
          "title": "Url",
          "type": "string"
        },
        "startsAt": {
          "description": "VOD start timestamp offset",
          "title": "Startsat",
          "type": "integer"
        }
      },
      "required": [
        "uuid",
        "url",
        "startsAt"
      ],
      "title": "VodInfo",
      "type": "object"
    }
  },
  "description": "Match information.",
  "properties": {
    "id": {
      "description": "Match ID",
      "title": "Id",
      "type": "integer"
    },
    "type": {
      "description": "Match type (1=casual, 2=ranked, 3=private, 4=event)",
      "title": "Type",
      "type": "integer"
    },
    "season": {
      "description": "Season number",
      "title": "Season",
      "type": "integer"
    },
    "category": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Completion category",
      "title": "Category"
    },
    "date": {
      "description": "Unix timestamp in seconds",
      "title": "Date",
      "type": "integer"
    },
    "players": {
      "description": "Match players",
      "items": {
        "$ref": "#/$defs/UserProfile"
      },
      "title": "Players",
      "type": "array"
    },
    "spectators": {
      "description": "Match spectators",
      "items": {
        "$ref": "#/$defs/UserProfile"
      },
      "title": "Spectators",
      "type": "array"
    },
    "seed": {
      "anyOf": [
        {
          "$ref": "#/$defs/MatchSeed"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Seed information"
    },
    "seedType": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Seed type",
      "title": "Seedtype"
    },
    "bastionType": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Bastion type",
      "title": "Bastiontype"
    },
    "gameMode": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Game mode",
      "title": "Gamemode"
    },
    "botSource": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Bot source if applicable",
      "title": "Botsource"
    },
    "result": {
      "anyOf": [
        {
          "$ref": "#/$defs/MatchResult"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Match result"
    },
    "forfeited": {
      "default": false,
      "description": "Whether match had no completions",
      "title": "Forfeited",
      "type": "boolean"
    },
    "decayed": {
      "default": false,
      "description": "Whether match was decayed",
      "title": "Decayed",
      "type": "boolean"
    },
    "rank": {
      "anyOf": [
        {
          "$ref": "#/$defs/MatchRank"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Record ranking"
    },
    "changes": {
      "description": "Elo changes",
      "items": {
        "$ref": "#/$defs/EloChange"
      },
      "title": "Changes",
      "type": "array"
    },
    "tag": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Special match tag",
      "title": "Tag"
    },
    "beginner": {
      "default": false,
      "description": "Whether beginner mode was used",
      "title": "Beginner",
      "type": "boolean"
    },
    "vod": {
      "description": "VOD information",
      "items": {
        "$ref": "#/$defs/VodInfo"
      },
      "title": "Vod",
      "type": "array"
    },
    "completions": {
      "description": "Match completions (advanced)",
      "items": {
        "$ref": "#/$defs/Completion"
      },
      "title": "Completions",
      "type": "array"
    },
    "timelines": {
      "description": "Timeline events (advanced)",
      "items": {
        "$ref": "#/$defs/Timeline"
      },
      "title": "Timelines",
      "type": "array"
    },
    "replayExist": {
      "default": false,
      "description": "Whether replay is available",
      "title": "Replayexist",
      "type": "boolean"
    }
  },
  "required": [
    "id",
    "type",
    "season",
    "date"
  ],
  "title": "MatchInfo",
  "type": "object"
}

Config:

  • default: {'populate_by_name': True}

Fields:

id: int pydantic-field

Match ID

type: int pydantic-field

Match type (1=casual, 2=ranked, 3=private, 4=event)

season: int pydantic-field

Season number

category: str | None = None pydantic-field

Completion category

date: int pydantic-field

Unix timestamp in seconds

players: list[UserProfile] pydantic-field

Match players

spectators: list[UserProfile] pydantic-field

Match spectators

seed: MatchSeed | None = None pydantic-field

Seed information

seed_type: str | None = None pydantic-field

Seed type

bastion_type: str | None = None pydantic-field

Bastion type

game_mode: str | None = None pydantic-field

Game mode

bot_source: str | None = None pydantic-field

Bot source if applicable

result: MatchResult | None = None pydantic-field

Match result

forfeited: bool = False pydantic-field

Whether match had no completions

decayed: bool = False pydantic-field

Whether match was decayed

rank: MatchRank | None = None pydantic-field

Record ranking

changes: list[EloChange] pydantic-field

Elo changes

tag: str | None = None pydantic-field

Special match tag

beginner: bool = False pydantic-field

Whether beginner mode was used

vod: list[VodInfo] pydantic-field

VOD information

completions: list[Completion] pydantic-field

Match completions (advanced)

timelines: list[Timeline] pydantic-field

Timeline events (advanced)

replay_exist: bool = False pydantic-field

Whether replay is available

MatchResult pydantic-model

Match result data.

Show JSON schema:
{
  "description": "Match result data.",
  "properties": {
    "uuid": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Winner UUID without dashes",
      "title": "Uuid"
    },
    "time": {
      "description": "Winning time in milliseconds",
      "title": "Time",
      "type": "integer"
    }
  },
  "required": [
    "time"
  ],
  "title": "MatchResult",
  "type": "object"
}

Config:

  • default: {'populate_by_name': True}

Fields:

uuid: str | None = None pydantic-field

Winner UUID without dashes

time: int pydantic-field

Winning time in milliseconds

MatchRank pydantic-model

Match record ranking.

Show JSON schema:
{
  "description": "Match record ranking.",
  "properties": {
    "season": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Season record rank",
      "title": "Season"
    },
    "allTime": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "All-time record rank",
      "title": "Alltime"
    }
  },
  "title": "MatchRank",
  "type": "object"
}

Config:

  • default: {'populate_by_name': True}

Fields:

season: int | None = None pydantic-field

Season record rank

all_time: int | None = None pydantic-field

All-time record rank

Timeline pydantic-model

Match timeline event.

Show JSON schema:
{
  "description": "Match timeline event.",
  "properties": {
    "uuid": {
      "description": "Player UUID without dashes",
      "title": "Uuid",
      "type": "string"
    },
    "time": {
      "description": "Event time in milliseconds",
      "title": "Time",
      "type": "integer"
    },
    "type": {
      "description": "Timeline event identifier",
      "title": "Type",
      "type": "string"
    }
  },
  "required": [
    "uuid",
    "time",
    "type"
  ],
  "title": "Timeline",
  "type": "object"
}

Config:

  • default: {'populate_by_name': True}

Fields:

uuid: str pydantic-field

Player UUID without dashes

time: int pydantic-field

Event time in milliseconds

type: str pydantic-field

Timeline event identifier

Completion pydantic-model

Match completion data.

Show JSON schema:
{
  "description": "Match completion data.",
  "properties": {
    "uuid": {
      "description": "Player UUID without dashes",
      "title": "Uuid",
      "type": "string"
    },
    "time": {
      "description": "Completion time in milliseconds",
      "title": "Time",
      "type": "integer"
    }
  },
  "required": [
    "uuid",
    "time"
  ],
  "title": "Completion",
  "type": "object"
}

Config:

  • default: {'populate_by_name': True}

Fields:

uuid: str pydantic-field

Player UUID without dashes

time: int pydantic-field

Completion time in milliseconds

VersusStats pydantic-model

Versus statistics between two players.

Show JSON schema:
{
  "$defs": {
    "UserProfile": {
      "description": "Basic user profile information.",
      "properties": {
        "uuid": {
          "description": "UUID without dashes",
          "title": "Uuid",
          "type": "string"
        },
        "nickname": {
          "description": "Player display name",
          "title": "Nickname",
          "type": "string"
        },
        "roleType": {
          "description": "User role type",
          "title": "Roletype",
          "type": "integer"
        },
        "eloRate": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Elo rating for current season. None if placement matches not completed.",
          "title": "Elorate"
        },
        "eloRank": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Rank for current season",
          "title": "Elorank"
        },
        "country": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Country code (lowercase ISO 3166-1 alpha-2)",
          "title": "Country"
        }
      },
      "required": [
        "uuid",
        "nickname",
        "roleType"
      ],
      "title": "UserProfile",
      "type": "object"
    },
    "VersusResults": {
      "description": "Versus match results.",
      "properties": {
        "ranked": {
          "additionalProperties": {
            "type": "integer"
          },
          "description": "Ranked results. 'total' is match count, UUID keys are win counts.",
          "title": "Ranked",
          "type": "object"
        },
        "casual": {
          "additionalProperties": {
            "type": "integer"
          },
          "description": "Casual results. 'total' is match count, UUID keys are win counts.",
          "title": "Casual",
          "type": "object"
        }
      },
      "title": "VersusResults",
      "type": "object"
    }
  },
  "description": "Versus statistics between two players.",
  "properties": {
    "players": {
      "description": "The two players",
      "items": {
        "$ref": "#/$defs/UserProfile"
      },
      "title": "Players",
      "type": "array"
    },
    "results": {
      "$ref": "#/$defs/VersusResults",
      "description": "Match results by type"
    },
    "changes": {
      "additionalProperties": {
        "type": "integer"
      },
      "description": "Total elo changes between players (keyed by UUID)",
      "title": "Changes",
      "type": "object"
    }
  },
  "title": "VersusStats",
  "type": "object"
}

Config:

  • default: {'populate_by_name': True}

Fields:

players: list[UserProfile] pydantic-field

The two players

results: VersusResults pydantic-field

Match results by type

changes: dict[str, int] pydantic-field

Total elo changes between players (keyed by UUID)

VersusResults pydantic-model

Versus match results.

Show JSON schema:
{
  "description": "Versus match results.",
  "properties": {
    "ranked": {
      "additionalProperties": {
        "type": "integer"
      },
      "description": "Ranked results. 'total' is match count, UUID keys are win counts.",
      "title": "Ranked",
      "type": "object"
    },
    "casual": {
      "additionalProperties": {
        "type": "integer"
      },
      "description": "Casual results. 'total' is match count, UUID keys are win counts.",
      "title": "Casual",
      "type": "object"
    }
  },
  "title": "VersusResults",
  "type": "object"
}

Config:

  • default: {'populate_by_name': True}

Fields:

ranked: dict[str, int] pydantic-field

Ranked results. 'total' is match count, UUID keys are win counts.

casual: dict[str, int] pydantic-field

Casual results. 'total' is match count, UUID keys are win counts.


Leaderboard Types

EloLeaderboard pydantic-model

Elo leaderboard data.

Show JSON schema:
{
  "$defs": {
    "LeaderboardSeasonResult": {
      "description": "Season result for leaderboard user.",
      "properties": {
        "eloRate": {
          "description": "Final elo rating in season",
          "title": "Elorate",
          "type": "integer"
        },
        "eloRank": {
          "description": "Final elo rank in season",
          "title": "Elorank",
          "type": "integer"
        },
        "phasePoint": {
          "description": "Final phase points in season",
          "title": "Phasepoint",
          "type": "integer"
        }
      },
      "required": [
        "eloRate",
        "eloRank",
        "phasePoint"
      ],
      "title": "LeaderboardSeasonResult",
      "type": "object"
    },
    "LeaderboardUser": {
      "description": "User entry in the elo leaderboard.",
      "properties": {
        "uuid": {
          "description": "UUID without dashes",
          "title": "Uuid",
          "type": "string"
        },
        "nickname": {
          "description": "Player display name",
          "title": "Nickname",
          "type": "string"
        },
        "roleType": {
          "description": "User role type",
          "title": "Roletype",
          "type": "integer"
        },
        "eloRate": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Elo rating for current season. None if placement matches not completed.",
          "title": "Elorate"
        },
        "eloRank": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Rank for current season",
          "title": "Elorank"
        },
        "country": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Country code (lowercase ISO 3166-1 alpha-2)",
          "title": "Country"
        },
        "seasonResult": {
          "$ref": "#/$defs/LeaderboardSeasonResult",
          "description": "Season result data"
        }
      },
      "required": [
        "uuid",
        "nickname",
        "roleType",
        "seasonResult"
      ],
      "title": "LeaderboardUser",
      "type": "object"
    },
    "SeasonInfo": {
      "description": "Season information.",
      "properties": {
        "number": {
          "description": "Season number",
          "title": "Number",
          "type": "integer"
        },
        "startsAt": {
          "description": "Unix timestamp of season start",
          "title": "Startsat",
          "type": "integer"
        },
        "endsAt": {
          "description": "Unix timestamp of season end",
          "title": "Endsat",
          "type": "integer"
        }
      },
      "required": [
        "number",
        "startsAt",
        "endsAt"
      ],
      "title": "SeasonInfo",
      "type": "object"
    }
  },
  "description": "Elo leaderboard data.",
  "properties": {
    "season": {
      "$ref": "#/$defs/SeasonInfo",
      "description": "Season information"
    },
    "users": {
      "description": "Top 150 users by elo",
      "items": {
        "$ref": "#/$defs/LeaderboardUser"
      },
      "title": "Users",
      "type": "array"
    }
  },
  "required": [
    "season"
  ],
  "title": "EloLeaderboard",
  "type": "object"
}

Config:

  • default: {'populate_by_name': True}

Fields:

season: SeasonInfo pydantic-field

Season information

users: list[LeaderboardUser] pydantic-field

Top 150 users by elo

SeasonInfo pydantic-model

Season information.

Show JSON schema:
{
  "description": "Season information.",
  "properties": {
    "number": {
      "description": "Season number",
      "title": "Number",
      "type": "integer"
    },
    "startsAt": {
      "description": "Unix timestamp of season start",
      "title": "Startsat",
      "type": "integer"
    },
    "endsAt": {
      "description": "Unix timestamp of season end",
      "title": "Endsat",
      "type": "integer"
    }
  },
  "required": [
    "number",
    "startsAt",
    "endsAt"
  ],
  "title": "SeasonInfo",
  "type": "object"
}

Config:

  • default: {'populate_by_name': True}

Fields:

number: int pydantic-field

Season number

starts_at: int pydantic-field

Unix timestamp of season start

ends_at: int pydantic-field

Unix timestamp of season end

LeaderboardUser pydantic-model

User entry in the elo leaderboard.

Show JSON schema:
{
  "$defs": {
    "LeaderboardSeasonResult": {
      "description": "Season result for leaderboard user.",
      "properties": {
        "eloRate": {
          "description": "Final elo rating in season",
          "title": "Elorate",
          "type": "integer"
        },
        "eloRank": {
          "description": "Final elo rank in season",
          "title": "Elorank",
          "type": "integer"
        },
        "phasePoint": {
          "description": "Final phase points in season",
          "title": "Phasepoint",
          "type": "integer"
        }
      },
      "required": [
        "eloRate",
        "eloRank",
        "phasePoint"
      ],
      "title": "LeaderboardSeasonResult",
      "type": "object"
    }
  },
  "description": "User entry in the elo leaderboard.",
  "properties": {
    "uuid": {
      "description": "UUID without dashes",
      "title": "Uuid",
      "type": "string"
    },
    "nickname": {
      "description": "Player display name",
      "title": "Nickname",
      "type": "string"
    },
    "roleType": {
      "description": "User role type",
      "title": "Roletype",
      "type": "integer"
    },
    "eloRate": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Elo rating for current season. None if placement matches not completed.",
      "title": "Elorate"
    },
    "eloRank": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Rank for current season",
      "title": "Elorank"
    },
    "country": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Country code (lowercase ISO 3166-1 alpha-2)",
      "title": "Country"
    },
    "seasonResult": {
      "$ref": "#/$defs/LeaderboardSeasonResult",
      "description": "Season result data"
    }
  },
  "required": [
    "uuid",
    "nickname",
    "roleType",
    "seasonResult"
  ],
  "title": "LeaderboardUser",
  "type": "object"
}

Config:

  • default: {'populate_by_name': True}

Fields:

season_result: LeaderboardSeasonResult pydantic-field

Season result data

PhaseLeaderboard pydantic-model

Phase points leaderboard data.

Show JSON schema:
{
  "$defs": {
    "LeaderboardSeasonResult": {
      "description": "Season result for leaderboard user.",
      "properties": {
        "eloRate": {
          "description": "Final elo rating in season",
          "title": "Elorate",
          "type": "integer"
        },
        "eloRank": {
          "description": "Final elo rank in season",
          "title": "Elorank",
          "type": "integer"
        },
        "phasePoint": {
          "description": "Final phase points in season",
          "title": "Phasepoint",
          "type": "integer"
        }
      },
      "required": [
        "eloRate",
        "eloRank",
        "phasePoint"
      ],
      "title": "LeaderboardSeasonResult",
      "type": "object"
    },
    "PhaseInfo": {
      "description": "Phase information.",
      "properties": {
        "season": {
          "description": "Season number",
          "title": "Season",
          "type": "integer"
        },
        "number": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Current phase number. None for past seasons.",
          "title": "Number"
        },
        "endsAt": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Unix timestamp of phase end. None for past seasons.",
          "title": "Endsat"
        }
      },
      "required": [
        "season"
      ],
      "title": "PhaseInfo",
      "type": "object"
    },
    "PhaseLeaderboardUser": {
      "description": "User entry in the phase points leaderboard.",
      "properties": {
        "uuid": {
          "description": "UUID without dashes",
          "title": "Uuid",
          "type": "string"
        },
        "nickname": {
          "description": "Player display name",
          "title": "Nickname",
          "type": "string"
        },
        "roleType": {
          "description": "User role type",
          "title": "Roletype",
          "type": "integer"
        },
        "eloRate": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Elo rating for current season. None if placement matches not completed.",
          "title": "Elorate"
        },
        "eloRank": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Rank for current season",
          "title": "Elorank"
        },
        "country": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Country code (lowercase ISO 3166-1 alpha-2)",
          "title": "Country"
        },
        "seasonResult": {
          "$ref": "#/$defs/LeaderboardSeasonResult",
          "description": "Season result data"
        },
        "predPhasePoint": {
          "default": 0,
          "description": "Predicted phase points for next phase",
          "title": "Predphasepoint",
          "type": "integer"
        }
      },
      "required": [
        "uuid",
        "nickname",
        "roleType",
        "seasonResult"
      ],
      "title": "PhaseLeaderboardUser",
      "type": "object"
    }
  },
  "description": "Phase points leaderboard data.",
  "properties": {
    "phase": {
      "$ref": "#/$defs/PhaseInfo",
      "description": "Phase information"
    },
    "users": {
      "description": "Top 100 users by phase points",
      "items": {
        "$ref": "#/$defs/PhaseLeaderboardUser"
      },
      "title": "Users",
      "type": "array"
    }
  },
  "required": [
    "phase"
  ],
  "title": "PhaseLeaderboard",
  "type": "object"
}

Config:

  • default: {'populate_by_name': True}

Fields:

phase: PhaseInfo pydantic-field

Phase information

users: list[PhaseLeaderboardUser] pydantic-field

Top 100 users by phase points

PhaseInfo pydantic-model

Phase information.

Show JSON schema:
{
  "description": "Phase information.",
  "properties": {
    "season": {
      "description": "Season number",
      "title": "Season",
      "type": "integer"
    },
    "number": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Current phase number. None for past seasons.",
      "title": "Number"
    },
    "endsAt": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Unix timestamp of phase end. None for past seasons.",
      "title": "Endsat"
    }
  },
  "required": [
    "season"
  ],
  "title": "PhaseInfo",
  "type": "object"
}

Config:

  • default: {'populate_by_name': True}

Fields:

season: int pydantic-field

Season number

number: int | None = None pydantic-field

Current phase number. None for past seasons.

ends_at: int | None = None pydantic-field

Unix timestamp of phase end. None for past seasons.

PhaseLeaderboardUser pydantic-model

User entry in the phase points leaderboard.

Show JSON schema:
{
  "$defs": {
    "LeaderboardSeasonResult": {
      "description": "Season result for leaderboard user.",
      "properties": {
        "eloRate": {
          "description": "Final elo rating in season",
          "title": "Elorate",
          "type": "integer"
        },
        "eloRank": {
          "description": "Final elo rank in season",
          "title": "Elorank",
          "type": "integer"
        },
        "phasePoint": {
          "description": "Final phase points in season",
          "title": "Phasepoint",
          "type": "integer"
        }
      },
      "required": [
        "eloRate",
        "eloRank",
        "phasePoint"
      ],
      "title": "LeaderboardSeasonResult",
      "type": "object"
    }
  },
  "description": "User entry in the phase points leaderboard.",
  "properties": {
    "uuid": {
      "description": "UUID without dashes",
      "title": "Uuid",
      "type": "string"
    },
    "nickname": {
      "description": "Player display name",
      "title": "Nickname",
      "type": "string"
    },
    "roleType": {
      "description": "User role type",
      "title": "Roletype",
      "type": "integer"
    },
    "eloRate": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Elo rating for current season. None if placement matches not completed.",
      "title": "Elorate"
    },
    "eloRank": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Rank for current season",
      "title": "Elorank"
    },
    "country": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Country code (lowercase ISO 3166-1 alpha-2)",
      "title": "Country"
    },
    "seasonResult": {
      "$ref": "#/$defs/LeaderboardSeasonResult",
      "description": "Season result data"
    },
    "predPhasePoint": {
      "default": 0,
      "description": "Predicted phase points for next phase",
      "title": "Predphasepoint",
      "type": "integer"
    }
  },
  "required": [
    "uuid",
    "nickname",
    "roleType",
    "seasonResult"
  ],
  "title": "PhaseLeaderboardUser",
  "type": "object"
}

Config:

  • default: {'populate_by_name': True}

Fields:

season_result: LeaderboardSeasonResult pydantic-field

Season result data

pred_phase_point: int = 0 pydantic-field

Predicted phase points for next phase

RecordEntry pydantic-model

Record leaderboard entry.

Show JSON schema:
{
  "$defs": {
    "MatchSeed": {
      "description": "Match seed information.",
      "properties": {
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Seed identifier",
          "title": "Id"
        },
        "overworld": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Overworld structure type",
          "title": "Overworld"
        },
        "nether": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Bastion type",
          "title": "Nether"
        },
        "endTowers": {
          "anyOf": [
            {
              "items": {
                "type": "integer"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "End tower positions",
          "title": "Endtowers"
        },
        "variations": {
          "description": "Seed variations",
          "items": {
            "type": "string"
          },
          "title": "Variations",
          "type": "array"
        }
      },
      "title": "MatchSeed",
      "type": "object"
    },
    "UserProfile": {
      "description": "Basic user profile information.",
      "properties": {
        "uuid": {
          "description": "UUID without dashes",
          "title": "Uuid",
          "type": "string"
        },
        "nickname": {
          "description": "Player display name",
          "title": "Nickname",
          "type": "string"
        },
        "roleType": {
          "description": "User role type",
          "title": "Roletype",
          "type": "integer"
        },
        "eloRate": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Elo rating for current season. None if placement matches not completed.",
          "title": "Elorate"
        },
        "eloRank": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Rank for current season",
          "title": "Elorank"
        },
        "country": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Country code (lowercase ISO 3166-1 alpha-2)",
          "title": "Country"
        }
      },
      "required": [
        "uuid",
        "nickname",
        "roleType"
      ],
      "title": "UserProfile",
      "type": "object"
    }
  },
  "description": "Record leaderboard entry.",
  "properties": {
    "rank": {
      "description": "Record rank",
      "title": "Rank",
      "type": "integer"
    },
    "season": {
      "description": "Season number",
      "title": "Season",
      "type": "integer"
    },
    "date": {
      "description": "Unix timestamp of the record",
      "title": "Date",
      "type": "integer"
    },
    "id": {
      "description": "Match ID",
      "title": "Id",
      "type": "integer"
    },
    "time": {
      "description": "Completion time in milliseconds",
      "title": "Time",
      "type": "integer"
    },
    "user": {
      "$ref": "#/$defs/UserProfile",
      "description": "Player who set the record"
    },
    "seed": {
      "anyOf": [
        {
          "$ref": "#/$defs/MatchSeed"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Seed information"
    }
  },
  "required": [
    "rank",
    "season",
    "date",
    "id",
    "time",
    "user"
  ],
  "title": "RecordEntry",
  "type": "object"
}

Config:

  • default: {'populate_by_name': True}

Fields:

rank: int pydantic-field

Record rank

season: int pydantic-field

Season number

date: int pydantic-field

Unix timestamp of the record

id: int pydantic-field

Match ID

time: int pydantic-field

Completion time in milliseconds

user: UserProfile pydantic-field

Player who set the record

seed: MatchSeed | None = None pydantic-field

Seed information


Live Types

LiveData pydantic-model

Live data response.

Show JSON schema:
{
  "$defs": {
    "LiveMatch": {
      "description": "Live match data.",
      "properties": {
        "currentTime": {
          "description": "Current match time in milliseconds",
          "title": "Currenttime",
          "type": "integer"
        },
        "players": {
          "description": "Players with public stream activated",
          "items": {
            "$ref": "#/$defs/UserProfile"
          },
          "title": "Players",
          "type": "array"
        },
        "data": {
          "additionalProperties": {
            "$ref": "#/$defs/LivePlayerData"
          },
          "description": "Player data keyed by UUID",
          "title": "Data",
          "type": "object"
        }
      },
      "required": [
        "currentTime"
      ],
      "title": "LiveMatch",
      "type": "object"
    },
    "LivePlayerData": {
      "description": "Live player data in a match.",
      "properties": {
        "liveUrl": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Live stream URL. None if player hasn't activated public stream.",
          "title": "Liveurl"
        },
        "timeline": {
          "anyOf": [
            {
              "$ref": "#/$defs/LivePlayerTimeline"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Last timeline update"
        }
      },
      "title": "LivePlayerData",
      "type": "object"
    },
    "LivePlayerTimeline": {
      "description": "Live player timeline data.",
      "properties": {
        "time": {
          "description": "Match time of last split update in milliseconds",
          "title": "Time",
          "type": "integer"
        },
        "type": {
          "description": "Timeline identifier of last split",
          "title": "Type",
          "type": "string"
        }
      },
      "required": [
        "time",
        "type"
      ],
      "title": "LivePlayerTimeline",
      "type": "object"
    },
    "UserProfile": {
      "description": "Basic user profile information.",
      "properties": {
        "uuid": {
          "description": "UUID without dashes",
          "title": "Uuid",
          "type": "string"
        },
        "nickname": {
          "description": "Player display name",
          "title": "Nickname",
          "type": "string"
        },
        "roleType": {
          "description": "User role type",
          "title": "Roletype",
          "type": "integer"
        },
        "eloRate": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Elo rating for current season. None if placement matches not completed.",
          "title": "Elorate"
        },
        "eloRank": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Rank for current season",
          "title": "Elorank"
        },
        "country": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Country code (lowercase ISO 3166-1 alpha-2)",
          "title": "Country"
        }
      },
      "required": [
        "uuid",
        "nickname",
        "roleType"
      ],
      "title": "UserProfile",
      "type": "object"
    }
  },
  "description": "Live data response.",
  "properties": {
    "players": {
      "description": "Concurrent players connected to MCSR Ranked server",
      "title": "Players",
      "type": "integer"
    },
    "liveMatches": {
      "description": "Live matches with public streams",
      "items": {
        "$ref": "#/$defs/LiveMatch"
      },
      "title": "Livematches",
      "type": "array"
    }
  },
  "required": [
    "players"
  ],
  "title": "LiveData",
  "type": "object"
}

Config:

  • default: {'populate_by_name': True}

Fields:

players: int pydantic-field

Concurrent players connected to MCSR Ranked server

live_matches: list[LiveMatch] pydantic-field

Live matches with public streams

LiveMatch pydantic-model

Live match data.

Show JSON schema:
{
  "$defs": {
    "LivePlayerData": {
      "description": "Live player data in a match.",
      "properties": {
        "liveUrl": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Live stream URL. None if player hasn't activated public stream.",
          "title": "Liveurl"
        },
        "timeline": {
          "anyOf": [
            {
              "$ref": "#/$defs/LivePlayerTimeline"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Last timeline update"
        }
      },
      "title": "LivePlayerData",
      "type": "object"
    },
    "LivePlayerTimeline": {
      "description": "Live player timeline data.",
      "properties": {
        "time": {
          "description": "Match time of last split update in milliseconds",
          "title": "Time",
          "type": "integer"
        },
        "type": {
          "description": "Timeline identifier of last split",
          "title": "Type",
          "type": "string"
        }
      },
      "required": [
        "time",
        "type"
      ],
      "title": "LivePlayerTimeline",
      "type": "object"
    },
    "UserProfile": {
      "description": "Basic user profile information.",
      "properties": {
        "uuid": {
          "description": "UUID without dashes",
          "title": "Uuid",
          "type": "string"
        },
        "nickname": {
          "description": "Player display name",
          "title": "Nickname",
          "type": "string"
        },
        "roleType": {
          "description": "User role type",
          "title": "Roletype",
          "type": "integer"
        },
        "eloRate": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Elo rating for current season. None if placement matches not completed.",
          "title": "Elorate"
        },
        "eloRank": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Rank for current season",
          "title": "Elorank"
        },
        "country": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Country code (lowercase ISO 3166-1 alpha-2)",
          "title": "Country"
        }
      },
      "required": [
        "uuid",
        "nickname",
        "roleType"
      ],
      "title": "UserProfile",
      "type": "object"
    }
  },
  "description": "Live match data.",
  "properties": {
    "currentTime": {
      "description": "Current match time in milliseconds",
      "title": "Currenttime",
      "type": "integer"
    },
    "players": {
      "description": "Players with public stream activated",
      "items": {
        "$ref": "#/$defs/UserProfile"
      },
      "title": "Players",
      "type": "array"
    },
    "data": {
      "additionalProperties": {
        "$ref": "#/$defs/LivePlayerData"
      },
      "description": "Player data keyed by UUID",
      "title": "Data",
      "type": "object"
    }
  },
  "required": [
    "currentTime"
  ],
  "title": "LiveMatch",
  "type": "object"
}

Config:

  • default: {'populate_by_name': True}

Fields:

current_time: int pydantic-field

Current match time in milliseconds

players: list[UserProfile] pydantic-field

Players with public stream activated

data: dict[str, LivePlayerData] pydantic-field

Player data keyed by UUID

LivePlayerData pydantic-model

Live player data in a match.

Show JSON schema:
{
  "$defs": {
    "LivePlayerTimeline": {
      "description": "Live player timeline data.",
      "properties": {
        "time": {
          "description": "Match time of last split update in milliseconds",
          "title": "Time",
          "type": "integer"
        },
        "type": {
          "description": "Timeline identifier of last split",
          "title": "Type",
          "type": "string"
        }
      },
      "required": [
        "time",
        "type"
      ],
      "title": "LivePlayerTimeline",
      "type": "object"
    }
  },
  "description": "Live player data in a match.",
  "properties": {
    "liveUrl": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Live stream URL. None if player hasn't activated public stream.",
      "title": "Liveurl"
    },
    "timeline": {
      "anyOf": [
        {
          "$ref": "#/$defs/LivePlayerTimeline"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Last timeline update"
    }
  },
  "title": "LivePlayerData",
  "type": "object"
}

Config:

  • default: {'populate_by_name': True}

Fields:

live_url: str | None = None pydantic-field

Live stream URL. None if player hasn't activated public stream.

timeline: LivePlayerTimeline | None = None pydantic-field

Last timeline update

LivePlayerTimeline pydantic-model

Live player timeline data.

Show JSON schema:
{
  "description": "Live player timeline data.",
  "properties": {
    "time": {
      "description": "Match time of last split update in milliseconds",
      "title": "Time",
      "type": "integer"
    },
    "type": {
      "description": "Timeline identifier of last split",
      "title": "Type",
      "type": "string"
    }
  },
  "required": [
    "time",
    "type"
  ],
  "title": "LivePlayerTimeline",
  "type": "object"
}

Config:

  • default: {'populate_by_name': True}

Fields:

time: int pydantic-field

Match time of last split update in milliseconds

type: str pydantic-field

Timeline identifier of last split

UserLiveMatch pydantic-model

Live match data for a specific user (from /users/{id}/live endpoint).

Show JSON schema:
{
  "$defs": {
    "Completion": {
      "description": "Match completion data.",
      "properties": {
        "uuid": {
          "description": "Player UUID without dashes",
          "title": "Uuid",
          "type": "string"
        },
        "time": {
          "description": "Completion time in milliseconds",
          "title": "Time",
          "type": "integer"
        }
      },
      "required": [
        "uuid",
        "time"
      ],
      "title": "Completion",
      "type": "object"
    },
    "Timeline": {
      "description": "Match timeline event.",
      "properties": {
        "uuid": {
          "description": "Player UUID without dashes",
          "title": "Uuid",
          "type": "string"
        },
        "time": {
          "description": "Event time in milliseconds",
          "title": "Time",
          "type": "integer"
        },
        "type": {
          "description": "Timeline event identifier",
          "title": "Type",
          "type": "string"
        }
      },
      "required": [
        "uuid",
        "time",
        "type"
      ],
      "title": "Timeline",
      "type": "object"
    },
    "UserProfile": {
      "description": "Basic user profile information.",
      "properties": {
        "uuid": {
          "description": "UUID without dashes",
          "title": "Uuid",
          "type": "string"
        },
        "nickname": {
          "description": "Player display name",
          "title": "Nickname",
          "type": "string"
        },
        "roleType": {
          "description": "User role type",
          "title": "Roletype",
          "type": "integer"
        },
        "eloRate": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Elo rating for current season. None if placement matches not completed.",
          "title": "Elorate"
        },
        "eloRank": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Rank for current season",
          "title": "Elorank"
        },
        "country": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Country code (lowercase ISO 3166-1 alpha-2)",
          "title": "Country"
        }
      },
      "required": [
        "uuid",
        "nickname",
        "roleType"
      ],
      "title": "UserProfile",
      "type": "object"
    }
  },
  "description": "Live match data for a specific user (from /users/{id}/live endpoint).",
  "properties": {
    "lastId": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Match ID of previous match. Data resets when match ends.",
      "title": "Lastid"
    },
    "type": {
      "description": "Match type",
      "title": "Type",
      "type": "integer"
    },
    "status": {
      "description": "Match status: idle, counting, generate, ready, running, or done",
      "title": "Status",
      "type": "string"
    },
    "time": {
      "description": "Current match time in milliseconds. 0 if not started.",
      "title": "Time",
      "type": "integer"
    },
    "players": {
      "description": "Match players",
      "items": {
        "$ref": "#/$defs/UserProfile"
      },
      "title": "Players",
      "type": "array"
    },
    "spectators": {
      "description": "Match spectators",
      "items": {
        "$ref": "#/$defs/UserProfile"
      },
      "title": "Spectators",
      "type": "array"
    },
    "timelines": {
      "description": "Timeline events",
      "items": {
        "$ref": "#/$defs/Timeline"
      },
      "title": "Timelines",
      "type": "array"
    },
    "completions": {
      "description": "Match completions",
      "items": {
        "$ref": "#/$defs/Completion"
      },
      "title": "Completions",
      "type": "array"
    }
  },
  "required": [
    "type",
    "status",
    "time"
  ],
  "title": "UserLiveMatch",
  "type": "object"
}

Config:

  • default: {'populate_by_name': True}

Fields:

last_id: int | None = None pydantic-field

Match ID of previous match. Data resets when match ends.

type: int pydantic-field

Match type

status: str pydantic-field

Match status: idle, counting, generate, ready, running, or done

time: int pydantic-field

Current match time in milliseconds. 0 if not started.

players: list[UserProfile] pydantic-field

Match players

spectators: list[UserProfile] pydantic-field

Match spectators

timelines: list[Timeline] pydantic-field

Timeline events

completions: list[Completion] pydantic-field

Match completions


Weekly Race Types

WeeklyRace pydantic-model

Weekly race data.

Show JSON schema:
{
  "$defs": {
    "RaceLeaderboardEntry": {
      "description": "Entry in the weekly race leaderboard.",
      "properties": {
        "rank": {
          "description": "Leaderboard rank",
          "title": "Rank",
          "type": "integer"
        },
        "player": {
          "$ref": "#/$defs/UserProfile",
          "description": "Player profile"
        },
        "time": {
          "description": "Completion time in milliseconds",
          "title": "Time",
          "type": "integer"
        },
        "replayExist": {
          "default": false,
          "description": "Whether replay is available",
          "title": "Replayexist",
          "type": "boolean"
        }
      },
      "required": [
        "rank",
        "player",
        "time"
      ],
      "title": "RaceLeaderboardEntry",
      "type": "object"
    },
    "UserProfile": {
      "description": "Basic user profile information.",
      "properties": {
        "uuid": {
          "description": "UUID without dashes",
          "title": "Uuid",
          "type": "string"
        },
        "nickname": {
          "description": "Player display name",
          "title": "Nickname",
          "type": "string"
        },
        "roleType": {
          "description": "User role type",
          "title": "Roletype",
          "type": "integer"
        },
        "eloRate": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Elo rating for current season. None if placement matches not completed.",
          "title": "Elorate"
        },
        "eloRank": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Rank for current season",
          "title": "Elorank"
        },
        "country": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Country code (lowercase ISO 3166-1 alpha-2)",
          "title": "Country"
        }
      },
      "required": [
        "uuid",
        "nickname",
        "roleType"
      ],
      "title": "UserProfile",
      "type": "object"
    },
    "WeeklyRaceSeed": {
      "description": "Weekly race seed information.",
      "properties": {
        "overworld": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Overworld seed",
          "title": "Overworld"
        },
        "nether": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Nether seed",
          "title": "Nether"
        },
        "theEnd": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "End seed",
          "title": "Theend"
        },
        "rng": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "RNG seed",
          "title": "Rng"
        },
        "flags": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Seed flags",
          "title": "Flags"
        }
      },
      "title": "WeeklyRaceSeed",
      "type": "object"
    }
  },
  "description": "Weekly race data.",
  "properties": {
    "id": {
      "description": "Weekly race ID",
      "title": "Id",
      "type": "integer"
    },
    "seed": {
      "$ref": "#/$defs/WeeklyRaceSeed",
      "description": "Race seed information"
    },
    "endsAt": {
      "description": "Unix timestamp when race ends",
      "title": "Endsat",
      "type": "integer"
    },
    "leaderboard": {
      "description": "Race leaderboard",
      "items": {
        "$ref": "#/$defs/RaceLeaderboardEntry"
      },
      "title": "Leaderboard",
      "type": "array"
    }
  },
  "required": [
    "id",
    "seed",
    "endsAt"
  ],
  "title": "WeeklyRace",
  "type": "object"
}

Config:

  • default: {'populate_by_name': True}

Fields:

id: int pydantic-field

Weekly race ID

seed: WeeklyRaceSeed pydantic-field

Race seed information

ends_at: int pydantic-field

Unix timestamp when race ends

leaderboard: list[RaceLeaderboardEntry] pydantic-field

Race leaderboard

WeeklyRaceSeed pydantic-model

Weekly race seed information.

Show JSON schema:
{
  "description": "Weekly race seed information.",
  "properties": {
    "overworld": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Overworld seed",
      "title": "Overworld"
    },
    "nether": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Nether seed",
      "title": "Nether"
    },
    "theEnd": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "End seed",
      "title": "Theend"
    },
    "rng": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "RNG seed",
      "title": "Rng"
    },
    "flags": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Seed flags",
      "title": "Flags"
    }
  },
  "title": "WeeklyRaceSeed",
  "type": "object"
}

Config:

  • default: {'populate_by_name': True}

Fields:

overworld: str | None = None pydantic-field

Overworld seed

nether: str | None = None pydantic-field

Nether seed

the_end: str | None = None pydantic-field

End seed

rng: str | None = None pydantic-field

RNG seed

flags: list[str] | None = None pydantic-field

Seed flags

RaceLeaderboardEntry pydantic-model

Entry in the weekly race leaderboard.

Show JSON schema:
{
  "$defs": {
    "UserProfile": {
      "description": "Basic user profile information.",
      "properties": {
        "uuid": {
          "description": "UUID without dashes",
          "title": "Uuid",
          "type": "string"
        },
        "nickname": {
          "description": "Player display name",
          "title": "Nickname",
          "type": "string"
        },
        "roleType": {
          "description": "User role type",
          "title": "Roletype",
          "type": "integer"
        },
        "eloRate": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Elo rating for current season. None if placement matches not completed.",
          "title": "Elorate"
        },
        "eloRank": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Rank for current season",
          "title": "Elorank"
        },
        "country": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Country code (lowercase ISO 3166-1 alpha-2)",
          "title": "Country"
        }
      },
      "required": [
        "uuid",
        "nickname",
        "roleType"
      ],
      "title": "UserProfile",
      "type": "object"
    }
  },
  "description": "Entry in the weekly race leaderboard.",
  "properties": {
    "rank": {
      "description": "Leaderboard rank",
      "title": "Rank",
      "type": "integer"
    },
    "player": {
      "$ref": "#/$defs/UserProfile",
      "description": "Player profile"
    },
    "time": {
      "description": "Completion time in milliseconds",
      "title": "Time",
      "type": "integer"
    },
    "replayExist": {
      "default": false,
      "description": "Whether replay is available",
      "title": "Replayexist",
      "type": "boolean"
    }
  },
  "required": [
    "rank",
    "player",
    "time"
  ],
  "title": "RaceLeaderboardEntry",
  "type": "object"
}

Config:

  • default: {'populate_by_name': True}

Fields:

rank: int pydantic-field

Leaderboard rank

player: UserProfile pydantic-field

Player profile

time: int pydantic-field

Completion time in milliseconds

replay_exist: bool = False pydantic-field

Whether replay is available