Skip to content

Content Routes

ContentRouteInterface

Bases: ClientMixin

Source code in src/bungio/api/bungie/content.py
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
@custom_define()
class ContentRouteInterface(ClientMixin):
    async def get_content_type(self, type: str, auth: Optional[AuthData] = None) -> ContentTypeDescription:
        """
        Gets an object describing a particular variant of content.

        Args:
            type:
            auth: Authentication information. Required when users with a private profile are queried, or when Bungie feels like it

        Returns:
            The model which is returned by bungie. [General endpoint information.](https://bungie-net.github.io/multi/index.html)
        """

        response = await self._client.http.get_content_type(type=type, auth=auth)
        return await ContentTypeDescription.from_dict(data=response, client=self._client, type=type, auth=auth)

    async def get_content_by_id(
        self, id: int, locale: str, head: Optional[bool] = None, auth: Optional[AuthData] = None
    ) -> ContentItemPublicContract:
        """
        Returns a content item referenced by id

        Args:
            id:
            locale:
            head: false
            auth: Authentication information. Required when users with a private profile are queried, or when Bungie feels like it

        Returns:
            The model which is returned by bungie. [General endpoint information.](https://bungie-net.github.io/multi/index.html)
        """

        response = await self._client.http.get_content_by_id(
            id=id, locale=locale, head=head if head is not None else None, auth=auth
        )
        return await ContentItemPublicContract.from_dict(
            data=response, client=self._client, id=id, locale=locale, head=head, auth=auth
        )

    async def get_content_by_tag_and_type(
        self, locale: str, tag: str, type: str, head: Optional[bool] = None, auth: Optional[AuthData] = None
    ) -> ContentItemPublicContract:
        """
        Returns the newest item that matches a given tag and Content Type.

        Args:
            locale:
            tag:
            type:
            head: Not used.
            auth: Authentication information. Required when users with a private profile are queried, or when Bungie feels like it

        Returns:
            The model which is returned by bungie. [General endpoint information.](https://bungie-net.github.io/multi/index.html)
        """

        response = await self._client.http.get_content_by_tag_and_type(
            locale=locale, tag=tag, type=type, head=head if head is not None else None, auth=auth
        )
        return await ContentItemPublicContract.from_dict(
            data=response, client=self._client, locale=locale, tag=tag, type=type, head=head, auth=auth
        )

    async def search_content_with_text(
        self,
        locale: str,
        ctype: Optional[str] = None,
        currentpage: Optional[int] = None,
        head: Optional[bool] = None,
        searchtext: Optional[str] = None,
        source: Optional[str] = None,
        tag: Optional[str] = None,
        auth: Optional[AuthData] = None,
    ) -> SearchResultOfContentItemPublicContract:
        """
        Gets content based on querystring information passed in. Provides basic search and text search capabilities.

        Args:
            locale:
            ctype: Content type tag: Help, News, etc. Supply multiple ctypes separated by space.
            currentpage: Page number for the search results, starting with page 1.
            head: Not used.
            searchtext: Word or phrase for the search.
            source: For analytics, hint at the part of the app that triggered the search. Optional.
            tag: Tag used on the content to be searched.
            auth: Authentication information. Required when users with a private profile are queried, or when Bungie feels like it

        Returns:
            The model which is returned by bungie. [General endpoint information.](https://bungie-net.github.io/multi/index.html)
        """

        response = await self._client.http.search_content_with_text(
            locale=locale,
            ctype=ctype if ctype is not None else None,
            currentpage=currentpage if currentpage is not None else None,
            head=head if head is not None else None,
            searchtext=searchtext if searchtext is not None else None,
            source=source if source is not None else None,
            tag=tag if tag is not None else None,
            auth=auth,
        )
        return await SearchResultOfContentItemPublicContract.from_dict(
            data=response,
            client=self._client,
            locale=locale,
            ctype=ctype,
            currentpage=currentpage,
            head=head,
            searchtext=searchtext,
            source=source,
            tag=tag,
            auth=auth,
        )

    async def search_content_by_tag_and_type(
        self,
        locale: str,
        tag: str,
        type: str,
        currentpage: Optional[int] = None,
        head: Optional[bool] = None,
        itemsperpage: Optional[int] = None,
        auth: Optional[AuthData] = None,
    ) -> SearchResultOfContentItemPublicContract:
        """
        Searches for Content Items that match the given Tag and Content Type.

        Args:
            locale:
            tag:
            type:
            currentpage: Page number for the search results starting with page 1.
            head: Not used.
            itemsperpage: Not used.
            auth: Authentication information. Required when users with a private profile are queried, or when Bungie feels like it

        Returns:
            The model which is returned by bungie. [General endpoint information.](https://bungie-net.github.io/multi/index.html)
        """

        response = await self._client.http.search_content_by_tag_and_type(
            locale=locale,
            tag=tag,
            type=type,
            currentpage=currentpage if currentpage is not None else None,
            head=head if head is not None else None,
            itemsperpage=itemsperpage if itemsperpage is not None else None,
            auth=auth,
        )
        return await SearchResultOfContentItemPublicContract.from_dict(
            data=response,
            client=self._client,
            locale=locale,
            tag=tag,
            type=type,
            currentpage=currentpage,
            head=head,
            itemsperpage=itemsperpage,
            auth=auth,
        )

    async def search_help_articles(self, searchtext: str, size: str, auth: Optional[AuthData] = None) -> Any:
        """
        Search for Help Articles.

        Args:
            searchtext:
            size:
            auth: Authentication information. Required when users with a private profile are queried, or when Bungie feels like it

        Returns:
            The model which is returned by bungie. [General endpoint information.](https://bungie-net.github.io/multi/index.html)
        """

        response = await self._client.http.search_help_articles(searchtext=searchtext, size=size, auth=auth)
        return response["Response"]

    async def rss_news_articles(
        self,
        page_token: str,
        categoryfilter: Optional[str] = None,
        includebody: Optional[bool] = None,
        auth: Optional[AuthData] = None,
    ) -> NewsArticleRssResponse:
        """
        Returns a JSON string response that is the RSS feed for news articles.

        Args:
            page_token: Zero-based pagination token for paging through result sets.
            categoryfilter: Optionally filter response to only include news items in a certain category.
            includebody: Optionally include full content body for each news item.
            auth: Authentication information. Required when users with a private profile are queried, or when Bungie feels like it

        Returns:
            The model which is returned by bungie. [General endpoint information.](https://bungie-net.github.io/multi/index.html)
        """

        response = await self._client.http.rss_news_articles(
            page_token=page_token,
            categoryfilter=categoryfilter if categoryfilter is not None else None,
            includebody=includebody if includebody is not None else None,
            auth=auth,
        )
        return await NewsArticleRssResponse.from_dict(
            data=response,
            client=self._client,
            page_token=page_token,
            categoryfilter=categoryfilter,
            includebody=includebody,
            auth=auth,
        )

