xbox.webapi.api.provider.achievements.models module

class xbox.webapi.api.provider.achievements.models.PagingInfo(*, continuationToken=None, totalRecords)[source]

Bases: CamelCaseModel

Parameters:
  • continuationToken (str | None) –

  • totalRecords (int) –

continuation_token: str | None
total_records: 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]] = {'continuation_token': FieldInfo(annotation=Union[str, NoneType], required=False, alias='continuationToken'), 'total_records': FieldInfo(annotation=int, required=True, alias='totalRecords')}

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.achievements.models.Achievement360(*, id, titleId, name, sequence, flags, unlockedOnline, unlocked, isSecret, platform, gamerscore, imageId, description, lockedDescription, type, isRevoked, timeUnlocked)[source]

Bases: CamelCaseModel

Parameters:
  • id (int) –

  • titleId (int) –

  • name (str) –

  • sequence (int) –

  • flags (int) –

  • unlockedOnline (bool) –

  • unlocked (bool) –

  • isSecret (bool) –

  • platform (int) –

  • gamerscore (int) –

  • imageId (int) –

  • description (str) –

  • lockedDescription (str) –

  • type (int) –

  • isRevoked (bool) –

  • timeUnlocked (datetime) –

id: int
title_id: int
name: str
sequence: int
flags: int
unlocked_online: bool
unlocked: bool
is_secret: bool
platform: int
gamerscore: int
image_id: int
description: str
locked_description: str
type: int
is_revoked: bool
time_unlocked: datetime
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]] = {'description': FieldInfo(annotation=str, required=True, alias='description'), 'flags': FieldInfo(annotation=int, required=True, alias='flags'), 'gamerscore': FieldInfo(annotation=int, required=True, alias='gamerscore'), 'id': FieldInfo(annotation=int, required=True, alias='id'), 'image_id': FieldInfo(annotation=int, required=True, alias='imageId'), 'is_revoked': FieldInfo(annotation=bool, required=True, alias='isRevoked'), 'is_secret': FieldInfo(annotation=bool, required=True, alias='isSecret'), 'locked_description': FieldInfo(annotation=str, required=True, alias='lockedDescription'), 'name': FieldInfo(annotation=str, required=True, alias='name'), 'platform': FieldInfo(annotation=int, required=True, alias='platform'), 'sequence': FieldInfo(annotation=int, required=True, alias='sequence'), 'time_unlocked': FieldInfo(annotation=datetime, required=True, alias='timeUnlocked'), 'title_id': FieldInfo(annotation=int, required=True, alias='titleId'), 'type': FieldInfo(annotation=int, required=True, alias='type'), 'unlocked': FieldInfo(annotation=bool, required=True, alias='unlocked'), 'unlocked_online': FieldInfo(annotation=bool, required=True, alias='unlockedOnline')}

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.achievements.models.Title360(*, lastPlayed, currentAchievements, currentGamerscore, sequence, titleId, titleType, platforms, name, totalAchievements, totalGamerscore)[source]

Bases: CamelCaseModel

Parameters:
  • lastPlayed (datetime) –

  • currentAchievements (int) –

  • currentGamerscore (int) –

  • sequence (int) –

  • titleId (int) –

  • titleType (int) –

  • platforms (List[int]) –

  • name (str) –

  • totalAchievements (int) –

  • totalGamerscore (int) –

last_played: datetime
current_achievements: int
current_gamerscore: int
sequence: int
title_id: int
title_type: int
platforms: List[int]
name: str
total_achievements: int
total_gamerscore: 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'), 'last_played': FieldInfo(annotation=datetime, required=True, alias='lastPlayed'), 'name': FieldInfo(annotation=str, required=True, alias='name'), 'platforms': FieldInfo(annotation=List[int], required=True, alias='platforms'), 'sequence': FieldInfo(annotation=int, required=True, alias='sequence'), 'title_id': FieldInfo(annotation=int, required=True, alias='titleId'), 'title_type': FieldInfo(annotation=int, required=True, alias='titleType'), '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.achievements.models.Achievement360Response(*, achievements, pagingInfo, version)[source]

