Skip to content

Content HTTP Routes

ContentRouteHttpRequests

Source code in src/bungio/http/routes/content.py
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 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
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
class ContentRouteHttpRequests:
    request: Callable[..., Coroutine]

    async def get_content_type(self, type: str, auth: Optional[AuthData] = None, *args, **kwargs) -> dict:
        """
        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

        Raises:
            NotFound: 404 request
            BadRequest: 400 request
            InvalidAuthentication: If authentication is invalid
            TimeoutException: If no connection could be made
            BungieDead: Servers are down
            AuthenticationTooSlow: The authentication key has expired
            BungieException: Relaying the bungie error

        Returns:
            The json response
        """

        return await self.request(Route(path=f"/Content/GetContentType/{type}/", method="GET", auth=auth))

    async def get_content_by_id(
        self, id: int, locale: str, head: Optional[bool] = None, auth: Optional[AuthData] = None, *args, **kwargs
    ) -> dict:
        """
        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

        Raises:
            NotFound: 404 request
            BadRequest: 400 request
            InvalidAuthentication: If authentication is invalid
            TimeoutException: If no connection could be made
            BungieDead: Servers are down
            AuthenticationTooSlow: The authentication key has expired
            BungieException: Relaying the bungie error

        Returns:
            The json response
        """

        return await self.request(
            Route(path=f"/Content/GetContentById/{id}/{locale}/", method="GET", 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,
        *args,
        **kwargs,
    ) -> dict:
        """
        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

        Raises:
            NotFound: 404 request
            BadRequest: 400 request
            InvalidAuthentication: If authentication is invalid
            TimeoutException: If no connection could be made
            BungieDead: Servers are down
            AuthenticationTooSlow: The authentication key has expired
            BungieException: Relaying the bungie error

        Returns:
            The json response
        """

        return await self.request(
            Route(path=f"/Content/GetContentByTagAndType/{tag}/{type}/{locale}/", method="GET", 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,
        *args,
        **kwargs,
    ) -> dict:
        """
        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

        Raises:
            NotFound: 404 request
            BadRequest: 400 request
            InvalidAuthentication: If authentication is invalid
            TimeoutException: If no connection could be made
            BungieDead: Servers are down
            AuthenticationTooSlow: The authentication key has expired
            BungieException: Relaying the bungie error

        Returns:
            The json response
        """

        return await self.request(
            Route(
                path=f"/Content/Search/{locale}/",
                method="GET",
                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,
        *args,
        **kwargs,
    ) -> dict:
        """
        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

        Raises:
            NotFound: 404 request
            BadRequest: 400 request
            InvalidAuthentication: If authentication is invalid
            TimeoutException: If no connection could be made
            BungieDead: Servers are down
            AuthenticationTooSlow: The authentication key has expired
            BungieException: Relaying the bungie error

        Returns:
            The json response
        """

        return await self.request(
            Route(
                path=f"/Content/SearchContentByTagAndType/{tag}/{type}/{locale}/",
                method="GET",
                currentpage=currentpage,
                head=head,
                itemsperpage=itemsperpage,
                auth=auth,
            )
        )

    async def search_help_articles(
        self, searchtext: str, size: str, auth: Optional[AuthData] = None, *args, **kwargs
    ) -> dict:
        """
        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

        Raises:
            NotFound: 404 request
            BadRequest: 400 request
            InvalidAuthentication: If authentication is invalid
            TimeoutException: If no connection could be made
            BungieDead: Servers are down
            AuthenticationTooSlow: The authentication key has expired
            BungieException: Relaying the bungie error

        Returns:
            The json response
        """

        return await self.request(
            Route(path=f"/Content/SearchHelpArticles/{searchtext}/{size}/", method="GET", auth=auth)
        )

    async def rss_news_articles(
        self,
        page_token: str,
        categoryfilter: Optional[str] = None,
        includebody: Optional[bool] = None,
        auth: Optional[AuthData] = None,
        *args,
        **kwargs,
    ) -> dict:
        """
        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

        Raises:
            NotFound: 404 request
            BadRequest: 400 request
            InvalidAuthentication: If authentication is invalid
            TimeoutException: If no connection could be made
            BungieDead: Servers are down
            AuthenticationTooSlow: The authentication key has expired
            BungieException: Relaying the bungie error

        Returns:
            The json response
        """

        return await self.request(
            Route(
                path=f"/Content/Rss/NewsArticles/{page_token}/",
                method="GET",
                categoryfilter=categoryfilter,
                includebody=includebody,
                auth=auth,
            )
        )

get_content_by_id(id, locale, head=None, auth=None, *args, **kwargs) 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

Raises:

Type Description
NotFound

404 request

BadRequest

400 request

InvalidAuthentication

If authentication is invalid

TimeoutException

If no connection could be made

BungieDead

Servers are down

AuthenticationTooSlow

The authentication key has expired

BungieException

Relaying the bungie error

Returns:

Type Description
dict

The json response

Source code in src/bungio/http/routes/content.py
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
async def get_content_by_id(
    self, id: int, locale: str, head: Optional[bool] = None, auth: Optional[AuthData] = None, *args, **kwargs
) -> dict:
    """
    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

    Raises:
        NotFound: 404 request
        BadRequest: 400 request
        InvalidAuthentication: If authentication is invalid
        TimeoutException: If no connection could be made
        BungieDead: Servers are down
        AuthenticationTooSlow: The authentication key has expired
        BungieException: Relaying the bungie error

    Returns:
        The json response
    """

    return await self.request(
        Route(path=f"/Content/GetContentById/{id}/{locale}/", method="GET", head=head, auth=auth)
    )

get_content_by_tag_and_type(locale, tag, type, head=None, auth=None, *args, **kwargs) 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

Raises:

Type Description
NotFound

404 request

BadRequest

400 request

InvalidAuthentication

If authentication is invalid

TimeoutException

If no connection could be made

BungieDead

Servers are down

AuthenticationTooSlow

The authentication key has expired

BungieException

Relaying the bungie error

Returns:

Type Description
dict

The json response

Source code in src/bungio/http/routes/content.py
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
async def get_content_by_tag_and_type(
    self,
    locale: str,
    tag: str,
    type: str,
    head: Optional[bool] = None,
    auth: Optional[AuthData] = None,
    *args,
    **kwargs,
) -> dict:
    """
    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

    Raises:
        NotFound: 404 request
        BadRequest: 400 request
        InvalidAuthentication: If authentication is invalid
        TimeoutException: If no connection could be made
        BungieDead: Servers are down
        AuthenticationTooSlow: The authentication key has expired
        BungieException: Relaying the bungie error

    Returns:
        The json response
    """

    return await self.request(
        Route(path=f"/Content/GetContentByTagAndType/{tag}/{type}/{locale}/", method="GET", head=head, auth=auth)
    )

get_content_type(type, auth=None, *args, **kwargs) 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

Raises:

Type Description
NotFound

404 request

BadRequest

400 request

InvalidAuthentication

If authentication is invalid

TimeoutException

If no connection could be made

BungieDead

Servers are down

AuthenticationTooSlow

The authentication key has expired

BungieException

Relaying the bungie error

Returns:

Type Description
dict

The json response

Source code in src/bungio/http/routes/content.py
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
async def get_content_type(self, type: str, auth: Optional[AuthData] = None, *args, **kwargs) -> dict:
    """
    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

    Raises:
        NotFound: 404 request
        BadRequest: 400 request
        InvalidAuthentication: If authentication is invalid
        TimeoutException: If no connection could be made
        BungieDead: Servers are down
        AuthenticationTooSlow: The authentication key has expired
        BungieException: Relaying the bungie error

    Returns:
        The json response
    """

    return await self.request(Route(path=f"/Content/GetContentType/{type}/", method="GET", auth=auth))

rss_news_articles(page_token, categoryfilter=None, includebody=None, auth=None, *args, **kwargs) 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

Raises:

Type Description
NotFound

404 request

BadRequest

400 request

InvalidAuthentication

If authentication is invalid

TimeoutException

If no connection could be made

BungieDead

Servers are down

AuthenticationTooSlow

The authentication key has expired

BungieException

Relaying the bungie error

Returns:

Type Description
dict

The json response

Source code in src/bungio/http/routes/content.py
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
async def rss_news_articles(
    self,
    page_token: str,
    categoryfilter: Optional[str] = None,
    includebody: Optional[bool] = None,
    auth: Optional[AuthData] = None,
    *args,
    **kwargs,
) -> dict:
    """
    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

    Raises:
        NotFound: 404 request
        BadRequest: 400 request
        InvalidAuthentication: If authentication is invalid
        TimeoutException: If no connection could be made
        BungieDead: Servers are down
        AuthenticationTooSlow: The authentication key has expired
        BungieException: Relaying the bungie error

    Returns:
        The json response
    """

    return await self.request(
        Route(
            path=f"/Content/Rss/NewsArticles/{page_token}/",
            method="GET",
            categoryfilter=categoryfilter,
            includebody=includebody,
            auth=auth,
        )
    )

search_content_by_tag_and_type(locale, tag, type, currentpage=None, head=None, itemsperpage=None, auth=None, *args, **kwargs) 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

Raises:

Type Description
NotFound

404 request

BadRequest

400 request

InvalidAuthentication

If authentication is invalid

TimeoutException

If no connection could be made

BungieDead

Servers are down

AuthenticationTooSlow

The authentication key has expired

BungieException

Relaying the bungie error

Returns:

Type Description
dict

The json response

Source code in src/bungio/http/routes/content.py
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
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,
    *args,
    **kwargs,
) -> dict:
    """
    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

    Raises:
        NotFound: 404 request
        BadRequest: 400 request
        InvalidAuthentication: If authentication is invalid
        TimeoutException: If no connection could be made
        BungieDead: Servers are down
        AuthenticationTooSlow: The authentication key has expired
        BungieException: Relaying the bungie error

    Returns:
        The json response
    """

    return await self.request(
        Route(
            path=f"/Content/SearchContentByTagAndType/{tag}/{type}/{locale}/",
            method="GET",
            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, *args, **kwargs) 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

Raises:

Type Description
NotFound

404 request

BadRequest

400 request

InvalidAuthentication

If authentication is invalid

TimeoutException

If no connection could be made

BungieDead

Servers are down

AuthenticationTooSlow

The authentication key has expired

BungieException

Relaying the bungie error

Returns:

Type Description
dict

The json response

Source code in src/bungio/http/routes/content.py
 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
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,
    *args,
    **kwargs,
) -> dict:
    """
    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

    Raises:
        NotFound: 404 request
        BadRequest: 400 request
        InvalidAuthentication: If authentication is invalid
        TimeoutException: If no connection could be made
        BungieDead: Servers are down
        AuthenticationTooSlow: The authentication key has expired
        BungieException: Relaying the bungie error

    Returns:
        The json response
    """

    return await self.request(
        Route(
            path=f"/Content/Search/{locale}/",
            method="GET",
            ctype=ctype,
            currentpage=currentpage,
            head=head,
            searchtext=searchtext,
            source=source,
            tag=tag,
            auth=auth,
        )
    )

search_help_articles(searchtext, size, auth=None, *args, **kwargs) 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

Raises:

Type Description
NotFound

404 request

BadRequest

400 request

InvalidAuthentication

If authentication is invalid

TimeoutException

If no connection could be made

BungieDead

Servers are down

AuthenticationTooSlow

The authentication key has expired

BungieException

Relaying the bungie error

Returns:

Type Description
dict

The json response

Source code in src/bungio/http/routes/content.py
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
async def search_help_articles(
    self, searchtext: str, size: str, auth: Optional[AuthData] = None, *args, **kwargs
) -> dict:
    """
    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

    Raises:
        NotFound: 404 request
        BadRequest: 400 request
        InvalidAuthentication: If authentication is invalid
        TimeoutException: If no connection could be made
        BungieDead: Servers are down
        AuthenticationTooSlow: The authentication key has expired
        BungieException: Relaying the bungie error

    Returns:
        The json response
    """

    return await self.request(
        Route(path=f"/Content/SearchHelpArticles/{searchtext}/{size}/", method="GET", auth=auth)
    )