get_content_by_id(id, locale, head=None, auth=None) async

Returns a content item referenced by id

Parameters:

Name Type Description Default
id int
required
locale str
required
head Optional[bool]

false

None
auth Optional[AuthData]

Authentication information. Required when users with a private profile are queried, or when Bungie feels like it

None

Returns:

Type Description
ContentItemPublicContract

The model which is returned by bungie. General endpoint information.

Source code in src/bungio/api/bungie/content.py
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
async def get_content_by_id(
    self, id: int, locale: str, head: Optional[bool] = None, auth: Optional[AuthData] = None
) -> ContentItemPublicContract:
    """
    Returns a content item referenced by id

    Args:
        id:
        locale:
        head: false
        auth: Authentication information. Required when users with a private profile are queried, or when Bungie feels like it

    Returns:
        The model which is returned by bungie. [General endpoint information.](https://bungie-net.github.io/multi/index.html)
    """

    response = await self._client.http.get_content_by_id(
        id=id, locale=locale, head=head if head is not None else None, auth=auth
    )
    return await ContentItemPublicContract.from_dict(
        data=response, client=self._client, id=id, locale=locale, head=head, auth=auth
    )

get_content_by_tag_and_type(locale, tag, type, head=None, auth=None) async

Returns the newest item that matches a given tag and Content Type.

Parameters:

Name Type Description Default
locale str
required
tag str
required
type str
required
head Optional[bool]

Not used.

None
auth Optional[AuthData]

Authentication information. Required when users with a private profile are queried, or when Bungie feels like it

None

Returns:

Type Description
ContentItemPublicContract

The model which is returned by bungie. General endpoint information.

