Models

Data models returned by API methods. All models are dataclasses with full type hints.

Response

class valopy.models.Result(status_code, message='None', data=<factory>)[source]

Bases: object

HTTP request result wrapper.

status_code

The HTTP status code of the response.

Type:

int

message

The HTTP status message.

Type:

str

data

The response data (dict or deserialized dataclass).

Type:

Any

class valopy.models.ResultMetadata(total, returned, before, after)[source]

Bases: object

Pagination and results metadata.

total

Total number of results available.

Type:

int

returned

Number of results returned in this response.

Type:

int

before

Number of results before this page.

Type:

int

after

Number of results after this page.

Type:

int

Account

class valopy.models.AccountV1(puuid, region, account_level, name, tag, card, last_update, last_update_raw)[source]

Bases: object

Account V1 information.

puuid

The player’s unique identifier.

Type:

str

region

The player’s region.

Type:

str

account_level

The player’s account level.

Type:

int

name

The player’s game name.

Type:

str

tag

The player’s tag.

Type:

str

card

The player’s card data with image URLs.

Type:

CardData

last_update

Last update timestamp. Note: This is an approximation calculated from relative time strings (e.g., “3 minutes ago”) returned by the API, so accuracy may vary by seconds/minutes.

Type:

datetime.datetime

last_update_raw

Last update timestamp (raw).

Type:

int

class valopy.models.AccountV2(puuid, region, account_level, name, tag, card, title, platforms, updated_at)[source]

Bases: object

Account V2 information.

puuid

The player’s unique identifier.

Type:

str

region

The player’s region.

Type:

str

account_level

The player’s account level.

Type:

int

name

The player’s game name.

Type:

str

tag

The player’s tag.

Type:

str

card

The player’s card ID.

Type:

str

title

The player’s title.

Type:

str

platforms

Available platforms.

Type:

List[str]

updated_at

Update timestamp.

Type:

datetime.datetime

class valopy.models.CardData(small, large, wide, id)[source]

Bases: object

Player card data.

small

Small card image URL.

Type:

str

large

Large card image URL.

Type:

str

wide

Wide card image URL.

Type:

str

id

Card ID.

Type:

str

Content

class valopy.models.Content(version, characters=<factory>, maps=<factory>, chromas=<factory>, skins=<factory>, skinLevels=<factory>, equips=<factory>, gameModes=<factory>, sprays=<factory>, sprayLevels=<factory>, charms=<factory>, charmLevels=<factory>, playerCards=<factory>, playerTitles=<factory>, acts=<factory>, ceremonies=<factory>)[source]

Bases: object

In-game content data.

version

Content version.

Type:

str

characters

Available characters.

Type:

List[ContentCharacter]

maps

Available maps.

Type:

List[ContentMap]

chromas

Available chromas.

Type:

List[ContentItem]

skins

Available skins.

Type:

List[ContentItem]

skin_levels

Available skin levels.

Type:

List[ContentItem]

equips

Available equips.

Type:

List[ContentItem]

game_modes

Available game modes.

Type:

List[ContentItem]

sprays

Available sprays.

Type:

List[ContentItem]

spray_levels

Available spray levels.

Type:

List[ContentItem]

charms

Available charms.

Type:

List[ContentItem]

charm_levels

Available charm levels.

Type:

List[ContentItem]

player_cards

Available player cards.

Type:

List[ContentItem]

player_titles

Available player titles.

Type:

List[ContentPlayerTitle]

acts

Available acts.

Type:

List[ContentAct]

ceremonies

Available ceremonies.

Type:

List[ContentItem]

class valopy.models.ContentItem(name, id, assetName='', assetPath='', localizedNames=<factory>)[source]

Bases: object

Generic content item structure.

name

Item name.

Type:

str

id

Item ID.

Type:

str

assetName

Asset name.

Type:

str

assetPath

Asset path.

Type:

str

localizedNames

Item names in different locales.

Type:

Dict[str, str]

class valopy.models.ContentCharacter(name, id, assetName='', localizedNames=<factory>, isPlayableCharacter=False)[source]

