xbox.webapi.api.provider.titlehub.models module

class xbox.webapi.api.provider.titlehub.models.TitleFields(value, names=None, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: str, Enum

SERVICE_CONFIG_ID = 'scid'
ACHIEVEMENT = 'achievement'
STATS = 'stats'
GAME_PASS = 'gamepass'
IMAGE = 'image'
DETAIL = 'detail'
FRIENDS_WHO_PLAYED = 'friendswhoplayed'
ALTERNATE_TITLE_ID = 'alternateTitleId'
PRODUCT_ID = 'productId'
CONTENT_BOARD = 'contentBoard'
static _generate_next_value_(name, start, count, last_values)[source]

Generate the next value when not given.

name: the name of the member start: the initial start value or None count: the number of existing members last_values: the list of values assigned

class xbox.webapi.api.provider.titlehub.models.Achievement(*, currentAchievements, totalAchievements, currentGamerscore, totalGamerscore, progressPercentage, sourceVersion)[source]

Bases: CamelCaseModel

Parameters:
  • currentAchievements (int) –

  • totalAchievements (int) –

  • currentGamerscore (int) –

  • totalGamerscore (int) –

  • progressPercentage (float) –

  • sourceVersion (int) –

current_achievements: int
total_achievements: int
current_gamerscore: int
total_gamerscore: int
progress_percentage: float
source_version: int
model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'arbitrary_types_allowed': True, 'populate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'current_achievements': FieldInfo(annotation=int, required=True, alias='currentAchievements'), 'current_gamerscore': FieldInfo(annotation=int, required=True, alias='currentGamerscore'), 'progress_percentage': FieldInfo(annotation=float, required=True, alias='progressPercentage'), 'source_version': FieldInfo(annotation=int, required=True, alias='sourceVersion'), 'total_achievements': FieldInfo(annotation=int, required=True, alias='totalAchievements'), 'total_gamerscore': FieldInfo(annotation=int, required=True, alias='totalGamerscore')}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

class xbox.webapi.api.provider.titlehub.models.Stats(*, sourceVersion)[source]

Bases: CamelCaseModel

Parameters:

sourceVersion (int) –

source_version: int
model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'arbitrary_types_allowed': True, 'populate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'source_version': FieldInfo(annotation=int, required=True, alias='sourceVersion')}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

class xbox.webapi.api.provider.titlehub.models.GamePass(*, isGamePass)[source]

Bases: CamelCaseModel

Parameters:

isGamePass (bool) –

is_game_pass: bool
model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'arbitrary_types_allowed': True, 'populate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'is_game_pass': FieldInfo(annotation=bool, required=True, alias='isGamePass')}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

class xbox.webapi.api.provider.titlehub.models.Image(*, url, type)[source]

Bases: CamelCaseModel

Parameters:
  • url (str) –

  • type (str) –

url: str
type: str
model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'arbitrary_types_allowed': True, 'populate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'type': FieldInfo(annotation=str, required=True, alias='type'), 'url': FieldInfo(annotation=str, required=True, alias='url')}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

class xbox.webapi.api.provider.titlehub.models.TitleHistory(*, lastTimePlayed, visible, canHide)[source]

Bases: CamelCaseModel

Parameters:
last_time_played: datetime
visible: bool
can_hide: bool
model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'arbitrary_types_allowed': True, 'populate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'can_hide': FieldInfo(annotation=bool, required=True, alias='canHide'), 'last_time_played': FieldInfo(annotation=datetime, required=True, alias='lastTimePlayed'), 'visible': FieldInfo(annotation=bool, required=True, alias='visible')}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

class xbox.webapi.api.provider.titlehub.models.Attribute(*, applicablePlatforms=None, maximum=None, minimum=None, name)[source]

Bases: CamelCaseModel

Parameters:
  • applicablePlatforms (List[str] | None) –

  • maximum (int | None) –

  • minimum (int | None) –

  • name (str) –

applicable_platforms: List[str] | None
maximum: int | None
minimum: int | None
name: str
model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'arbitrary_types_allowed': True, 'populate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'applicable_platforms': FieldInfo(annotation=Union[List[str], NoneType], required=False, alias='applicablePlatforms'), 'maximum': FieldInfo(annotation=Union[int, NoneType], required=False, alias='maximum'), 'minimum': FieldInfo(annotation=Union[int, NoneType], required=False, alias='minimum'), 'name': FieldInfo(annotation=str, required=True, alias='name')}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

class xbox.webapi.api.provider.titlehub.models.Availability(*, Actions, AvailabilityId, Platforms, SkuId)[source]

Bases: PascalCaseModel

Parameters:
actions: List[str]
availability_id: str
platforms: List[str]
sku_id: str
model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_pascal>, 'arbitrary_types_allowed': True, 'populate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'actions': FieldInfo(annotation=List[str], required=True, alias='Actions'), 'availability_id': FieldInfo(annotation=str, required=True, alias='AvailabilityId'), 'platforms': FieldInfo(annotation=List[str], required=True, alias='Platforms'), 'sku_id': FieldInfo(annotation=str, required=True, alias='SkuId')}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

class xbox.webapi.api.provider.titlehub.models.Detail(*, attributes, availabilities, capabilities, description, developerName, genres=None, publisherName, minAge, releaseDate=None, shortDescription=None, vuiDisplayName=None, xboxLiveGoldRequired)[source]

Bases: CamelCaseModel

Parameters:
attributes: List[Attribute]
availabilities: List[Availability]
capabilities: List[str]
description: str
developer_name: str
genres: List[str] | None
publisher_name: str
min_age: int
release_date: datetime | None
short_description: str | None
vui_display_name: str | None
xbox_live_gold_required: bool
model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'arbitrary_types_allowed': True, 'populate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'attributes': FieldInfo(annotation=List[Attribute], required=True, alias='attributes'), 'availabilities': FieldInfo(annotation=List[Availability], required=True, alias='availabilities'), 'capabilities': FieldInfo(annotation=List[str], required=True, alias='capabilities'), 'description': FieldInfo(annotation=str, required=True, alias='description'), 'developer_name': FieldInfo(annotation=str, required=True, alias='developerName'), 'genres': FieldInfo(annotation=Union[List[str], NoneType], required=False, alias='genres'), 'min_age': FieldInfo(annotation=int, required=True, alias='minAge'), 'publisher_name': FieldInfo(annotation=str, required=True, alias='publisherName'), 'release_date': FieldInfo(annotation=Union[datetime, NoneType], required=False, alias='releaseDate'), 'short_description': FieldInfo(annotation=Union[str, NoneType], required=False, alias='shortDescription'), 'vui_display_name': FieldInfo(annotation=Union[str, NoneType], required=False, alias='vuiDisplayName'), 'xbox_live_gold_required': FieldInfo(annotation=bool, required=True, alias='xboxLiveGoldRequired')}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

class xbox.webapi.api.provider.titlehub.models.Title(*, titleId, pfn=None, bingId=None, serviceConfigId=None, windowsPhoneProductId=None, name, type, devices, displayImage, mediaItemType, modernTitleId=None, isBundle, achievement=None, stats=None, gamePass=None, images=None, titleHistory=None, detail=None, friendsWhoPlayed=None, alternateTitleIds=None, contentBoards=None, xboxLiveTier=None, isStreamable=None)[source]

Bases: CamelCaseModel

Parameters:
  • titleId (str) –

  • pfn (str | None) –

  • bingId (str | None) –

  • serviceConfigId (str | None) –

  • windowsPhoneProductId (str | None) –

  • name (str) –

  • type (str) –

  • devices (List[str]) –

  • displayImage (str) –

  • mediaItemType (str) –

  • modernTitleId (str | None) –

  • isBundle (bool) –

  • achievement (Achievement | None) –

  • stats (Stats | None) –

  • gamePass (GamePass | None) –

  • images (List[Image] | None) –

  • titleHistory (TitleHistory | None) –

  • detail (Detail | None) –

  • friendsWhoPlayed (Any) –

  • alternateTitleIds (Any) –

  • contentBoards (Any) –

  • xboxLiveTier (str | None) –

  • isStreamable (bool | None) –

title_id: str
pfn: str | None
bing_id: str | None
service_config_id: str | None
windows_phone_product_id: str | None
name: str
type: str
devices: List[str]
display_image: str
media_item_type: str
modern_title_id: str | None
is_bundle: bool
achievement: Achievement | None
stats: Stats | None
game_pass: GamePass | None
images: List[Image] | None
title_history: TitleHistory | None
detail: Detail | None
friends_who_played: Any
alternate_title_ids: Any
content_boards: Any
xbox_live_tier: str | None
is_streamable: bool | None
model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'arbitrary_types_allowed': True, 'populate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'achievement': FieldInfo(annotation=Union[Achievement, NoneType], required=False, alias='achievement'), 'alternate_title_ids': FieldInfo(annotation=Any, required=False, alias='alternateTitleIds'), 'bing_id': FieldInfo(annotation=Union[str, NoneType], required=False, alias='bingId'), 'content_boards': FieldInfo(annotation=Any, required=False, alias='contentBoards'), 'detail': FieldInfo(annotation=Union[Detail, NoneType], required=False, alias='detail'), 'devices': FieldInfo(annotation=List[str], required=True, alias='devices'), 'display_image': FieldInfo(annotation=str, required=True, alias='displayImage'), 'friends_who_played': FieldInfo(annotation=Any, required=False, alias='friendsWhoPlayed'), 'game_pass': FieldInfo(annotation=Union[GamePass, NoneType], required=False, alias='gamePass'), 'images': FieldInfo(annotation=Union[List[Image], NoneType], required=False, alias='images'), 'is_bundle': FieldInfo(annotation=bool, required=True, alias='isBundle'), 'is_streamable': FieldInfo(annotation=Union[bool, NoneType], required=False, alias='isStreamable'), 'media_item_type': FieldInfo(annotation=str, required=True, alias='mediaItemType'), 'modern_title_id': FieldInfo(annotation=Union[str, NoneType], required=False, alias='modernTitleId'), 'name': FieldInfo(annotation=str, required=True, alias='name'), 'pfn': FieldInfo(annotation=Union[str, NoneType], required=False, alias='pfn'), 'service_config_id': FieldInfo(annotation=Union[str, NoneType], required=False, alias='serviceConfigId'), 'stats': FieldInfo(annotation=Union[Stats, NoneType], required=False, alias='stats'), 'title_history': FieldInfo(annotation=Union[TitleHistory, NoneType], required=False, alias='titleHistory'), 'title_id': FieldInfo(annotation=str, required=True, alias='titleId'), 'type': FieldInfo(annotation=str, required=True, alias='type'), 'windows_phone_product_id': FieldInfo(annotation=Union[str, NoneType], required=False, alias='windowsPhoneProductId'), 'xbox_live_tier': FieldInfo(annotation=Union[str, NoneType], required=False, alias='xboxLiveTier')}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

class xbox.webapi.api.provider.titlehub.models.TitleHubResponse(*, xuid=None, titles)[source]

Bases: CamelCaseModel

Parameters:
xuid: str | None
titles: List[Title]
model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'arbitrary_types_allowed': True, 'populate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'titles': FieldInfo(annotation=List[Title], required=True, alias='titles'), 'xuid': FieldInfo(annotation=Union[str, NoneType], required=False, alias='xuid')}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.