Source code in src/bungio/api/bungie/content.py
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
async def get_content_by_tag_and_type(
    self, locale: str, tag: str, type: str, head: Optional[bool] = None, auth: Optional[AuthData] = None
) -> ContentItemPublicContract:
    """
    Returns the newest item that matches a given tag and Content Type.

    Args:
        locale:
        tag:
        type:
        head: Not used.
        auth: Authentication information. Required when users with a private profile are queried, or when Bungie feels like it

    Returns:
        The model which is returned by bungie. [General endpoint information.](https://bungie-net.github.io/multi/index.html)
    """

    response = await self._client.http.get_content_by_tag_and_type(
        locale=locale, tag=tag, type=type, head=head if head is not None else None, auth=auth
    )
    return await ContentItemPublicContract.from_dict(
        data=response, client=self._client, locale=locale, tag=tag, type=type, head=head, auth=auth
    )

get_content_type(type, auth=None) async

Gets an object describing a particular variant of content.

Parameters:

Name Type Description Default
type str
required
auth Optional[AuthData]

Authentication information. Required when users with a private profile are queried, or when Bungie feels like it

None

Returns:

Type Description
ContentTypeDescription

The model which is returned by bungie. General endpoint information.

Source code in src/bungio/api/bungie/content.py
19
20
21
22
23
24
25
26
27
28
29
30
31
32
async def get_content_type(self, type: str, auth: Optional[AuthData] = None) -> ContentTypeDescription:
    """
    Gets an object describing a particular variant of content.

    Args:
        type:
        auth: Authentication information. Required when users with a private profile are queried, or when Bungie feels like it

    Returns:
        The model which is returned by bungie. [General endpoint information.](https://bungie-net.github.io/multi/index.html)
    """

    response = await self._client.http.get_content_type(type=type, auth=auth)
    return await ContentTypeDescription.from_dict(data=response, client=self._client, type=type, auth=auth)

rss_news_articles(page_token, categoryfilter=None, includebody=None, auth=None) async

Returns a JSON string response that is the RSS feed for news articles.

Parameters:

Name Type Description Default
page_token str

Zero-based pagination token for paging through result sets.

required
categoryfilter Optional[str]

Optionally filter response to only include news items in a certain category.

None
includebody Optional[bool]

Optionally include full content body for each news item.

None
auth Optional[AuthData]

Authentication information. Required when users with a private profile are queried, or when Bungie feels like it

None

Returns:

Type Description
NewsArticleRssResponse

The model which is returned by bungie. General endpoint information.

Source code in src/bungio/api/bungie/content.py
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
async def rss_news_articles(
    self,
    page_token: str,
    categoryfilter: Optional[str] = None,
    includebody: Optional[bool] = None,
    auth: Optional[AuthData] = None,
) -> NewsArticleRssResponse:
    """
    Returns a JSON string response that is the RSS feed for news articles.

    Args:
        page_token: Zero-based pagination token for paging through result sets.
        categoryfilter: Optionally filter response to only include news items in a certain category.
        includebody: Optionally include full content body for each news item.
        auth: Authentication information. Required when users with a private profile are queried, or when Bungie feels like it

    Returns:
        The model which is returned by bungie. [General endpoint information.](https://bungie-net.github.io/multi/index.html)
    """

    response = await self._client.http.rss_news_articles(
        page_token=page_token,
        categoryfilter=categoryfilter if categoryfilter is not None else None,
        includebody=includebody if includebody is not None else None,
        auth=auth,
    )
    return await NewsArticleRssResponse.from_dict(
        data=response,
        client=self._client,
        page_token=page_token,
        categoryfilter=categoryfilter,
        includebody=includebody,
        auth=auth,
    )

search_content_by_tag_and_type(locale, tag, type, currentpage=None, head=None, itemsperpage=None, auth=None) async

Searches for Content Items that match the given Tag and Content Type.

Parameters:

Name Type Description Default
locale str
required
tag str
required
type str
required
currentpage Optional[int]

Page number for the search results starting with page 1.

None
head Optional[bool]

Not used.

None
itemsperpage Optional[int]

Not used.

None
auth Optional[AuthData]

Authentication information. Required when users with a private profile are queried, or when Bungie feels like it

None

Returns:

Type Description
SearchResultOfContentItemPublicContract

The model which is returned by bungie. General endpoint information.