Bases: object

Content character structure.

name

Character name.

Type:

str

id

Character ID.

Type:

str

assetName

Asset name.

Type:

str

localizedNames

Character names in different locales.

Type:

Dict[str, str]

isPlayableCharacter

Whether character is playable.

Type:

bool

class valopy.models.ContentMap(name, id, assetName='', assetPath='', localizedNames=<factory>)[source]

Bases: object

Content map structure.

name

Map name.

Type:

str

id

Map ID.

Type:

str

assetName

Asset name.

Type:

str

assetPath

Asset path.

Type:

str

localizedNames

Map names in different locales.

Type:

Dict[str, str]

class valopy.models.ContentAct(name, id, localizedNames=<factory>, isActive=False)[source]

Bases: object

Content act structure.

name

Act name.

Type:

str

id

Act ID.

Type:

str

localizedNames

Act names in different locales.

Type:

Dict[str, str]

isActive

Whether the act is currently active.

Type:

bool

class valopy.models.ContentPlayerTitle(name, id, assetName='', titleText='')[source]

Bases: object

Content player title structure.

name

Title name.

Type:

str

id

Title ID.

Type:

str

assetName

Asset name.

Type:

str

titleText

Display text for the title.

Type:

str

Version

class valopy.models.Version(region, branch, build_date, build_ver, last_checked, version, version_for_api)[source]

Bases: object

Version response

region

The region of the version data.

Type:

str

branch

The branch of the version data.

Type:

str

build_date

The build date of the version.

Type:

datetime.datetime

build_ver

The build version.

Type:

str

last_checked

The last checked timestamp.

Type:

datetime.datetime

version

The version number.

Type:

int

version_for_api

The version string for API usage.

Type:

str

Website

class valopy.models.WebsiteContent(id, banner_url, category, date, title, url, description='', external_link='')[source]

Bases: object

Website content structure.

id

The unique identifier for the website content.

Type:

str

banner_url

The URL of the banner image.

Type:

str

category

The category of the website content.

Type:

str

date

Release date of the content.

Type:

datetime.datetime

title

Title of the content.

Type:

str

url

The URL of the content.

Type:

str

description

Description of the content.

Type:

str

External link related to the content.

Type:

str

Status

class valopy.models.Status(maintenances=<factory>, incidents=<factory>)[source]

Bases: object

Server status response.

maintenances

List of current maintenance announcements.

Type:

List[StatusEntry]

incidents

List of current incidents.

Type:

List[StatusEntry]

class valopy.models.StatusEntry(created_at, archive_at, updates=<factory>, platforms=<factory>, updated_at=datetime.datetime(1970, 1, 1, 0, 0, tzinfo=datetime.timezone.utc), id=0, titles=<factory>, maintenance_status='', incident_severity='')[source]

Bases: object

Status entry for maintenance or incident.

created_at

When the entry was created.

Type:

datetime.datetime

archive_at

When the entry will be archived.

Type:

datetime.datetime

updates

List of status updates.

Type:

List[StatusUpdate]

platforms

Affected platforms (e.g., ‘windows’).

Type:

List[str]

updated_at

When the entry was last modified.

Type:

datetime.datetime

id

Unique identifier for the entry.

Type:

int

titles

Titles for the entry.

Type:

List[StatusTitle]

maintenance_status

Current maintenance status (e.g., ‘in_progress’).

Type:

str

incident_severity

Severity level (e.g., ‘warning’).

Type:

str

class valopy.models.StatusUpdate(created_at, updated_at, publish, id, translations=<factory>, publish_locations=<factory>, author='')[source]

Bases: object

Individual status update entry.

created_at

When the update was created.

Type:

datetime.datetime

updated_at

When the update was last modified.

Type:

datetime.datetime

publish

Whether the update is published.

Type:

bool

id

Unique identifier for the update.

Type:

int

translations

Translated content messages.

Type:

List[StatusTranslation]

publish_locations

Where the update is published (e.g., ‘riotclient’).

Type:

List[str]

author

Author of the update.

Type:

str

