xbox.webapi.api.provider.message.models module

class xbox.webapi.api.provider.message.models.Part(*, contentType, version, text=None, unsuitableFor=None, locator=None)[source]

Bases: CamelCaseModel

Parameters:
  • contentType (str) –

  • version (int) –

  • text (str | None) –

  • unsuitableFor (List | None) –

  • locator (str | None) –

content_type: str
version: int
text: str | None
unsuitable_for: List | None
locator: str | 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]] = {'content_type': FieldInfo(annotation=str, required=True, alias='contentType'), 'locator': FieldInfo(annotation=Union[str, NoneType], required=False, alias='locator'), 'text': FieldInfo(annotation=Union[str, NoneType], required=False, alias='text'), 'unsuitable_for': FieldInfo(annotation=Union[List, NoneType], required=False, alias='unsuitableFor'), 'version': FieldInfo(annotation=int, 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.message.models.Content(*, parts)[source]

Bases: CamelCaseModel

Parameters:

parts (List[Part]) –

parts: List[Part]
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]] = {'parts': FieldInfo(annotation=List[Part], required=True, alias='parts')}

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.message.models.ContentPayload(*, content)[source]

Bases: CamelCaseModel

Parameters:

content (Content) –

content: Content
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]] = {'content': FieldInfo(annotation=Content, required=True, alias='content')}

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.message.models.Message(*, contentPayload=None, timestamp, lastUpdateTimestamp, type, networkId, conversationType, conversationId, owner=None, sender, messageId, isDeleted, isServerUpdated)[source]

Bases: CamelCaseModel

Parameters:
  • contentPayload (ContentPayload | None) –

  • timestamp (datetime) –

  • lastUpdateTimestamp (datetime) –

  • type (str) –

  • networkId (str) –

  • conversationType (str) –

  • conversationId (str) –

  • owner (int | None) –

  • sender (str) –

  • messageId (str) –

  • isDeleted (bool) –

  • isServerUpdated (bool) –

content_payload: ContentPayload | None
timestamp: datetime
last_update_timestamp: datetime
type: str
network_id: str
conversation_type: str
conversation_id: str
owner: int | None
sender: str
message_id: str
is_deleted: bool
is_server_updated: 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]] = {'content_payload': FieldInfo(annotation=Union[ContentPayload, NoneType], required=False, alias='contentPayload'), 'conversation_id': FieldInfo(annotation=str, required=True, alias='conversationId'), 'conversation_type': FieldInfo(annotation=str, required=True, alias='conversationType'), 'is_deleted': FieldInfo(annotation=bool, required=True, alias='isDeleted'), 'is_server_updated': FieldInfo(annotation=bool, required=True, alias='isServerUpdated'), 'last_update_timestamp': FieldInfo(annotation=datetime, required=True, alias='lastUpdateTimestamp'), 'message_id': FieldInfo(annotation=str, required=True, alias='messageId'), 'network_id': FieldInfo(annotation=str, required=True, alias='networkId'), 'owner': FieldInfo(annotation=Union[int, NoneType], required=False, alias='owner'), 'sender': FieldInfo(annotation=str, required=True, alias='sender'), 'timestamp': FieldInfo(annotation=datetime, required=True, alias='timestamp'), 'type': FieldInfo(annotation=str, required=True, alias='type')}

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.message.models.Conversation(*, timestamp, networkId, type, conversationId, voiceId, participants, readHorizon, deleteHorizon, isRead, muted, folder, lastMessage)[source]

Bases: CamelCaseModel

Parameters:
  • timestamp (datetime) –

  • networkId (str) –

  • type (str) –

  • conversationId (str) –

  • voiceId (str) –

  • participants (List[str]) –

  • readHorizon (str) –

  • deleteHorizon (str) –

  • isRead (bool) –

  • muted (bool) –

  • folder (str) –

  • lastMessage (Message) –

timestamp: datetime
network_id: str
type: str
conversation_id: str
voice_id: str
participants: List[str]
read_horizon: str
delete_horizon: str
is_read: bool
muted: bool
folder: str
last_message: Message
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]] = {'conversation_id': FieldInfo(annotation=str, required=True, alias='conversationId'), 'delete_horizon': FieldInfo(annotation=str, required=True, alias='deleteHorizon'), 'folder': FieldInfo(annotation=str, required=True, alias='folder'), 'is_read': FieldInfo(annotation=bool, required=True, alias='isRead'), 'last_message': FieldInfo(annotation=Message, required=True, alias='lastMessage'), 'muted': FieldInfo(annotation=bool, required=True, alias='muted'), 'network_id': FieldInfo(annotation=str, required=True, alias='networkId'), 'participants': FieldInfo(annotation=List[str], required=True, alias='participants'), 'read_horizon': FieldInfo(annotation=str, required=True, alias='readHorizon'), 'timestamp': FieldInfo(annotation=datetime, required=True, alias='timestamp'), 'type': FieldInfo(annotation=str, required=True, alias='type'), 'voice_id': FieldInfo(annotation=str, required=True, alias='voiceId')}

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.message.models.Primary(*, folder, totalCount, unreadCount, conversations)[source]

