Services
Services available for retrieving Halo Infinite data.
Access service instances via HaloInfiniteClient properties.
DiscoveryUgcService
User-generated content discovery data services.
get_film_by_match_id(match_id)
async
Get metadata and download information for a film.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
match_id |
str | UUID
|
The match ID of the film. |
required |
Returns:
Type | Description |
---|---|
JsonResponse[Film]
|
The film details. |
get_map(asset_id, version_id)
async
Get details about a map.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
asset_id |
str | UUID
|
The asset ID of the map. |
required |
version_id |
str | UUID
|
The version ID of the map. |
required |
Returns:
Type | Description |
---|---|
JsonResponse[Map]
|
The map details. |
get_map_mode_pair(asset_id, version_id)
async
Get details about a map mode pair.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
asset_id |
str | UUID
|
The asset ID of the map mode pair. |
required |
version_id |
str | UUID
|
The version ID of the map mode pair. |
required |
Returns:
Type | Description |
---|---|
JsonResponse[MapModePair]
|
The map mode pair details. |
get_playlist(asset_id, version_id)
async
Get details about a playlist.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
asset_id |
str | UUID
|
The asset ID of the playlist. |
required |
version_id |
str | UUID
|
The version ID of the playlist. |
required |
Returns:
Type | Description |
---|---|
JsonResponse[Playlist]
|
The playlist details. |
get_ugc_game_variant(asset_id, version_id)
async
Get details about a game mode.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
asset_id |
str | UUID
|
The asset ID of the game variant. |
required |
version_id |
str | UUID
|
The version ID of the game variant. |
required |
Returns:
Type | Description |
---|---|
JsonResponse[UgcGameVariant]
|
The game variant details. |
search_assets(start=0, count=25, sort='plays_recent', order='desc', asset_kind=None, term=None, tags=None, author=None, average_rating_min=None, from_date_created_utc=None, to_date_created_utc=None, from_date_modified_utc=None, to_date_modified_utc=None, from_date_published_utc=None, to_date_published_utc=None)
async
Search for map, mode, and prefab assets.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
start |
int
|
Index of the first result to return, starting at 0. |
0
|
count |
int
|
Count of results to return. Must be between 1 and 101. |
25
|
sort |
_SortProperty
|
Property by which to sort the results. Must be one of the following: "name", "likes", "bookmarks", "plays_recent", "number_of_objects", "date_created_utc", "date_modified_utc", "date_published_utc", "plays_all_time", "parent_asset_count", "average_rating", "number_of_ratings". Defaults to "plays_recent". |
'plays_recent'
|
order |
Literal['asc', 'desc']
|
Pass "asc" for ascending or "desc" for descending. |
'desc'
|
asset_kind |
Literal['map', 'prefab', 'ugc_game_variant'] | None
|
Type of asset to be searched. Optional. If a value is provided, it must be be one of the following: "map", "prefab", "ugc_game_variant". By default, no filter is applied. |
None
|
term |
str | None
|
Search term. Optional. |
None
|
tags |
Iterable[str] | None
|
List of tags. Multiple tags are applied with an OR operator. Optional. |
None
|
author |
str | None
|
Author ID. Valid values would be in one of the following
formats: "xuid( |
None
|
average_rating_min |
float | None
|
Minimum average rating between 0 and 5. Optional. |
None
|
from_date_created_utc |
datetime | date | None
|
Minimum date created. Optional. |
None
|
to_date_created_utc |
datetime | date | None
|
Maximum date created. Optional. |
None
|
from_date_modified_utc |
datetime | date | None
|
Minimum date modified. Optional. |
None
|
to_date_modified_utc |
datetime | date | None
|
Maximum date modified. Optional. |
None
|
from_date_published_utc |
datetime | date | None
|
Minimum date published. Optional. |
None
|
to_date_published_utc |
datetime | date | None
|
Maximum date published. Optional. |
None
|
Returns:
Type | Description |
---|---|
JsonResponse[AssetSearchPage]
|
A page of up to |
EconomyService
Economy/customization data services.
get_player_customization(xuid, view_type='public')
async
Get the customization selections for a player.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
xuid |
str | int
|
The Xbox Live ID of the player to retrieve data for. |
required |
view_type |
Literal['public', 'private']
|
Use "public" when requesting customization for players other than yourself. The "private" view type only applies to the authenticated player making the request and might include data not visible using the "public" view type. |
'public'
|
Returns:
Type | Description |
---|---|
JsonResponse[PlayerCustomization]
|
The player's customization selections. |
GameCmsHacsService
Game content management data services.
get_career_reward_track()
async
Get details for the career rank progression reward track.
Returns:
Type | Description |
---|---|
JsonResponse[CareerRewardTrack]
|
The career rank reward track. |
get_csr_season_calendar()
async
Get IDs and dates for past and current CSR seasons.
CSR seasons represent the time periods between CSR resets.
Returns:
Type | Description |
---|---|
JsonResponse[CsrSeasonCalendar]
|
The CSR season calendar. |
get_image(relative_path)
async
Get an image from the game content management service.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
relative_path |
str
|
The relative path to the image, such as "career_rank/ProgressWidget/272_Hero.png". |
required |
Returns:
Type | Description |
---|---|
ImageResponse
|
The image data. |
get_medal_metadata()
async
Get details for all medals obtainable in the game.
Returns:
Type | Description |
---|---|
JsonResponse[MedalMetadata]
|
The medal metadata. |
get_season_calendar()
async
Get IDs and dates for past/current reward track events/operations.
Reward tracks are the progression systems that allow players to earn rewards from the XP earned by playing the game.
Returns:
Type | Description |
---|---|
JsonResponse[SeasonCalendar]
|
The calendar of reward tracks. |
ProfileService
Profile data services.
get_current_user()
async
get_user_by_gamertag(gamertag)
async
Get user profile for the given gamertag.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
gamertag |
str
|
The gamertag of the player. |
required |
Returns:
Type | Description |
---|---|
JsonResponse[User]
|
The user. |
get_user_by_id(xuid)
async
Get user profile for the given Xbox Live ID.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
xuid |
str | int
|
The Xbox Live ID of the player. |
required |
Returns:
Type | Description |
---|---|
JsonResponse[User]
|
The user. |
get_users_by_id(xuids)
async
Get user profiles for the given list of Xbox Live IDs.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
xuids |
Iterable[str | int]
|
The Xbox Live IDs of the players. |
required |
Returns:
Type | Description |
---|---|
JsonResponse[list[User]]
|
A list of users. |
Raises:
Type | Description |
---|---|
TypeError
|
If |
SkillService
Skill data services.
get_match_skill(match_id, xuids)
async
Get player CSR and team MMR values for a given match and player list.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
match_id |
str | UUID
|
Halo Infinite match ID. |
required |
xuids |
Iterable[str | int]
|
The Xbox Live IDs of the match's players. Only players in this list will have their skill data returned. |
required |
Returns:
Type | Description |
---|---|
JsonResponse[MatchSkill]
|
The skill data for the match. |
Raises:
Type | Description |
---|---|
TypeError
|
If |
ValueError
|
If |
get_playlist_csr(playlist_id, xuids, season_id=None)
async
Get player CSR values for a given playlist and player list.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
playlist_id |
str | UUID
|
Halo Infinite playlist asset ID. |
required |
xuids |
Iterable[str | int]
|
The Xbox Live IDs of the players. |
required |
season_id |
str | None
|
Halo Infinite season ID. If not provided, the current season will be used. Value can be provided as a path, e.g. "Csr/Seasons/CsrSeason5-1.json", or as a bare ID, e.g. "CsrSeason5-1". If provided as a path, the path prefix and ".json" extension will be removed. Case is not important. |
None
|
Returns:
Type | Description |
---|---|
JsonResponse[PlaylistCsr]
|
The summary CSR data for the players in the given playlist. |
Raises:
Type | Description |
---|---|
TypeError
|
If |
ValueError
|
If |
StatsService
Stats data services.
get_match_count(player)
async
Get match counts across different game experiences for a player.
The counts returned are for custom matches, matchmade matches, local matches, and total matches.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
player |
str | int
|
Xbox Live ID or gamertag of the player to get counts for. Examples of valid inputs include "xuid(1234567890123456)", "1234567890123456", 1234567890123456, and "MyGamertag". |
required |
Returns:
Type | Description |
---|---|
JsonResponse[MatchCount]
|
The match counts. |
get_match_history(player, start=0, count=25, match_type='all')
async
Request a batch of matches from a player's match history.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
player |
str | int
|
Xbox Live ID or gamertag of the player to get counts for. Examples of valid inputs include "xuid(1234567890123456)", "1234567890123456", 1234567890123456, and "MyGamertag". |
required |
start |
int
|
Index of the first match to request, starting at 0. |
0
|
count |
int
|
The number of matches to request. Maximum number of results returned is 25. |
25
|
match_type |
Literal['all', 'matchmaking', 'custom', 'local']
|
The type of matches to return. One of "all", "matchmaking", "custom", or "local". |
'all'
|
Returns:
Type | Description |
---|---|
JsonResponse[MatchHistory]
|
The requested match history "page" of results. |
get_match_stats(match_id)
async
Request match details using the Halo Infinite match GUID.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
match_id |
str | UUID
|
Halo Infinite GUID identifying the match. |
required |
Returns:
Type | Description |
---|---|
JsonResponse[MatchStats]
|
The match details. |
get_service_record(player, match_type='matchmade', season_id=None, game_variant_category=None, is_ranked=None, playlist_asset_id=None)
async
Get a service record for a player. Summarizes player stats.
Note that filters (season_id
, game_variant_category
, is_ranked
,
and playlist_asset_id
) are only applicable to "matchmade"
match_type
. A warning is issued and the filters are ignored if they
are provided for a non-matchmade match_type
.
Filters must be combined appropriately. The following are valid:
- season_id
- season_id
, game_variant_category
- season_id
, game_variant_category
, playlist_asset_id
- season_id
, game_variant_category
, is_ranked
- season_id
, playlist_asset_id
- game_variant_category
- game_variant_category
, is_ranked
To collect possible values for the filter arguments, look at the "subqueries" attribute of an unfiltered service record response.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
player |
str | int
|
Xbox Live ID or gamertag of the player to get counts for. Examples of valid inputs include "xuid(1234567890123456)", "1234567890123456", 1234567890123456, and "MyGamertag". |
required |
match_type |
Literal['matchmade', 'custom', 'local']
|
The type of games to include in the service record. One of "matchmade", "custom", or "local". |
'matchmade'
|
season_id |
str | None
|
The season ID to get service record for. Optional. |
None
|
game_variant_category |
GameVariantCategory | int | None
|
The game variant category to filter service
record data. See |
None
|
is_ranked |
bool | None
|
Filter for ranked or unranked games. Optional. |
None
|
playlist_asset_id |
str | UUID | None
|
Filter for a specific playlist with its asset ID. Optional. |
None
|
Returns:
Type | Description |
---|---|
JsonResponse[ServiceRecord]
|
The service record for the player with the given filters. |
Raises:
Type | Description |
---|---|
ValueError
|
If |
ValueError
|
If filter arguments are inappropriately combined. |