Source code in src/bungio/api/bungie/content.py
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
async def search_content_by_tag_and_type(
    self,
    locale: str,
    tag: str,
    type: str,
    currentpage: Optional[int] = None,
    head: Optional[bool] = None,
    itemsperpage: Optional[int] = None,
    auth: Optional[AuthData] = None,
) -> SearchResultOfContentItemPublicContract:
    """
    Searches for Content Items that match the given Tag and Content Type.

    Args:
        locale:
        tag:
        type:
        currentpage: Page number for the search results starting with page 1.
        head: Not used.
        itemsperpage: Not used.
        auth: Authentication information. Required when users with a private profile are queried, or when Bungie feels like it

    Returns:
        The model which is returned by bungie. [General endpoint information.](https://bungie-net.github.io/multi/index.html)
    """

    response = await self._client.http.search_content_by_tag_and_type(
        locale=locale,
        tag=tag,
        type=type,
        currentpage=currentpage if currentpage is not None else None,
        head=head if head is not None else None,
        itemsperpage=itemsperpage if itemsperpage is not None else None,
        auth=auth,
    )
    return await SearchResultOfContentItemPublicContract.from_dict(
        data=response,
        client=self._client,
        locale=locale,
        tag=tag,
        type=type,
        currentpage=currentpage,
        head=head,
        itemsperpage=itemsperpage,
        auth=auth,
    )

search_content_with_text(locale, ctype=None, currentpage=None, head=None, searchtext=None, source=None, tag=None, auth=None) async

Gets content based on querystring information passed in. Provides basic search and text search capabilities.

Parameters:

Name Type Description Default
locale str
required
ctype Optional[str]

Content type tag: Help, News, etc. Supply multiple ctypes separated by space.

None
currentpage Optional[int]

Page number for the search results, starting with page 1.

None
head Optional[bool]

Not used.

None
searchtext Optional[str]

Word or phrase for the search.

None
source Optional[str]

For analytics, hint at the part of the app that triggered the search. Optional.

None
tag Optional[str]

Tag used on the content to be searched.

None
auth Optional[AuthData]

Authentication information. Required when users with a private profile are queried, or when Bungie feels like it

None

Returns:

Type Description
SearchResultOfContentItemPublicContract

The model which is returned by bungie. General endpoint information.

Source code in src/bungio/api/bungie/content.py
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
async def search_content_with_text(
    self,
    locale: str,
    ctype: Optional[str] = None,
    currentpage: Optional[int] = None,
    head: Optional[bool] = None,
    searchtext: Optional[str] = None,
    source: Optional[str] = None,
    tag: Optional[str] = None,
    auth: Optional[AuthData] = None,
) -> SearchResultOfContentItemPublicContract:
    """
    Gets content based on querystring information passed in. Provides basic search and text search capabilities.

    Args:
        locale:
        ctype: Content type tag: Help, News, etc. Supply multiple ctypes separated by space.
        currentpage: Page number for the search results, starting with page 1.
        head: Not used.
        searchtext: Word or phrase for the search.
        source: For analytics, hint at the part of the app that triggered the search. Optional.
        tag: Tag used on the content to be searched.
        auth: Authentication information. Required when users with a private profile are queried, or when Bungie feels like it

    Returns:
        The model which is returned by bungie. [General endpoint information.](https://bungie-net.github.io/multi/index.html)
    """

    response = await self._client.http.search_content_with_text(
        locale=locale,
        ctype=ctype if ctype is not None else None,
        currentpage=currentpage if currentpage is not None else None,
        head=head if head is not None else None,
        searchtext=searchtext if searchtext is not None else None,
        source=source if source is not None else None,
        tag=tag if tag is not None else None,
        auth=auth,
    )
    return await SearchResultOfContentItemPublicContract.from_dict(
        data=response,
        client=self._client,
        locale=locale,
        ctype=ctype,
        currentpage=currentpage,
        head=head,
        searchtext=searchtext,
        source=source,
        tag=tag,
        auth=auth,
    )

search_help_articles(searchtext, size, auth=None) async

Search for Help Articles.

Parameters:

Name Type Description Default
searchtext str
required
size str
required
auth Optional[AuthData]

Authentication information. Required when users with a private profile are queried, or when Bungie feels like it

None

Returns:

Type Description
Any

The model which is returned by bungie. General endpoint information.

Source code in src/bungio/api/bungie/content.py
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
async def search_help_articles(self, searchtext: str, size: str, auth: Optional[AuthData] = None) -> Any:
    """
    Search for Help Articles.

    Args:
        searchtext:
        size:
        auth: Authentication information. Required when users with a private profile are queried, or when Bungie feels like it

    Returns:
        The model which is returned by bungie. [General endpoint information.](https://bungie-net.github.io/multi/index.html)
    """

    response = await self._client.http.search_help_articles(searchtext=searchtext, size=size, auth=auth)
    return response["Response"]