Bases: CamelCaseModel

Parameters:
folder: str
total_count: int
unread_count: int
conversations: List[Conversation]
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]] = {'conversations': FieldInfo(annotation=List[Conversation], required=True, alias='conversations'), 'folder': FieldInfo(annotation=str, required=True, alias='folder'), 'total_count': FieldInfo(annotation=int, required=True, alias='totalCount'), 'unread_count': FieldInfo(annotation=int, required=True, alias='unreadCount')}

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.message.models.SafetySettings(*, version, primaryInboxMedia, primaryInboxText, primaryInboxUrl, secondaryInboxMedia, secondaryInboxText, secondaryInboxUrl, canUnobscure)[source]

Bases: CamelCaseModel

Parameters:
  • version (int) –

  • primaryInboxMedia (str) –

  • primaryInboxText (str) –

  • primaryInboxUrl (str) –

  • secondaryInboxMedia (str) –

  • secondaryInboxText (str) –

  • secondaryInboxUrl (str) –

  • canUnobscure (bool) –

version: int
primary_inbox_media: str
primary_inbox_text: str
primary_inbox_url: str
secondary_inbox_media: str
secondary_inbox_text: str
secondary_inbox_url: str
can_unobscure: 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_unobscure': FieldInfo(annotation=bool, required=True, alias='canUnobscure'), 'primary_inbox_media': FieldInfo(annotation=str, required=True, alias='primaryInboxMedia'), 'primary_inbox_text': FieldInfo(annotation=str, required=True, alias='primaryInboxText'), 'primary_inbox_url': FieldInfo(annotation=str, required=True, alias='primaryInboxUrl'), 'secondary_inbox_media': FieldInfo(annotation=str, required=True, alias='secondaryInboxMedia'), 'secondary_inbox_text': FieldInfo(annotation=str, required=True, alias='secondaryInboxText'), 'secondary_inbox_url': FieldInfo(annotation=str, required=True, alias='secondaryInboxUrl'), 'version': FieldInfo(annotation=int, 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.message.models.InboxResponse(*, primary, folders, safetySettings)[source]

Bases: CamelCaseModel

Parameters:
primary: Primary
folders: List[Any]
safety_settings: SafetySettings
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]] = {'folders': FieldInfo(annotation=List[Any], required=True, alias='folders'), 'primary': FieldInfo(annotation=Primary, required=True, alias='primary'), 'safety_settings': FieldInfo(annotation=SafetySettings, required=True, alias='safetySettings')}

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.message.models.ConversationResponse(*, timestamp, networkId, type, conversationId, participants=None, readHorizon, deleteHorizon, isRead, muted, folder, messages=None, continuationToken=None, voiceId, voiceRoster=None)[source]

Bases: CamelCaseModel

Parameters:
  • timestamp (datetime) –

  • networkId (str) –

  • type (str) –

  • conversationId (str) –

  • participants (List[str] | None) –

  • readHorizon (str) –

  • deleteHorizon (str) –

  • isRead (bool) –

  • muted (bool) –

  • folder (str) –

  • messages (List[Message] | None) –

  • continuationToken (str | None) –

  • voiceId (str) –

  • voiceRoster (List[Any] | None) –

timestamp: datetime
network_id: str
type: str
conversation_id: str
participants: List[str] | None
read_horizon: str
delete_horizon: str
is_read: bool
muted: bool
folder: str
messages: List[Message] | None
continuation_token: str | None
voice_id: str
voice_roster: List[Any] | 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]] = {'continuation_token': FieldInfo(annotation=Union[str, NoneType], required=False, alias='continuationToken'), 'conversation_id': FieldInfo(annotation=str, required=True, alias='conversationId'), 'delete_horizon': FieldInfo(annotation=str, required=True, alias='deleteHorizon'), 'folder': FieldInfo(annotation=str, required=True, alias='folder'), 'is_read': FieldInfo(annotation=bool, required=True, alias='isRead'), 'messages': FieldInfo(annotation=Union[List[Message], NoneType], required=False, alias='messages'), 'muted': FieldInfo(annotation=bool, required=True, alias='muted'), 'network_id': FieldInfo(annotation=str, required=True, alias='networkId'), 'participants': FieldInfo(annotation=Union[List[str], NoneType], required=False, alias='participants'), 'read_horizon': FieldInfo(annotation=str, required=True, alias='readHorizon'), 'timestamp': FieldInfo(annotation=datetime, required=True, alias='timestamp'), 'type': FieldInfo(annotation=str, required=True, alias='type'), 'voice_id': FieldInfo(annotation=str, required=True, alias='voiceId'), 'voice_roster': FieldInfo(annotation=Union[List[Any], NoneType], required=False, alias='voiceRoster')}

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.message.models.SendMessageResponse(*, messageId, conversationId)[source]

Bases: CamelCaseModel

Parameters:
  • messageId (str) –

  • conversationId (str) –

message_id: str
conversation_id: 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]] = {'conversation_id': FieldInfo(annotation=str, required=True, alias='conversationId'), 'message_id': FieldInfo(annotation=str, required=True, alias='messageId')}

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

This replaces Model.__fields__ from Pydantic V1.