class valopy.models.StatusTitle(content, locale)[source]

Bases: object

Title content for status entries.

content

The title text.

Type:

str

locale

The locale code (e.g., ‘en_US’).

Type:

str

class valopy.models.StatusTranslation(content, locale)[source]

Bases: object

Translation content for status updates.

content

The translated content message.

Type:

str

locale

The locale code (e.g., ‘en_US’).

Type:

str

Queue

class valopy.models.QueueData(mode, mode_id, enabled, team_size, number_of_teams, party_size, high_skill, ranked, tournament, skill_disparity, required_account_level, game_rules, platforms=<factory>, maps=<factory>)[source]

Bases: object

Individual queue configuration.

mode

Queue mode name (e.g., “Competitive”).

Type:

str

mode_id

Queue mode identifier (e.g., “competitive”).

Type:

str

enabled

Whether the queue is currently enabled.

Type:

bool

team_size

Number of players per team.

Type:

int

number_of_teams

Number of teams in a match.

Type:

int

party_size

Party size constraints.

Type:

QueuePartySize

high_skill

High skill tier restrictions.

Type:

QueueHighSkill

ranked

Whether this is a ranked queue.

Type:

bool

tournament

Whether this is a tournament queue.

Type:

bool

skill_disparity

Skill disparity restrictions by tier.

Type:

List[QueueSkillDisparity]

required_account_level

Minimum account level required.

Type:

int

game_rules

Game rules configuration.

Type:

QueueGameRules

platforms

Available platforms (e.g., [“pc”]).

Type:

List[str]

maps

Available maps in this queue.

Type:

List[QueueMap]

class valopy.models.QueuePartySize(max, min, invalid=<factory>, full_party_bypass=False)[source]

Bases: object

Party size constraints for a queue.

max

Maximum party size allowed.

Type:

int

min

Minimum party size allowed.

Type:

int

invalid

Party sizes that are not allowed.

Type:

List[int]

full_party_bypass

Whether full parties bypass certain restrictions.

Type:

bool

class valopy.models.QueueHighSkill(max_party_size, min_tier, max_tier)[source]

Bases: object

High skill tier restrictions for a queue.

max_party_size

Maximum party size for high skill players.

Type:

int

min_tier

Minimum tier affected by high skill restrictions.

Type:

int

max_tier

Maximum tier affected by high skill restrictions.

Type:

int

class valopy.models.QueueSkillDisparity(tier, name, max_tier)[source]

Bases: object

Skill disparity restrictions for a queue.

tier

The tier identifier.

Type:

int

name

Tier name.

Type:

str

max_tier

Maximum tier allowed to queue with this tier.

Type:

QueueSkillDisparityTier

class valopy.models.QueueSkillDisparityTier(id, name)[source]

Bases: object

Tier information for skill disparity.

id

Tier identifier.

Type:

int

name

Tier name.

Type:

str

class valopy.models.QueueGameRules(overtime_win_by_two=False, allow_lenient_surrender=False, allow_drop_out=False, assign_random_agents=False, skip_pregame=False, allow_overtime_draw_vote=False, overtime_win_by_two_capped=False, premier_mode=False)[source]

Bases: object

Game rules configuration for a queue.

overtime_win_by_two

Whether overtime requires winning by two.

Type:

bool

allow_lenient_surrender

Whether lenient surrender is allowed.

Type:

bool

allow_drop_out

Whether dropping out is allowed.

Type:

bool

assign_random_agents

Whether agents are randomly assigned.

Type:

bool

skip_pregame

Whether pregame is skipped.

Type:

bool

allow_overtime_draw_vote

Whether overtime draw voting is allowed.

Type:

bool

overtime_win_by_two_capped

Whether overtime win by two is capped.

Type:

bool

premier_mode

Whether this is premier mode.

Type:

bool

class valopy.models.QueueMap(map, enabled)[source]

Bases: object

Map configuration for a queue.

map

Map information.

Type:

QueueMapInfo

enabled

Whether the map is enabled in this queue.

Type:

bool

class valopy.models.QueueMapInfo(id, name)[source]