Bases: CamelCaseModel

Parameters:
achievements: List[Achievement360]
paging_info: PagingInfo
version: datetime
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]] = {'achievements': FieldInfo(annotation=List[Achievement360], required=True, alias='achievements'), 'paging_info': FieldInfo(annotation=PagingInfo, required=True, alias='pagingInfo'), 'version': FieldInfo(annotation=datetime, required=True, alias='version')}

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.achievements.models.Achievement360ProgressResponse(*, titles, pagingInfo, version)[source]

Bases: CamelCaseModel

Parameters:
titles: List[Title360]
paging_info: PagingInfo
version: datetime
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]] = {'paging_info': FieldInfo(annotation=PagingInfo, required=True, alias='pagingInfo'), 'titles': FieldInfo(annotation=List[Title360], required=True, alias='titles'), 'version': FieldInfo(annotation=datetime, required=True, alias='version')}

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.achievements.models.TitleAssociation(*, name, id)[source]

Bases: BaseModel

Parameters:
name: str
id: int
model_config: ClassVar[ConfigDict] = {}

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

model_fields: ClassVar[dict[str, FieldInfo]] = {'id': FieldInfo(annotation=int, required=True), 'name': FieldInfo(annotation=str, required=True)}

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.achievements.models.Requirement(*, id, current=None, target, operationType, valueType, ruleParticipationType)[source]

Bases: CamelCaseModel

Parameters:
  • id (str) –

  • current (str | None) –

  • target (str) –

  • operationType (str) –

  • valueType (str) –

  • ruleParticipationType (str) –

id: str
current: str | None
target: str
operation_type: str
value_type: str
rule_participation_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]] = {'current': FieldInfo(annotation=Union[str, NoneType], required=False, alias='current'), 'id': FieldInfo(annotation=str, required=True, alias='id'), 'operation_type': FieldInfo(annotation=str, required=True, alias='operationType'), 'rule_participation_type': FieldInfo(annotation=str, required=True, alias='ruleParticipationType'), 'target': FieldInfo(annotation=str, required=True, alias='target'), 'value_type': FieldInfo(annotation=str, required=True, alias='valueType')}

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.achievements.models.Progression(*, requirements, timeUnlocked)[source]

Bases: CamelCaseModel

Parameters:
requirements: List[Requirement]
time_unlocked: datetime
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]] = {'requirements': FieldInfo(annotation=List[Requirement], required=True, alias='requirements'), 'time_unlocked': FieldInfo(annotation=datetime, required=True, alias='timeUnlocked')}

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.achievements.models.MediaAsset(*, name, type, url)[source]

Bases: BaseModel

Parameters:
  • name (str) –

  • type (str) –

  • url (str) –

name: str
type: str
url: str
model_config: ClassVar[ConfigDict] = {}

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

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

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.achievements.models.Reward(*, name=None, description=None, value, type, mediaAsset=None, valueType)[source]

Bases: CamelCaseModel

Parameters:
  • name (Any) –

  • description (Any) –

  • value (str) –

  • type (str) –

  • mediaAsset (Any) –

  • valueType (str) –

name: Any
description: Any
value: str
type: str
media_asset: Any
value_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]] = {'description': FieldInfo(annotation=Any, required=False, alias='description'), 'media_asset': FieldInfo(annotation=Any, required=False, alias='mediaAsset'), 'name': FieldInfo(annotation=Any, required=False, alias='name'), 'type': FieldInfo(annotation=str, required=True, alias='type'), 'value': FieldInfo(annotation=str, required=True, alias='value'), 'value_type': FieldInfo(annotation=str, required=True, alias='valueType')}

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.achievements.models.Achievement(*, id, serviceConfigId, name, titleAssociations, progressState, progression, mediaAssets, platforms, isSecret, description, lockedDescription, productId, achievementType, participationType, timeWindow=None, rewards, estimatedTime, deeplink=None, isRevoked)[source]

Bases: CamelCaseModel

