rozod 6.7.1 → 6.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +75 -451
- package/lib/endpoints/accountinformationv1.d.ts +92 -95
- package/lib/endpoints/accountsettingsv1.d.ts +88 -110
- package/lib/endpoints/adconfigurationv2.d.ts +108 -215
- package/lib/endpoints/assetdeliveryv1.d.ts +267 -230
- package/lib/endpoints/assetdeliveryv1.js +38 -0
- package/lib/endpoints/assetdeliveryv2.d.ts +201 -176
- package/lib/endpoints/assetdeliveryv2.js +26 -0
- package/lib/endpoints/authv1.d.ts +480 -517
- package/lib/endpoints/authv1.js +3 -1
- package/lib/endpoints/authv2.d.ts +210 -222
- package/lib/endpoints/authv2.js +1 -1
- package/lib/endpoints/authv3.d.ts +32 -35
- package/lib/endpoints/avatarv1.d.ts +112 -117
- package/lib/endpoints/avatarv2.d.ts +71 -76
- package/lib/endpoints/avatarv3.d.ts +27 -33
- package/lib/endpoints/badgesv1.d.ts +96 -99
- package/lib/endpoints/badgesv1.js +4 -0
- package/lib/endpoints/catalogv1.d.ts +209 -234
- package/lib/endpoints/catalogv1.js +2 -1
- package/lib/endpoints/catalogv2.d.ts +106 -136
- package/lib/endpoints/catalogv2.js +21 -17
- package/lib/endpoints/chatv2.d.ts +778 -778
- package/lib/endpoints/clientsettingsv1.d.ts +33 -35
- package/lib/endpoints/clientsettingsv2.d.ts +62 -68
- package/lib/endpoints/contactsv1.d.ts +18 -20
- package/lib/endpoints/developv1.d.ts +233 -293
- package/lib/endpoints/developv1.js +3 -0
- package/lib/endpoints/developv2.d.ts +87 -138
- package/lib/endpoints/developv2.js +3 -1
- package/lib/endpoints/economycreatorstatsv1.d.ts +12 -12
- package/lib/endpoints/economyv1.d.ts +6 -6
- package/lib/endpoints/engagementpayoutsv1.d.ts +9 -9
- package/lib/endpoints/followingsv1.d.ts +33 -34
- package/lib/endpoints/followingsv2.d.ts +9 -9
- package/lib/endpoints/friendsv1.d.ts +416 -545
- package/lib/endpoints/friendsv1.js +213 -313
- package/lib/endpoints/gameinternationalizationv1.d.ts +1509 -1642
- package/lib/endpoints/gameinternationalizationv2.d.ts +62 -64
- package/lib/endpoints/gamejoinv1.d.ts +458 -458
- package/lib/endpoints/gamesv1.d.ts +183 -143
- package/lib/endpoints/gamesv1.js +2 -0
- package/lib/endpoints/gamesv2.d.ts +161 -158
- package/lib/endpoints/gamesv2.js +9 -0
- package/lib/endpoints/groupsv1.d.ts +967 -976
- package/lib/endpoints/groupsv1.js +48 -4
- package/lib/endpoints/groupsv2.d.ts +259 -277
- package/lib/endpoints/groupsv2.js +1 -0
- package/lib/endpoints/inventoryv1.d.ts +93 -122
- package/lib/endpoints/inventoryv1.js +3 -1
- package/lib/endpoints/inventoryv2.d.ts +163 -178
- package/lib/endpoints/inventoryv2.js +2 -0
- package/lib/endpoints/itemconfigurationv1.d.ts +33 -40
- package/lib/endpoints/localev1.d.ts +47 -48
- package/lib/endpoints/localizationtablesv1.d.ts +315 -353
- package/lib/endpoints/matchmakingv1.d.ts +184 -190
- package/lib/endpoints/metricsv1.d.ts +88 -88
- package/lib/endpoints/notificationsv2.d.ts +144 -158
- package/lib/endpoints/premiumfeaturesv1.d.ts +14 -14
- package/lib/endpoints/presencev1.d.ts +7 -12
- package/lib/endpoints/privatemessagesv1.d.ts +56 -64
- package/lib/endpoints/publishv1.d.ts +32 -32
- package/lib/endpoints/thumbnailsresizerv1.d.ts +52 -53
- package/lib/endpoints/thumbnailsv1.d.ts +317 -361
- package/lib/endpoints/thumbnailsv1.js +25 -0
- package/lib/endpoints/tradesv1.d.ts +92 -104
- package/lib/endpoints/tradesv2.d.ts +81 -84
- package/lib/endpoints/translationrolesv1.d.ts +46 -51
- package/lib/endpoints/twostepverificationv1.d.ts +233 -237
- package/lib/endpoints/usersv1.d.ts +110 -114
- package/lib/index.d.ts +152 -4
- package/lib/index.js +273 -4
- package/lib/opencloud/v1/asset-permissions.d.ts +1 -1
- package/lib/opencloud/v1/assets.d.ts +9 -9
- package/lib/opencloud/v1/datastores-ordered.d.ts +6 -6
- package/lib/opencloud/v1/datastores.d.ts +8 -8
- package/lib/opencloud/v1/developer-products.d.ts +4 -4
- package/lib/opencloud/v1/game-passes.d.ts +4 -4
- package/lib/opencloud/v1/messaging.d.ts +1 -1
- package/lib/opencloud/v1/open-eval.d.ts +2 -2
- package/lib/opencloud/v1/secrets-store.d.ts +5 -5
- package/lib/opencloud/v1/toolbox.d.ts +2 -2
- package/lib/opencloud/v1/universes.d.ts +1 -1
- package/lib/opencloud/v2/cloud.d.ts +172 -84
- package/lib/opencloud/v2/cloud.js +25 -9
- package/package.json +2 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { z } from
|
|
2
|
-
import { endpoint } from
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { endpoint } from '..';
|
|
3
3
|
|
|
4
4
|
const Roblox_Games_Api_Models_Response_GameCreator = z.object({
|
|
5
5
|
id: z.number().int(),
|
|
@@ -47,11 +47,11 @@ const Roblox_Games_Api_Models_Response_GameDetailResponse = z.object({
|
|
|
47
47
|
localizedFiatPrice: z.string(),
|
|
48
48
|
refundPolicy: Roblox_Games_Api_Models_Response_RefundPolicy,
|
|
49
49
|
canonicalUrlPath: z.string(),
|
|
50
|
+
isContentRestricted: z.boolean(),
|
|
51
|
+
});
|
|
52
|
+
const Roblox_Web_WebAPI_Models_ApiArrayResponse_Roblox_Games_Api_Models_Response_GameDetailResponse_ = z.object({
|
|
53
|
+
data: z.array(Roblox_Games_Api_Models_Response_GameDetailResponse),
|
|
50
54
|
});
|
|
51
|
-
const Roblox_Web_WebAPI_Models_ApiArrayResponse_Roblox_Games_Api_Models_Response_GameDetailResponse_ =
|
|
52
|
-
z.object({
|
|
53
|
-
data: z.array(Roblox_Games_Api_Models_Response_GameDetailResponse),
|
|
54
|
-
});
|
|
55
55
|
const Roblox_Games_Api_GameServerPlayerResponse = z.object({
|
|
56
56
|
playerToken: z.string(),
|
|
57
57
|
id: z.number().int(),
|
|
@@ -77,12 +77,11 @@ const Roblox_Web_Responses_Games_GameServerResponse = z.object({
|
|
|
77
77
|
accessCode: z.string().uuid(),
|
|
78
78
|
owner: Roblox_Games_Api_Models_Response_VerifiedBadgeUserResponse,
|
|
79
79
|
});
|
|
80
|
-
const Roblox_Web_WebAPI_Models_ApiPageResponse_Roblox_Web_Responses_Games_GameServerResponse_ =
|
|
81
|
-
z.
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
});
|
|
80
|
+
const Roblox_Web_WebAPI_Models_ApiPageResponse_Roblox_Web_Responses_Games_GameServerResponse_ = z.object({
|
|
81
|
+
previousPageCursor: z.string(),
|
|
82
|
+
nextPageCursor: z.string(),
|
|
83
|
+
data: z.array(Roblox_Web_Responses_Games_GameServerResponse),
|
|
84
|
+
});
|
|
86
85
|
const Roblox_Games_Api_Models_Response_GameFavoriteResponse = z.object({
|
|
87
86
|
isFavorited: z.boolean(),
|
|
88
87
|
});
|
|
@@ -103,8 +102,9 @@ const Roblox_Games_Api_Models_Response_GameMediaItem = z.object({
|
|
|
103
102
|
approved: z.boolean(),
|
|
104
103
|
altText: z.string(),
|
|
105
104
|
});
|
|
106
|
-
const Roblox_Web_WebAPI_Models_ApiArrayResponse_Roblox_Games_Api_Models_Response_GameMediaItem_ =
|
|
107
|
-
|
|
105
|
+
const Roblox_Web_WebAPI_Models_ApiArrayResponse_Roblox_Games_Api_Models_Response_GameMediaItem_ = z.object({
|
|
106
|
+
data: z.array(Roblox_Games_Api_Models_Response_GameMediaItem),
|
|
107
|
+
});
|
|
108
108
|
const Roblox_Games_Api_Models_Response_PurchaseData = z.object({
|
|
109
109
|
localizedFiatPrice: z.string(),
|
|
110
110
|
basePriceId: z.string(),
|
|
@@ -117,10 +117,9 @@ const Roblox_Games_Api_Models_Response_GameProductResponse = z.object({
|
|
|
117
117
|
sellerId: z.number().int(),
|
|
118
118
|
fiatPurchaseData: Roblox_Games_Api_Models_Response_PurchaseData,
|
|
119
119
|
});
|
|
120
|
-
const Roblox_Web_WebAPI_Models_ApiArrayResponse_Roblox_Games_Api_Models_Response_GameProductResponse_ =
|
|
121
|
-
z.
|
|
122
|
-
|
|
123
|
-
});
|
|
120
|
+
const Roblox_Web_WebAPI_Models_ApiArrayResponse_Roblox_Games_Api_Models_Response_GameProductResponse_ = z.object({
|
|
121
|
+
data: z.array(Roblox_Games_Api_Models_Response_GameProductResponse),
|
|
122
|
+
});
|
|
124
123
|
const Roblox_Games_Api_Models_Response_PlaceDetails = z.object({
|
|
125
124
|
placeId: z.number().int(),
|
|
126
125
|
name: z.string(),
|
|
@@ -158,50 +157,50 @@ const Roblox_Games_Api_Models_Response_UpsellUxTreatment = z.object({
|
|
|
158
157
|
});
|
|
159
158
|
const Roblox_Games_Api_Models_Response_PlayabilityStatusResponse = z.object({
|
|
160
159
|
playabilityStatus: z.enum([
|
|
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
|
-
|
|
160
|
+
'UnplayableOtherReason',
|
|
161
|
+
'Playable',
|
|
162
|
+
'GuestProhibited',
|
|
163
|
+
'GameUnapproved',
|
|
164
|
+
'IncorrectConfiguration',
|
|
165
|
+
'UniverseRootPlaceIsPrivate',
|
|
166
|
+
'InsufficientPermissionFriendsOnly',
|
|
167
|
+
'InsufficientPermissionGroupOnly',
|
|
168
|
+
'DeviceRestricted',
|
|
169
|
+
'UnderReview',
|
|
170
|
+
'PurchaseRequired',
|
|
171
|
+
'AccountRestricted',
|
|
172
|
+
'TemporarilyUnavailable',
|
|
173
|
+
'PlaceHasNoPublishedVersion',
|
|
174
|
+
'ComplianceBlocked',
|
|
175
|
+
'ContextualPlayabilityRegionalAvailability',
|
|
176
|
+
'ContextualPlayabilityRegionalCompliance',
|
|
177
|
+
'ContextualPlayabilityAgeRecommendationParentalControls',
|
|
178
|
+
'ContextualPlayabilityExperienceBlockedParentalControls',
|
|
179
|
+
'ContextualPlayabilityAgeGated',
|
|
180
|
+
'ContextualPlayabilityUnverifiedSeventeenPlusUser',
|
|
181
|
+
'FiatPurchaseRequired',
|
|
182
|
+
'FiatPurchaseDeviceRestricted',
|
|
183
|
+
'ContextualPlayabilityUnrated',
|
|
184
|
+
'ContextualPlayabilityAgeGatedByDescriptor',
|
|
185
|
+
'ContextualPlayabilityGeneral',
|
|
186
|
+
'ContextualPlayabilityAgeCheckRequired',
|
|
187
|
+
'ContextualPlayabilityRequireParentApproval',
|
|
188
|
+
'ContextualPlayabilityCoreGated',
|
|
190
189
|
]),
|
|
191
190
|
isPlayable: z.boolean(),
|
|
192
191
|
universeId: z.number().int(),
|
|
193
192
|
unplayableDisplayText: z.string(),
|
|
194
193
|
playableUxTreatment: Roblox_Games_Api_Models_Response_PlayableUxTreatment,
|
|
195
194
|
upsellUxTreatment: Roblox_Games_Api_Models_Response_UpsellUxTreatment,
|
|
195
|
+
demoModeAvailable: z.boolean(),
|
|
196
|
+
});
|
|
197
|
+
const Roblox_Games_Api_Models_Response_GameContentMetadataResponseModel = z.object({
|
|
198
|
+
badgePosition: z.string(),
|
|
199
|
+
badgeAnalyticsId: z.string(),
|
|
200
|
+
badgeType: z.string(),
|
|
201
|
+
badgeIcon: z.string(),
|
|
202
|
+
badgeComponentType: z.string(),
|
|
196
203
|
});
|
|
197
|
-
const Roblox_Games_Api_Models_Response_GameContentMetadataResponseModel =
|
|
198
|
-
z.object({
|
|
199
|
-
badgePosition: z.string(),
|
|
200
|
-
badgeAnalyticsId: z.string(),
|
|
201
|
-
badgeType: z.string(),
|
|
202
|
-
badgeIcon: z.string(),
|
|
203
|
-
badgeComponentType: z.string(),
|
|
204
|
-
});
|
|
205
204
|
const Roblox_Games_Api_Models_Response_GameResponseModel = z.object({
|
|
206
205
|
creatorId: z.number().int(),
|
|
207
206
|
creatorName: z.string(),
|
|
@@ -223,8 +222,7 @@ const Roblox_Games_Api_Models_Response_GameResponseModel = z.object({
|
|
|
223
222
|
genre: z.string(),
|
|
224
223
|
minimumAge: z.number().int(),
|
|
225
224
|
ageRecommendationDisplayName: z.string(),
|
|
226
|
-
contentMetadata:
|
|
227
|
-
Roblox_Games_Api_Models_Response_GameContentMetadataResponseModel,
|
|
225
|
+
contentMetadata: Roblox_Games_Api_Models_Response_GameContentMetadataResponseModel,
|
|
228
226
|
canonicalUrlPath: z.string(),
|
|
229
227
|
});
|
|
230
228
|
const Roblox_Games_Api_Models_Response_GameRecommendationsResponse = z.object({
|
|
@@ -239,16 +237,16 @@ const Roblox_Games_Api_Models_Response_GameRecommendationsResponse = z.object({
|
|
|
239
237
|
* @param fields Optional comma-separated list of field names to include in the response. When omitted, all fields are returned.
|
|
240
238
|
*/
|
|
241
239
|
export const getGames = endpoint({
|
|
242
|
-
method:
|
|
243
|
-
path:
|
|
244
|
-
baseUrl:
|
|
245
|
-
requestFormat:
|
|
240
|
+
method: 'GET',
|
|
241
|
+
path: '/v1/games',
|
|
242
|
+
baseUrl: 'https://games.roblox.com',
|
|
243
|
+
requestFormat: 'json',
|
|
246
244
|
serializationMethod: {
|
|
247
245
|
universeIds: {
|
|
248
|
-
style:
|
|
246
|
+
style: 'form',
|
|
249
247
|
},
|
|
250
248
|
fields: {
|
|
251
|
-
style:
|
|
249
|
+
style: 'form',
|
|
252
250
|
explode: true,
|
|
253
251
|
},
|
|
254
252
|
},
|
|
@@ -256,8 +254,7 @@ export const getGames = endpoint({
|
|
|
256
254
|
universeIds: z.array(z.number()),
|
|
257
255
|
fields: z.string().optional(),
|
|
258
256
|
},
|
|
259
|
-
response:
|
|
260
|
-
Roblox_Web_WebAPI_Models_ApiArrayResponse_Roblox_Games_Api_Models_Response_GameDetailResponse_,
|
|
257
|
+
response: Roblox_Web_WebAPI_Models_ApiArrayResponse_Roblox_Games_Api_Models_Response_GameDetailResponse_,
|
|
261
258
|
errors: [
|
|
262
259
|
{
|
|
263
260
|
status: 400,
|
|
@@ -281,31 +278,31 @@ export const getGames = endpoint({
|
|
|
281
278
|
* @param cursor The paging cursor for the previous or next page.
|
|
282
279
|
*/
|
|
283
280
|
export const getGamesPlaceidServersServertype = endpoint({
|
|
284
|
-
method:
|
|
285
|
-
path:
|
|
286
|
-
baseUrl:
|
|
287
|
-
requestFormat:
|
|
281
|
+
method: 'GET',
|
|
282
|
+
path: '/v1/games/:placeId/servers/:serverType',
|
|
283
|
+
baseUrl: 'https://games.roblox.com',
|
|
284
|
+
requestFormat: 'json',
|
|
288
285
|
serializationMethod: {
|
|
289
286
|
placeId: {
|
|
290
|
-
style:
|
|
287
|
+
style: 'simple',
|
|
291
288
|
},
|
|
292
289
|
serverType: {
|
|
293
|
-
style:
|
|
290
|
+
style: 'simple',
|
|
294
291
|
},
|
|
295
292
|
sortOrder: {
|
|
296
|
-
style:
|
|
293
|
+
style: 'form',
|
|
297
294
|
explode: true,
|
|
298
295
|
},
|
|
299
296
|
excludeFullGames: {
|
|
300
|
-
style:
|
|
297
|
+
style: 'form',
|
|
301
298
|
explode: true,
|
|
302
299
|
},
|
|
303
300
|
limit: {
|
|
304
|
-
style:
|
|
301
|
+
style: 'form',
|
|
305
302
|
explode: true,
|
|
306
303
|
},
|
|
307
304
|
cursor: {
|
|
308
|
-
style:
|
|
305
|
+
style: 'form',
|
|
309
306
|
explode: true,
|
|
310
307
|
},
|
|
311
308
|
},
|
|
@@ -323,8 +320,7 @@ export const getGamesPlaceidServersServertype = endpoint({
|
|
|
323
320
|
.default(10),
|
|
324
321
|
cursor: z.string().optional(),
|
|
325
322
|
},
|
|
326
|
-
response:
|
|
327
|
-
Roblox_Web_WebAPI_Models_ApiPageResponse_Roblox_Web_Responses_Games_GameServerResponse_,
|
|
323
|
+
response: Roblox_Web_WebAPI_Models_ApiPageResponse_Roblox_Web_Responses_Games_GameServerResponse_,
|
|
328
324
|
errors: [
|
|
329
325
|
{
|
|
330
326
|
status: 400,
|
|
@@ -344,13 +340,13 @@ export const getGamesPlaceidServersServertype = endpoint({
|
|
|
344
340
|
* @param universeId The Id of the universe.
|
|
345
341
|
*/
|
|
346
342
|
export const getGamesUniverseidFavorites = endpoint({
|
|
347
|
-
method:
|
|
348
|
-
path:
|
|
349
|
-
baseUrl:
|
|
350
|
-
requestFormat:
|
|
343
|
+
method: 'GET',
|
|
344
|
+
path: '/v1/games/:universeId/favorites',
|
|
345
|
+
baseUrl: 'https://games.roblox.com',
|
|
346
|
+
requestFormat: 'json',
|
|
351
347
|
serializationMethod: {
|
|
352
348
|
universeId: {
|
|
353
|
-
style:
|
|
349
|
+
style: 'simple',
|
|
354
350
|
},
|
|
355
351
|
},
|
|
356
352
|
parameters: {
|
|
@@ -379,14 +375,14 @@ export const getGamesUniverseidFavorites = endpoint({
|
|
|
379
375
|
* @param universeId The Id of the universe.
|
|
380
376
|
*/
|
|
381
377
|
export const postGamesUniverseidFavorites = endpoint({
|
|
382
|
-
method:
|
|
383
|
-
path:
|
|
384
|
-
baseUrl:
|
|
385
|
-
requestFormat:
|
|
378
|
+
method: 'POST',
|
|
379
|
+
path: '/v1/games/:universeId/favorites',
|
|
380
|
+
baseUrl: 'https://games.roblox.com',
|
|
381
|
+
requestFormat: 'json',
|
|
386
382
|
serializationMethod: {
|
|
387
383
|
body: {},
|
|
388
384
|
universeId: {
|
|
389
|
-
style:
|
|
385
|
+
style: 'simple',
|
|
390
386
|
},
|
|
391
387
|
},
|
|
392
388
|
parameters: {
|
|
@@ -424,13 +420,13 @@ export const postGamesUniverseidFavorites = endpoint({
|
|
|
424
420
|
* @param universeId The Id of the universe.
|
|
425
421
|
*/
|
|
426
422
|
export const getGamesUniverseidFavoritesCount = endpoint({
|
|
427
|
-
method:
|
|
428
|
-
path:
|
|
429
|
-
baseUrl:
|
|
430
|
-
requestFormat:
|
|
423
|
+
method: 'GET',
|
|
424
|
+
path: '/v1/games/:universeId/favorites/count',
|
|
425
|
+
baseUrl: 'https://games.roblox.com',
|
|
426
|
+
requestFormat: 'json',
|
|
431
427
|
serializationMethod: {
|
|
432
428
|
universeId: {
|
|
433
|
-
style:
|
|
429
|
+
style: 'simple',
|
|
434
430
|
},
|
|
435
431
|
},
|
|
436
432
|
parameters: {
|
|
@@ -454,20 +450,19 @@ export const getGamesUniverseidFavoritesCount = endpoint({
|
|
|
454
450
|
* @param universeId The id of the universe we get media data from.
|
|
455
451
|
*/
|
|
456
452
|
export const getGamesUniverseidMedia = endpoint({
|
|
457
|
-
method:
|
|
458
|
-
path:
|
|
459
|
-
baseUrl:
|
|
460
|
-
requestFormat:
|
|
453
|
+
method: 'GET',
|
|
454
|
+
path: '/v1/games/:universeId/media',
|
|
455
|
+
baseUrl: 'https://games.roblox.com',
|
|
456
|
+
requestFormat: 'json',
|
|
461
457
|
serializationMethod: {
|
|
462
458
|
universeId: {
|
|
463
|
-
style:
|
|
459
|
+
style: 'simple',
|
|
464
460
|
},
|
|
465
461
|
},
|
|
466
462
|
parameters: {
|
|
467
463
|
universeId: z.number().int(),
|
|
468
464
|
},
|
|
469
|
-
response:
|
|
470
|
-
Roblox_Web_WebAPI_Models_ApiArrayResponse_Roblox_Games_Api_Models_Response_GameMediaItem_,
|
|
465
|
+
response: Roblox_Web_WebAPI_Models_ApiArrayResponse_Roblox_Games_Api_Models_Response_GameMediaItem_,
|
|
471
466
|
errors: [
|
|
472
467
|
{
|
|
473
468
|
status: 400,
|
|
@@ -485,20 +480,19 @@ export const getGamesUniverseidMedia = endpoint({
|
|
|
485
480
|
* @param universeIds A list of universe Ids. Cannot exceed a maximum of 100 IDs.
|
|
486
481
|
*/
|
|
487
482
|
export const getGamesGamesProductInfo = endpoint({
|
|
488
|
-
method:
|
|
489
|
-
path:
|
|
490
|
-
baseUrl:
|
|
491
|
-
requestFormat:
|
|
483
|
+
method: 'GET',
|
|
484
|
+
path: '/v1/games/games-product-info',
|
|
485
|
+
baseUrl: 'https://games.roblox.com',
|
|
486
|
+
requestFormat: 'json',
|
|
492
487
|
serializationMethod: {
|
|
493
488
|
universeIds: {
|
|
494
|
-
style:
|
|
489
|
+
style: 'form',
|
|
495
490
|
},
|
|
496
491
|
},
|
|
497
492
|
parameters: {
|
|
498
493
|
universeIds: z.array(z.number()),
|
|
499
494
|
},
|
|
500
|
-
response:
|
|
501
|
-
Roblox_Web_WebAPI_Models_ApiArrayResponse_Roblox_Games_Api_Models_Response_GameProductResponse_,
|
|
495
|
+
response: Roblox_Web_WebAPI_Models_ApiArrayResponse_Roblox_Games_Api_Models_Response_GameProductResponse_,
|
|
502
496
|
errors: [
|
|
503
497
|
{
|
|
504
498
|
status: 400,
|
|
@@ -513,13 +507,13 @@ export const getGamesGamesProductInfo = endpoint({
|
|
|
513
507
|
* @param placeIds List of placeId to uniquely Identify a place
|
|
514
508
|
*/
|
|
515
509
|
export const getGamesMultigetPlaceDetails = endpoint({
|
|
516
|
-
method:
|
|
517
|
-
path:
|
|
518
|
-
baseUrl:
|
|
519
|
-
requestFormat:
|
|
510
|
+
method: 'GET',
|
|
511
|
+
path: '/v1/games/multiget-place-details',
|
|
512
|
+
baseUrl: 'https://games.roblox.com',
|
|
513
|
+
requestFormat: 'json',
|
|
520
514
|
serializationMethod: {
|
|
521
515
|
placeIds: {
|
|
522
|
-
style:
|
|
516
|
+
style: 'form',
|
|
523
517
|
explode: true,
|
|
524
518
|
},
|
|
525
519
|
},
|
|
@@ -540,13 +534,13 @@ export const getGamesMultigetPlaceDetails = endpoint({
|
|
|
540
534
|
* @param universeIds A list of universe Ids. Cannot exceed a maximum of 50 IDs.
|
|
541
535
|
*/
|
|
542
536
|
export const getGamesMultigetPlayabilityStatus = endpoint({
|
|
543
|
-
method:
|
|
544
|
-
path:
|
|
545
|
-
baseUrl:
|
|
546
|
-
requestFormat:
|
|
537
|
+
method: 'GET',
|
|
538
|
+
path: '/v1/games/multiget-playability-status',
|
|
539
|
+
baseUrl: 'https://games.roblox.com',
|
|
540
|
+
requestFormat: 'json',
|
|
547
541
|
serializationMethod: {
|
|
548
542
|
universeIds: {
|
|
549
|
-
style:
|
|
543
|
+
style: 'form',
|
|
550
544
|
},
|
|
551
545
|
},
|
|
552
546
|
parameters: {
|
|
@@ -571,24 +565,24 @@ This parameter is usually not needed for the first page.
|
|
|
571
565
|
* @param IsTruncatedResultsEnabled Truncated Results
|
|
572
566
|
*/
|
|
573
567
|
export const getGamesRecommendationsGameUniverseid = endpoint({
|
|
574
|
-
method:
|
|
575
|
-
path:
|
|
576
|
-
baseUrl:
|
|
577
|
-
requestFormat:
|
|
568
|
+
method: 'GET',
|
|
569
|
+
path: '/v1/games/recommendations/game/:universeId',
|
|
570
|
+
baseUrl: 'https://games.roblox.com',
|
|
571
|
+
requestFormat: 'json',
|
|
578
572
|
serializationMethod: {
|
|
579
573
|
universeId: {
|
|
580
|
-
style:
|
|
574
|
+
style: 'simple',
|
|
581
575
|
},
|
|
582
576
|
PaginationKey: {
|
|
583
|
-
style:
|
|
577
|
+
style: 'form',
|
|
584
578
|
explode: true,
|
|
585
579
|
},
|
|
586
580
|
MaxRows: {
|
|
587
|
-
style:
|
|
581
|
+
style: 'form',
|
|
588
582
|
explode: true,
|
|
589
583
|
},
|
|
590
584
|
IsTruncatedResultsEnabled: {
|
|
591
|
-
style:
|
|
585
|
+
style: 'form',
|
|
592
586
|
explode: true,
|
|
593
587
|
},
|
|
594
588
|
},
|
|
@@ -744,7 +738,10 @@ export const getGamesUniverseidGamePasses = endpoint({
|
|
|
744
738
|
parameters: {
|
|
745
739
|
universeId: z.number().int(),
|
|
746
740
|
limit: z.number().int(),
|
|
747
|
-
sortOrder: z
|
|
741
|
+
sortOrder: z
|
|
742
|
+
.union([z.literal(1), z.literal(2)])
|
|
743
|
+
.optional()
|
|
744
|
+
.default(1),
|
|
748
745
|
cursor: z.string().optional(),
|
|
749
746
|
},
|
|
750
747
|
response: Patch_ApiPageResponse_GamePassResponse,
|
|
@@ -764,11 +761,20 @@ export const patchGamesUniverseidUserVotes = endpoint({
|
|
|
764
761
|
body: z.object({ vote: z.boolean() }),
|
|
765
762
|
response: z.object({}),
|
|
766
763
|
errors: [
|
|
767
|
-
{
|
|
764
|
+
{
|
|
765
|
+
status: 400,
|
|
766
|
+
description: `2: The universe's root place is invalid.\n3: The asset is not voteable.\n4: The requested vote is invalid.`,
|
|
767
|
+
},
|
|
768
768
|
{ status: 401, description: `0: Authorization has been denied for this request.` },
|
|
769
|
-
{
|
|
769
|
+
{
|
|
770
|
+
status: 403,
|
|
771
|
+
description: `0: Token Validation Failed\n6: The user needs to play the game before vote.\n7: The user needs additional permission to vote.`,
|
|
772
|
+
},
|
|
770
773
|
{ status: 404, description: `1: The requested universe does not exist.` },
|
|
771
|
-
{
|
|
774
|
+
{
|
|
775
|
+
status: 429,
|
|
776
|
+
description: `5: Too many attempts to vote. Please try again later.\n10: Internal service busy. Please try again later.`,
|
|
777
|
+
},
|
|
772
778
|
{ status: 500, description: `0: An unknown error occurred.` },
|
|
773
779
|
],
|
|
774
780
|
});
|
|
@@ -815,7 +821,10 @@ export const getGamesVotes = endpoint({
|
|
|
815
821
|
parameters: { universeIds: z.array(z.number()) },
|
|
816
822
|
response: Patch_ApiArrayResponse_GameVoteResponse,
|
|
817
823
|
errors: [
|
|
818
|
-
{
|
|
824
|
+
{
|
|
825
|
+
status: 400,
|
|
826
|
+
description: `3: The asset is not voteable.\n8: No universe IDs were specified.\n9: Too many universe IDs were requested.`,
|
|
827
|
+
},
|
|
819
828
|
{ status: 429, description: `10: Internal service busy. Please try again later.` },
|
|
820
829
|
{ status: 500, description: `0: An unknown error occurred.` },
|
|
821
830
|
],
|
|
@@ -869,7 +878,10 @@ export const getVipServersId = endpoint({
|
|
|
869
878
|
{ status: 400, description: `8: The creator of this game has disabled private servers for this game.` },
|
|
870
879
|
{ status: 401, description: `0: Authorization has been denied for this request.` },
|
|
871
880
|
{ status: 403, description: `2: You are not the owner of this private server.` },
|
|
872
|
-
{
|
|
881
|
+
{
|
|
882
|
+
status: 404,
|
|
883
|
+
description: `1: The private server is invalid or does not exist.\n4: The universe does not exist.`,
|
|
884
|
+
},
|
|
873
885
|
],
|
|
874
886
|
});
|
|
875
887
|
|
|
@@ -883,10 +895,19 @@ export const patchVipServersId = endpoint({
|
|
|
883
895
|
body: Patch_VipServerUpdateRequest,
|
|
884
896
|
response: Patch_VipServerResponse,
|
|
885
897
|
errors: [
|
|
886
|
-
{
|
|
898
|
+
{
|
|
899
|
+
status: 400,
|
|
900
|
+
description: `8: The creator of this game has disabled private servers for this game.\n10: The name of the private server is either empty or too long.`,
|
|
901
|
+
},
|
|
887
902
|
{ status: 401, description: `0: Authorization has been denied for this request.` },
|
|
888
|
-
{
|
|
889
|
-
|
|
903
|
+
{
|
|
904
|
+
status: 403,
|
|
905
|
+
description: `0: Token Validation Failed\n2: You are not the owner of this private server.\n11: You cannot activate a cancelled private server.\n12: The game must not be Friends Only to allow private servers.\n13: Join Link can be generated only for active private servers.`,
|
|
906
|
+
},
|
|
907
|
+
{
|
|
908
|
+
status: 404,
|
|
909
|
+
description: `1: The private server is invalid or does not exist.\n4: The universe does not exist.`,
|
|
910
|
+
},
|
|
890
911
|
{ status: 429, description: `3: Please wait a few minutes before configuring your private server again.` },
|
|
891
912
|
],
|
|
892
913
|
});
|
|
@@ -901,10 +922,16 @@ export const patchVipServersIdPermissions = endpoint({
|
|
|
901
922
|
body: Patch_VipServerUpdatePermissionsRequest,
|
|
902
923
|
response: Patch_VipServerPermissionsResponse,
|
|
903
924
|
errors: [
|
|
904
|
-
{
|
|
925
|
+
{
|
|
926
|
+
status: 400,
|
|
927
|
+
description: `6: You cannot add so many players to the private server's invite list.\n8: The creator of this game has disabled private servers for this game.\n12: The game must not be Friends Only to allow private servers.\n28: You may only add or remove valid players to your private server's invite list.\n29: You may only add or remove players when your private server is active.`,
|
|
928
|
+
},
|
|
905
929
|
{ status: 401, description: `0: Authorization has been denied for this request.` },
|
|
906
930
|
{ status: 403, description: `0: Token Validation Failed\n2: You are not the owner of this private server.` },
|
|
907
|
-
{
|
|
931
|
+
{
|
|
932
|
+
status: 404,
|
|
933
|
+
description: `1: The private server is invalid or does not exist.\n4: The universe does not exist.`,
|
|
934
|
+
},
|
|
908
935
|
],
|
|
909
936
|
});
|
|
910
937
|
|
|
@@ -918,10 +945,19 @@ export const patchVipServersIdSubscription = endpoint({
|
|
|
918
945
|
body: Patch_VipServerUpdateSubscriptionRequest,
|
|
919
946
|
response: Patch_VipServerSubscriptionResponse,
|
|
920
947
|
errors: [
|
|
921
|
-
{
|
|
948
|
+
{
|
|
949
|
+
status: 400,
|
|
950
|
+
description: `8: The creator of this game has disabled private servers for this game.\n32: You do not have enough funds available to renew the subscription for this private server.`,
|
|
951
|
+
},
|
|
922
952
|
{ status: 401, description: `0: Authorization has been denied for this request.` },
|
|
923
|
-
{
|
|
924
|
-
|
|
953
|
+
{
|
|
954
|
+
status: 403,
|
|
955
|
+
description: `0: Token Validation Failed\n2: You are not the owner of this private server.\n21: You may not configure a cancelled private server. Please renew your subscription before configuring.`,
|
|
956
|
+
},
|
|
957
|
+
{
|
|
958
|
+
status: 404,
|
|
959
|
+
description: `1: The private server is invalid or does not exist.\n4: The universe does not exist.`,
|
|
960
|
+
},
|
|
925
961
|
{ status: 429, description: `3: Please wait a few minutes before configuring your private server again.` },
|
|
926
962
|
],
|
|
927
963
|
});
|
|
@@ -936,11 +972,17 @@ export const postGamesVipServersUniverseid = endpoint({
|
|
|
936
972
|
body: Patch_CreateVipServersRequest,
|
|
937
973
|
response: Roblox_Web_Responses_Games_GameServerResponse,
|
|
938
974
|
errors: [
|
|
939
|
-
{
|
|
975
|
+
{
|
|
976
|
+
status: 400,
|
|
977
|
+
description: `15: The price for purchasing this private server has changed. Please refresh the page and try again.`,
|
|
978
|
+
},
|
|
940
979
|
{ status: 401, description: `0: Authorization has been denied for this request.` },
|
|
941
980
|
{ status: 403, description: `0: Token Validation Failed` },
|
|
942
981
|
{ status: 404, description: `4: The universe does not exist.` },
|
|
943
|
-
{
|
|
982
|
+
{
|
|
983
|
+
status: 500,
|
|
984
|
+
description: `16: We are having a problem completing your purchase. Please try again in a few minutes.`,
|
|
985
|
+
},
|
|
944
986
|
],
|
|
945
987
|
});
|
|
946
988
|
|
|
@@ -988,7 +1030,5 @@ export const getPrivateServersEnabledInUniverseUniverseid = endpoint({
|
|
|
988
1030
|
serializationMethod: { universeId: { style: 'simple' } },
|
|
989
1031
|
parameters: { universeId: z.number().int() },
|
|
990
1032
|
response: z.object({ privateServersEnabled: z.boolean() }),
|
|
991
|
-
errors: [
|
|
992
|
-
{ status: 400, description: `8: The universe IDs specified are invalid.` },
|
|
993
|
-
],
|
|
1033
|
+
errors: [{ status: 400, description: `8: The universe IDs specified are invalid.` }],
|
|
994
1034
|
});
|
package/lib/endpoints/gamesv1.js
CHANGED
|
@@ -49,6 +49,7 @@ const Roblox_Games_Api_Models_Response_GameDetailResponse = zod_1.z.object({
|
|
|
49
49
|
localizedFiatPrice: zod_1.z.string(),
|
|
50
50
|
refundPolicy: Roblox_Games_Api_Models_Response_RefundPolicy,
|
|
51
51
|
canonicalUrlPath: zod_1.z.string(),
|
|
52
|
+
isContentRestricted: zod_1.z.boolean(),
|
|
52
53
|
});
|
|
53
54
|
const Roblox_Web_WebAPI_Models_ApiArrayResponse_Roblox_Games_Api_Models_Response_GameDetailResponse_ = zod_1.z.object({
|
|
54
55
|
data: zod_1.z.array(Roblox_Games_Api_Models_Response_GameDetailResponse),
|
|
@@ -193,6 +194,7 @@ const Roblox_Games_Api_Models_Response_PlayabilityStatusResponse = zod_1.z.objec
|
|
|
193
194
|
unplayableDisplayText: zod_1.z.string(),
|
|
194
195
|
playableUxTreatment: Roblox_Games_Api_Models_Response_PlayableUxTreatment,
|
|
195
196
|
upsellUxTreatment: Roblox_Games_Api_Models_Response_UpsellUxTreatment,
|
|
197
|
+
demoModeAvailable: zod_1.z.boolean(),
|
|
196
198
|
});
|
|
197
199
|
const Roblox_Games_Api_Models_Response_GameContentMetadataResponseModel = zod_1.z.object({
|
|
198
200
|
badgePosition: zod_1.z.string(),
|