Bases: object

Map identifier and name.

id

Map UUID.

Type:

str

name

Map display name.

Type:

str

Esports

class valopy.models.EsportsEvent(date, state, type, vod, league, tournament, match)[source]

Bases: object

Esports event data.

date

Event date (ISO 8601 format).

Type:

datetime.datetime

state

Event state (e.g., “completed”, “upcoming”).

Type:

str

type

Event type (e.g., “match”).

Type:

str

vod

Video on demand URL.

Type:

str

league

League information.

Type:

EsportsLeague

tournament

Tournament information.

Type:

EsportsTournament

match

Match information.

Type:

EsportsMatch

class valopy.models.EsportsMatch(id, game_type, teams)[source]

Bases: object

Esports match information.

id

Match ID.

Type:

str

game_type

Game type configuration.

Type:

EsportsGameType

teams

List of teams in the match.

Type:

List[EsportsTeam]

class valopy.models.EsportsTeam(name, code, icon, has_won, game_wins, record)[source]

Bases: object

Esports team information.

name

Team name.

Type:

str

code

Team code.

Type:

str

icon

Team icon URL.

Type:

str

has_won

Whether the team has won.

Type:

bool

game_wins

Number of games won.

Type:

int

record

Team’s win/loss record.

Type:

EsportsTeamRecord

class valopy.models.EsportsTeamRecord(wins, losses)[source]

Bases: object

Esports team record.

wins

Number of wins.

Type:

int

losses

Number of losses.

Type:

int

class valopy.models.EsportsGameType(type, count)[source]

Bases: object

Esports game type configuration.

type

Game type (e.g., “playAll”, “bestOf”).

Type:

str

count

Number of games.

Type:

int

class valopy.models.EsportsTournament(name, season)[source]

Bases: object

Esports tournament information.

name

Tournament name.

Type:

str

season

Tournament season.

Type:

str

class valopy.models.EsportsLeague(name, identifier, icon, region)[source]

Bases: object

Esports league information.

name

League name.

Type:

str

identifier

League identifier.

Type:

str

icon

League icon URL.

Type:

str

region

League region.

Type:

str

Leaderboard

class valopy.models.Leaderboard(results, updated_at=datetime.datetime(1970, 1, 1, 0, 0, tzinfo=datetime.timezone.utc), thresholds=<factory>, players=<factory>)[source]

Bases: object

Leaderboard response.

results

Pagination metadata (total, returned, before, after).

Type:

ResultMetadata

updated_at

When the leaderboard was last updated.

Type:

datetime.datetime

thresholds

Tier threshold information.

Type:

List[LeaderboardThreshold]

players

List of leaderboard players.

Type:

List[LeaderboardPlayer]

class valopy.models.LeaderboardPlayer(puuid, name, tag, card, title, is_banned, is_anonymized, leaderboard_rank, tier, rr, wins, updated_at)[source]

Bases: object

Leaderboard player entry.

puuid

Player’s unique identifier.

Type:

str

name

Player’s game name.

Type:

str

tag

Player’s tag.

Type:

str

card

Player card ID.

Type:

str

title

Player title ID.

Type:

str

is_banned

Whether the player is banned.

Type:

bool

is_anonymized

Whether the player is anonymized.

Type:

bool

leaderboard_rank

Current leaderboard rank.

Type:

int

tier

Current rank tier.

Type:

int

rr

Ranking rating points.

Type:

int

wins

Number of wins.

Type:

int

updated_at

Last update timestamp.

Type:

datetime.datetime

class valopy.models.LeaderboardThreshold(tier, start_index, threshold)[source]

Bases: object

Leaderboard tier threshold.

tier

Tier information.

Type:

LeaderboardTier

start_index

Starting index for this tier.

Type:

int

threshold

RR threshold to reach this tier.

Type:

int

class valopy.models.LeaderboardTier(id, name)[source]

Bases: object

Leaderboard tier information.

id

Tier ID.

Type:

int

name

Tier name (e.g., “Immortal 1”, “Radiant”).

Type:

str