Parameters:
id: str
service_config_id: str
name: str
title_associations: List[TitleAssociation]
progress_state: str
progression: Progression
media_assets: List[MediaAsset]
platforms: List[str]
is_secret: bool
description: str
locked_description: str
product_id: str
achievement_type: str
participation_type: str
time_window: Any
rewards: List[Reward]
estimated_time: time
is_revoked: 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]] = {'achievement_type': FieldInfo(annotation=str, required=True, alias='achievementType'), 'deeplink': FieldInfo(annotation=Any, required=False, alias='deeplink'), 'description': FieldInfo(annotation=str, required=True, alias='description'), 'estimated_time': FieldInfo(annotation=time, required=True, alias='estimatedTime'), 'id': FieldInfo(annotation=str, required=True, alias='id'), 'is_revoked': FieldInfo(annotation=bool, required=True, alias='isRevoked'), 'is_secret': FieldInfo(annotation=bool, required=True, alias='isSecret'), 'locked_description': FieldInfo(annotation=str, required=True, alias='lockedDescription'), 'media_assets': FieldInfo(annotation=List[MediaAsset], required=True, alias='mediaAssets'), 'name': FieldInfo(annotation=str, required=True, alias='name'), 'participation_type': FieldInfo(annotation=str, required=True, alias='participationType'), 'platforms': FieldInfo(annotation=List[str], required=True, alias='platforms'), 'product_id': FieldInfo(annotation=str, required=True, alias='productId'), 'progress_state': FieldInfo(annotation=str, required=True, alias='progressState'), 'progression': FieldInfo(annotation=Progression, required=True, alias='progression'), 'rewards': FieldInfo(annotation=List[Reward], required=True, alias='rewards'), 'service_config_id': FieldInfo(annotation=str, required=True, alias='serviceConfigId'), 'time_window': FieldInfo(annotation=Any, required=False, alias='timeWindow'), 'title_associations': FieldInfo(annotation=List[TitleAssociation], required=True, alias='titleAssociations')}

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.achievements.models.AchievementResponse(*, achievements, pagingInfo)[source]

Bases: CamelCaseModel

Parameters:
achievements: List[Achievement]
paging_info: PagingInfo
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]] = {'achievements': FieldInfo(annotation=List[Achievement], required=True, alias='achievements'), 'paging_info': FieldInfo(annotation=PagingInfo, required=True, alias='pagingInfo')}

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.achievements.models.Title(*, lastUnlock, titleId, serviceConfigId, titleType, platform, name, earnedAchievements, currentGamerscore, maxGamerscore)[source]

Bases: CamelCaseModel

Parameters:
  • lastUnlock (datetime) –

  • titleId (int) –

  • serviceConfigId (str) –

  • titleType (str) –

  • platform (str) –

  • name (str) –

  • earnedAchievements (int) –

  • currentGamerscore (int) –

  • maxGamerscore (int) –

last_unlock: datetime
title_id: int
service_config_id: str
title_type: str
platform: str
name: str
earned_achievements: int
current_gamerscore: int
max_gamerscore: 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_gamerscore': FieldInfo(annotation=int, required=True, alias='currentGamerscore'), 'earned_achievements': FieldInfo(annotation=int, required=True, alias='earnedAchievements'), 'last_unlock': FieldInfo(annotation=datetime, required=True, alias='lastUnlock'), 'max_gamerscore': FieldInfo(annotation=int, required=True, alias='maxGamerscore'), 'name': FieldInfo(annotation=str, required=True, alias='name'), 'platform': FieldInfo(annotation=str, required=True, alias='platform'), 'service_config_id': FieldInfo(annotation=str, required=True, alias='serviceConfigId'), 'title_id': FieldInfo(annotation=int, required=True, alias='titleId'), 'title_type': FieldInfo(annotation=str, required=True, alias='titleType')}

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.achievements.models.RecentProgressResponse(*, titles, pagingInfo)[source]

Bases: CamelCaseModel

Parameters:
titles: List[Title]
paging_info: PagingInfo
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]] = {'paging_info': FieldInfo(annotation=PagingInfo, required=True, alias='pagingInfo'), 'titles': FieldInfo(annotation=List[Title], required=True, alias='titles')}

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

This replaces Model.__fields__ from Pydantic V1.