rozod 6.6.0 → 6.7.1

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.
Files changed (51) hide show
  1. package/README.md +11 -11
  2. package/lib/endpoints/accountinformationv1.d.ts +50 -87
  3. package/lib/endpoints/accountinformationv1.js +46 -90
  4. package/lib/endpoints/assetdeliveryv1.d.ts +1 -0
  5. package/lib/endpoints/assetdeliveryv1.js +1 -0
  6. package/lib/endpoints/assetdeliveryv2.d.ts +1 -0
  7. package/lib/endpoints/assetdeliveryv2.js +1 -0
  8. package/lib/endpoints/authv1.d.ts +64 -1
  9. package/lib/endpoints/authv1.js +67 -3
  10. package/lib/endpoints/authv2.d.ts +21 -0
  11. package/lib/endpoints/authv2.js +22 -1
  12. package/lib/endpoints/avatarv1.d.ts +9 -6
  13. package/lib/endpoints/avatarv1.js +9 -6
  14. package/lib/endpoints/avatarv2.d.ts +11 -5
  15. package/lib/endpoints/avatarv2.js +11 -5
  16. package/lib/endpoints/avatarv3.d.ts +16 -7
  17. package/lib/endpoints/avatarv3.js +16 -7
  18. package/lib/endpoints/catalogv1.d.ts +23 -2
  19. package/lib/endpoints/catalogv1.js +19 -2
  20. package/lib/endpoints/catalogv2.d.ts +242 -6
  21. package/lib/endpoints/catalogv2.js +235 -7
  22. package/lib/endpoints/chatv2.d.ts +778 -778
  23. package/lib/endpoints/clientsettingsv2.d.ts +6 -0
  24. package/lib/endpoints/clientsettingsv2.js +6 -0
  25. package/lib/endpoints/contactsv1.d.ts +18 -22
  26. package/lib/endpoints/contactsv1.js +14 -22
  27. package/lib/endpoints/developv1.d.ts +33 -1
  28. package/lib/endpoints/developv1.js +9 -3
  29. package/lib/endpoints/developv2.d.ts +29 -2
  30. package/lib/endpoints/developv2.js +13 -4
  31. package/lib/endpoints/gameinternationalizationv1.d.ts +59 -0
  32. package/lib/endpoints/gameinternationalizationv1.js +57 -1
  33. package/lib/endpoints/gamejoinv1.d.ts +458 -458
  34. package/lib/endpoints/gamesv1.d.ts +74 -95
  35. package/lib/endpoints/gamesv1.js +68 -97
  36. package/lib/endpoints/gamesv2.d.ts +2 -0
  37. package/lib/endpoints/gamesv2.js +2 -0
  38. package/lib/endpoints/groupsv1.d.ts +7 -3
  39. package/lib/endpoints/groupsv1.js +7 -3
  40. package/lib/endpoints/groupsv2.d.ts +1 -0
  41. package/lib/endpoints/groupsv2.js +1 -0
  42. package/lib/endpoints/inventoryv2.d.ts +68 -0
  43. package/lib/endpoints/inventoryv2.js +66 -1
  44. package/lib/endpoints/localev1.d.ts +27 -0
  45. package/lib/endpoints/localev1.js +28 -1
  46. package/lib/endpoints/metricsv1.d.ts +88 -88
  47. package/lib/endpoints/publishv1.d.ts +3 -6
  48. package/lib/endpoints/publishv1.js +3 -6
  49. package/lib/opencloud/v2/cloud.d.ts +28 -31
  50. package/lib/opencloud/v2/cloud.js +45 -46
  51. package/package.json +108 -64
@@ -1,6 +1,179 @@
1
1
  import { z } from "zod";
2
2
  import { endpoint } from "..";
3
3
 
4
+ const Roblox_Catalog_Api_BundleItemDetailModel = z.object({
5
+ owned: z.boolean(),
6
+ id: z.number().int(),
7
+ name: z.string(),
8
+ type: z.string(),
9
+ supportsHeadShapes: z.boolean(),
10
+ assetType: z.number().int(),
11
+ });
12
+ const Roblox_Catalog_Api_Discount = z.object({
13
+ robuxDiscountAmount: z.number().int(),
14
+ robuxDiscountPercentage: z.number(),
15
+ discountCampaign: z.string(),
16
+ localizedDiscountAttribution: z.string(),
17
+ });
18
+ const Roblox_Catalog_Api_DiscountInformation = z.object({
19
+ originalPrice: z.number().int(),
20
+ totalDiscountPercentage: z.number(),
21
+ totalDiscountAmount: z.number().int(),
22
+ discounts: z.array(Roblox_Catalog_Api_Discount),
23
+ });
24
+ const Roblox_Catalog_Api_TimedOption = z.object({
25
+ days: z.number().int(),
26
+ price: z.number().int(),
27
+ discountInformation: Roblox_Catalog_Api_DiscountInformation,
28
+ selected: z.boolean(),
29
+ });
30
+ const Roblox_Catalog_Api_CatalogSearchDetailedResponseItem = z.object({
31
+ id: z.number().int(),
32
+ itemType: z.enum(["Asset", "Bundle"]),
33
+ assetType: z.union([
34
+ z.literal(1),
35
+ z.literal(2),
36
+ z.literal(3),
37
+ z.literal(4),
38
+ z.literal(5),
39
+ z.literal(6),
40
+ z.literal(7),
41
+ z.literal(8),
42
+ z.literal(9),
43
+ z.literal(10),
44
+ z.literal(11),
45
+ z.literal(12),
46
+ z.literal(13),
47
+ z.literal(16),
48
+ z.literal(17),
49
+ z.literal(18),
50
+ z.literal(19),
51
+ z.literal(21),
52
+ z.literal(22),
53
+ z.literal(24),
54
+ z.literal(25),
55
+ z.literal(26),
56
+ z.literal(27),
57
+ z.literal(28),
58
+ z.literal(29),
59
+ z.literal(30),
60
+ z.literal(31),
61
+ z.literal(32),
62
+ z.literal(33),
63
+ z.literal(34),
64
+ z.literal(35),
65
+ z.literal(37),
66
+ z.literal(38),
67
+ z.literal(39),
68
+ z.literal(40),
69
+ z.literal(41),
70
+ z.literal(42),
71
+ z.literal(43),
72
+ z.literal(44),
73
+ z.literal(45),
74
+ z.literal(46),
75
+ z.literal(47),
76
+ z.literal(48),
77
+ z.literal(49),
78
+ z.literal(50),
79
+ z.literal(51),
80
+ z.literal(52),
81
+ z.literal(53),
82
+ z.literal(54),
83
+ z.literal(55),
84
+ z.literal(56),
85
+ z.literal(59),
86
+ z.literal(60),
87
+ z.literal(61),
88
+ z.literal(62),
89
+ z.literal(63),
90
+ z.literal(64),
91
+ z.literal(65),
92
+ z.literal(66),
93
+ z.literal(67),
94
+ z.literal(68),
95
+ z.literal(69),
96
+ z.literal(70),
97
+ z.literal(71),
98
+ z.literal(72),
99
+ z.literal(73),
100
+ z.literal(74),
101
+ z.literal(75),
102
+ z.literal(76),
103
+ z.literal(77),
104
+ z.literal(78),
105
+ z.literal(79),
106
+ z.literal(80),
107
+ z.literal(81),
108
+ z.literal(82),
109
+ z.literal(83),
110
+ z.literal(84),
111
+ z.literal(85),
112
+ z.literal(86),
113
+ z.literal(87),
114
+ z.literal(88),
115
+ z.literal(89),
116
+ z.literal(90),
117
+ z.literal(91),
118
+ z.literal(92),
119
+ ]),
120
+ bundleType: z.union([z.literal(1), z.literal(2), z.literal(3), z.literal(4)]),
121
+ isRecolorable: z.boolean(),
122
+ name: z.string(),
123
+ description: z.string(),
124
+ productId: z.number().int(),
125
+ bundledItems: z.array(Roblox_Catalog_Api_BundleItemDetailModel),
126
+ itemStatus: z.array(
127
+ z.union([z.literal(1), z.literal(2), z.literal(7), z.literal(8)])
128
+ ),
129
+ itemRestrictions: z.array(
130
+ z.union([
131
+ z.literal(1),
132
+ z.literal(2),
133
+ z.literal(3),
134
+ z.literal(4),
135
+ z.literal(5),
136
+ z.literal(6),
137
+ z.literal(7),
138
+ z.literal(8),
139
+ z.literal(9),
140
+ ])
141
+ ),
142
+ creatorHasVerifiedBadge: z.boolean(),
143
+ creatorType: z.string(),
144
+ creatorTargetId: z.number().int(),
145
+ creatorName: z.string(),
146
+ price: z.number().int(),
147
+ lowestPrice: z.number().int(),
148
+ lowestResalePrice: z.number().int(),
149
+ priceStatus: z.string(),
150
+ unitsAvailableForConsumption: z.number().int(),
151
+ favoriteCount: z.number().int(),
152
+ offSaleDeadline: z.string().datetime({ offset: true }),
153
+ collectibleItemId: z.string(),
154
+ totalQuantity: z.number().int(),
155
+ saleLocationType: z.enum([
156
+ "NotApplicable",
157
+ "ShopOnly",
158
+ "MyExperiencesOnly",
159
+ "ShopAndMyExperiences",
160
+ "ExperiencesById",
161
+ "ShopAndAllExperiences",
162
+ "ExperiencesDevApiOnly",
163
+ "ShopAndExperiencesById",
164
+ ]),
165
+ hasResellers: z.boolean(),
166
+ isOffSale: z.boolean(),
167
+ quantityLimitPerUser: z.number().int(),
168
+ supportsHeadShapes: z.boolean(),
169
+ timedOptions: z.array(Roblox_Catalog_Api_TimedOption),
170
+ });
171
+ const Roblox_Web_WebAPI_Models_ApiPageResponse_Roblox_Catalog_Api_CatalogSearchDetailedResponseItem_ =
172
+ z.object({
173
+ previousPageCursor: z.string(),
174
+ nextPageCursor: z.string(),
175
+ data: z.array(Roblox_Catalog_Api_CatalogSearchDetailedResponseItem),
176
+ });
4
177
  const Roblox_Catalog_Api_ElasticsearchDebugInfo = z.object({
5
178
  elasticsearchQuery: z.string(),
6
179
  isFromCache: z.boolean(),
@@ -23,15 +196,11 @@ const Roblox_Catalog_Api_TaxonomyModel = z.object({
23
196
  taxonomyId: z.string(),
24
197
  taxonomyName: z.string(),
25
198
  });
26
- const Roblox_Catalog_Api_TimedOption = z.object({
27
- days: z.number().int(),
28
- price: z.number().int(),
29
- selected: z.boolean(),
30
- });
31
199
  const Roblox_Catalog_Api_CatalogSearchDetailedResponseItemV2 = z.object({
32
200
  bundledItems: z.array(Roblox_Catalog_Api_BundleItemDetailModelV2),
33
201
  taxonomy: z.array(Roblox_Catalog_Api_TaxonomyModel),
34
202
  itemCreatedUtc: z.string().datetime({ offset: true }),
203
+ discountInformation: Roblox_Catalog_Api_DiscountInformation,
35
204
  id: z.number().int(),
36
205
  itemType: z.enum(["Asset", "Bundle"]),
37
206
  assetType: z.union([
@@ -119,13 +288,16 @@ const Roblox_Catalog_Api_CatalogSearchDetailedResponseItemV2 = z.object({
119
288
  z.literal(89),
120
289
  z.literal(90),
121
290
  z.literal(91),
291
+ z.literal(92),
122
292
  ]),
123
293
  bundleType: z.union([z.literal(1), z.literal(2), z.literal(3), z.literal(4)]),
124
294
  isRecolorable: z.boolean(),
125
295
  name: z.string(),
126
296
  description: z.string(),
127
297
  productId: z.number().int(),
128
- itemStatus: z.array(z.union([z.literal(1), z.literal(2), z.literal(7)])),
298
+ itemStatus: z.array(
299
+ z.union([z.literal(1), z.literal(2), z.literal(7), z.literal(8)])
300
+ ),
129
301
  itemRestrictions: z.array(
130
302
  z.union([
131
303
  z.literal(1),
@@ -177,6 +349,69 @@ const Roblox_Catalog_Api_CatalogSearchPageResponse_Roblox_Catalog_Api_CatalogSea
177
349
  data: z.array(Roblox_Catalog_Api_CatalogSearchDetailedResponseItemV2),
178
350
  });
179
351
 
352
+ /**
353
+ * @api GET https://catalog.roblox.com/v2/assets/:assetId/bundles
354
+ * @summary Lists bundles that contain the given asset (hydrated search-detail shape for marketplace).
355
+ * @param assetId Asset id.
356
+ * @param Roblox-Place-Id Roblox-Place-Id header.
357
+ * @param Roblox-Game-Id Roblox-Game-Id header.
358
+ * @param limit The number of results per request.
359
+ * @param cursor The paging cursor for the previous or next page.
360
+ * @param sortOrder The order the results are sorted in.
361
+ */
362
+ export const getAssetsAssetidBundles = endpoint({
363
+ method: "GET",
364
+ path: "/v2/assets/:assetId/bundles",
365
+ baseUrl: "https://catalog.roblox.com",
366
+ requestFormat: "json",
367
+ serializationMethod: {
368
+ assetId: {
369
+ style: "simple",
370
+ },
371
+ "Roblox-Place-Id": {
372
+ style: "simple",
373
+ },
374
+ "Roblox-Game-Id": {
375
+ style: "simple",
376
+ },
377
+ limit: {
378
+ style: "form",
379
+ explode: true,
380
+ },
381
+ cursor: {
382
+ style: "form",
383
+ explode: true,
384
+ },
385
+ sortOrder: {
386
+ style: "form",
387
+ explode: true,
388
+ },
389
+ },
390
+ parameters: {
391
+ assetId: z.number().int(),
392
+ "Roblox-Place-Id": z.number().int(),
393
+ "Roblox-Game-Id": z.string(),
394
+ limit: z
395
+ .union([z.literal(10), z.literal(25), z.literal(50), z.literal(100)])
396
+ .optional()
397
+ .default(10),
398
+ cursor: z.string().optional(),
399
+ sortOrder: z.enum(["Asc", "Desc"]).optional().default("Asc"),
400
+ },
401
+ response:
402
+ Roblox_Web_WebAPI_Models_ApiPageResponse_Roblox_Catalog_Api_CatalogSearchDetailedResponseItem_,
403
+ errors: [
404
+ {
405
+ status: 400,
406
+ description: `1: Invalid assetId
407
+ 4: Invalid Cursor.`,
408
+ },
409
+ {
410
+ status: 403,
411
+ description: `7: User is unauthorized.`,
412
+ },
413
+ ],
414
+ });
180
415
  /**
181
416
  * @api GET https://catalog.roblox.com/v2/search/items/details
182
417
  * @summary Search for catalog items.
@@ -296,6 +531,7 @@ export const getSearchItemsDetails = endpoint({
296
531
  z.literal(4),
297
532
  z.literal(5),
298
533
  z.literal(6),
534
+ z.literal(7),
299
535
  ]),
300
536
  SortAggregation: z.union([
301
537
  z.literal(0),
@@ -1,8 +1,176 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getSearchItemsDetails = void 0;
3
+ exports.getSearchItemsDetails = exports.getAssetsAssetidBundles = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const __1 = require("..");
6
+ const Roblox_Catalog_Api_BundleItemDetailModel = zod_1.z.object({
7
+ owned: zod_1.z.boolean(),
8
+ id: zod_1.z.number().int(),
9
+ name: zod_1.z.string(),
10
+ type: zod_1.z.string(),
11
+ supportsHeadShapes: zod_1.z.boolean(),
12
+ assetType: zod_1.z.number().int(),
13
+ });
14
+ const Roblox_Catalog_Api_Discount = zod_1.z.object({
15
+ robuxDiscountAmount: zod_1.z.number().int(),
16
+ robuxDiscountPercentage: zod_1.z.number(),
17
+ discountCampaign: zod_1.z.string(),
18
+ localizedDiscountAttribution: zod_1.z.string(),
19
+ });
20
+ const Roblox_Catalog_Api_DiscountInformation = zod_1.z.object({
21
+ originalPrice: zod_1.z.number().int(),
22
+ totalDiscountPercentage: zod_1.z.number(),
23
+ totalDiscountAmount: zod_1.z.number().int(),
24
+ discounts: zod_1.z.array(Roblox_Catalog_Api_Discount),
25
+ });
26
+ const Roblox_Catalog_Api_TimedOption = zod_1.z.object({
27
+ days: zod_1.z.number().int(),
28
+ price: zod_1.z.number().int(),
29
+ discountInformation: Roblox_Catalog_Api_DiscountInformation,
30
+ selected: zod_1.z.boolean(),
31
+ });
32
+ const Roblox_Catalog_Api_CatalogSearchDetailedResponseItem = zod_1.z.object({
33
+ id: zod_1.z.number().int(),
34
+ itemType: zod_1.z.enum(['Asset', 'Bundle']),
35
+ assetType: zod_1.z.union([
36
+ zod_1.z.literal(1),
37
+ zod_1.z.literal(2),
38
+ zod_1.z.literal(3),
39
+ zod_1.z.literal(4),
40
+ zod_1.z.literal(5),
41
+ zod_1.z.literal(6),
42
+ zod_1.z.literal(7),
43
+ zod_1.z.literal(8),
44
+ zod_1.z.literal(9),
45
+ zod_1.z.literal(10),
46
+ zod_1.z.literal(11),
47
+ zod_1.z.literal(12),
48
+ zod_1.z.literal(13),
49
+ zod_1.z.literal(16),
50
+ zod_1.z.literal(17),
51
+ zod_1.z.literal(18),
52
+ zod_1.z.literal(19),
53
+ zod_1.z.literal(21),
54
+ zod_1.z.literal(22),
55
+ zod_1.z.literal(24),
56
+ zod_1.z.literal(25),
57
+ zod_1.z.literal(26),
58
+ zod_1.z.literal(27),
59
+ zod_1.z.literal(28),
60
+ zod_1.z.literal(29),
61
+ zod_1.z.literal(30),
62
+ zod_1.z.literal(31),
63
+ zod_1.z.literal(32),
64
+ zod_1.z.literal(33),
65
+ zod_1.z.literal(34),
66
+ zod_1.z.literal(35),
67
+ zod_1.z.literal(37),
68
+ zod_1.z.literal(38),
69
+ zod_1.z.literal(39),
70
+ zod_1.z.literal(40),
71
+ zod_1.z.literal(41),
72
+ zod_1.z.literal(42),
73
+ zod_1.z.literal(43),
74
+ zod_1.z.literal(44),
75
+ zod_1.z.literal(45),
76
+ zod_1.z.literal(46),
77
+ zod_1.z.literal(47),
78
+ zod_1.z.literal(48),
79
+ zod_1.z.literal(49),
80
+ zod_1.z.literal(50),
81
+ zod_1.z.literal(51),
82
+ zod_1.z.literal(52),
83
+ zod_1.z.literal(53),
84
+ zod_1.z.literal(54),
85
+ zod_1.z.literal(55),
86
+ zod_1.z.literal(56),
87
+ zod_1.z.literal(59),
88
+ zod_1.z.literal(60),
89
+ zod_1.z.literal(61),
90
+ zod_1.z.literal(62),
91
+ zod_1.z.literal(63),
92
+ zod_1.z.literal(64),
93
+ zod_1.z.literal(65),
94
+ zod_1.z.literal(66),
95
+ zod_1.z.literal(67),
96
+ zod_1.z.literal(68),
97
+ zod_1.z.literal(69),
98
+ zod_1.z.literal(70),
99
+ zod_1.z.literal(71),
100
+ zod_1.z.literal(72),
101
+ zod_1.z.literal(73),
102
+ zod_1.z.literal(74),
103
+ zod_1.z.literal(75),
104
+ zod_1.z.literal(76),
105
+ zod_1.z.literal(77),
106
+ zod_1.z.literal(78),
107
+ zod_1.z.literal(79),
108
+ zod_1.z.literal(80),
109
+ zod_1.z.literal(81),
110
+ zod_1.z.literal(82),
111
+ zod_1.z.literal(83),
112
+ zod_1.z.literal(84),
113
+ zod_1.z.literal(85),
114
+ zod_1.z.literal(86),
115
+ zod_1.z.literal(87),
116
+ zod_1.z.literal(88),
117
+ zod_1.z.literal(89),
118
+ zod_1.z.literal(90),
119
+ zod_1.z.literal(91),
120
+ zod_1.z.literal(92),
121
+ ]),
122
+ bundleType: zod_1.z.union([zod_1.z.literal(1), zod_1.z.literal(2), zod_1.z.literal(3), zod_1.z.literal(4)]),
123
+ isRecolorable: zod_1.z.boolean(),
124
+ name: zod_1.z.string(),
125
+ description: zod_1.z.string(),
126
+ productId: zod_1.z.number().int(),
127
+ bundledItems: zod_1.z.array(Roblox_Catalog_Api_BundleItemDetailModel),
128
+ itemStatus: zod_1.z.array(zod_1.z.union([zod_1.z.literal(1), zod_1.z.literal(2), zod_1.z.literal(7), zod_1.z.literal(8)])),
129
+ itemRestrictions: zod_1.z.array(zod_1.z.union([
130
+ zod_1.z.literal(1),
131
+ zod_1.z.literal(2),
132
+ zod_1.z.literal(3),
133
+ zod_1.z.literal(4),
134
+ zod_1.z.literal(5),
135
+ zod_1.z.literal(6),
136
+ zod_1.z.literal(7),
137
+ zod_1.z.literal(8),
138
+ zod_1.z.literal(9),
139
+ ])),
140
+ creatorHasVerifiedBadge: zod_1.z.boolean(),
141
+ creatorType: zod_1.z.string(),
142
+ creatorTargetId: zod_1.z.number().int(),
143
+ creatorName: zod_1.z.string(),
144
+ price: zod_1.z.number().int(),
145
+ lowestPrice: zod_1.z.number().int(),
146
+ lowestResalePrice: zod_1.z.number().int(),
147
+ priceStatus: zod_1.z.string(),
148
+ unitsAvailableForConsumption: zod_1.z.number().int(),
149
+ favoriteCount: zod_1.z.number().int(),
150
+ offSaleDeadline: zod_1.z.string().datetime({ offset: true }),
151
+ collectibleItemId: zod_1.z.string(),
152
+ totalQuantity: zod_1.z.number().int(),
153
+ saleLocationType: zod_1.z.enum([
154
+ 'NotApplicable',
155
+ 'ShopOnly',
156
+ 'MyExperiencesOnly',
157
+ 'ShopAndMyExperiences',
158
+ 'ExperiencesById',
159
+ 'ShopAndAllExperiences',
160
+ 'ExperiencesDevApiOnly',
161
+ 'ShopAndExperiencesById',
162
+ ]),
163
+ hasResellers: zod_1.z.boolean(),
164
+ isOffSale: zod_1.z.boolean(),
165
+ quantityLimitPerUser: zod_1.z.number().int(),
166
+ supportsHeadShapes: zod_1.z.boolean(),
167
+ timedOptions: zod_1.z.array(Roblox_Catalog_Api_TimedOption),
168
+ });
169
+ const Roblox_Web_WebAPI_Models_ApiPageResponse_Roblox_Catalog_Api_CatalogSearchDetailedResponseItem_ = zod_1.z.object({
170
+ previousPageCursor: zod_1.z.string(),
171
+ nextPageCursor: zod_1.z.string(),
172
+ data: zod_1.z.array(Roblox_Catalog_Api_CatalogSearchDetailedResponseItem),
173
+ });
6
174
  const Roblox_Catalog_Api_ElasticsearchDebugInfo = zod_1.z.object({
7
175
  elasticsearchQuery: zod_1.z.string(),
8
176
  isFromCache: zod_1.z.boolean(),
@@ -25,15 +193,11 @@ const Roblox_Catalog_Api_TaxonomyModel = zod_1.z.object({
25
193
  taxonomyId: zod_1.z.string(),
26
194
  taxonomyName: zod_1.z.string(),
27
195
  });
28
- const Roblox_Catalog_Api_TimedOption = zod_1.z.object({
29
- days: zod_1.z.number().int(),
30
- price: zod_1.z.number().int(),
31
- selected: zod_1.z.boolean(),
32
- });
33
196
  const Roblox_Catalog_Api_CatalogSearchDetailedResponseItemV2 = zod_1.z.object({
34
197
  bundledItems: zod_1.z.array(Roblox_Catalog_Api_BundleItemDetailModelV2),
35
198
  taxonomy: zod_1.z.array(Roblox_Catalog_Api_TaxonomyModel),
36
199
  itemCreatedUtc: zod_1.z.string().datetime({ offset: true }),
200
+ discountInformation: Roblox_Catalog_Api_DiscountInformation,
37
201
  id: zod_1.z.number().int(),
38
202
  itemType: zod_1.z.enum(['Asset', 'Bundle']),
39
203
  assetType: zod_1.z.union([
@@ -121,13 +285,14 @@ const Roblox_Catalog_Api_CatalogSearchDetailedResponseItemV2 = zod_1.z.object({
121
285
  zod_1.z.literal(89),
122
286
  zod_1.z.literal(90),
123
287
  zod_1.z.literal(91),
288
+ zod_1.z.literal(92),
124
289
  ]),
125
290
  bundleType: zod_1.z.union([zod_1.z.literal(1), zod_1.z.literal(2), zod_1.z.literal(3), zod_1.z.literal(4)]),
126
291
  isRecolorable: zod_1.z.boolean(),
127
292
  name: zod_1.z.string(),
128
293
  description: zod_1.z.string(),
129
294
  productId: zod_1.z.number().int(),
130
- itemStatus: zod_1.z.array(zod_1.z.union([zod_1.z.literal(1), zod_1.z.literal(2), zod_1.z.literal(7)])),
295
+ itemStatus: zod_1.z.array(zod_1.z.union([zod_1.z.literal(1), zod_1.z.literal(2), zod_1.z.literal(7), zod_1.z.literal(8)])),
131
296
  itemRestrictions: zod_1.z.array(zod_1.z.union([
132
297
  zod_1.z.literal(1),
133
298
  zod_1.z.literal(2),
@@ -175,6 +340,68 @@ const Roblox_Catalog_Api_CatalogSearchPageResponse_Roblox_Catalog_Api_CatalogSea
175
340
  nextPageCursor: zod_1.z.string(),
176
341
  data: zod_1.z.array(Roblox_Catalog_Api_CatalogSearchDetailedResponseItemV2),
177
342
  });
343
+ /**
344
+ * @api GET https://catalog.roblox.com/v2/assets/:assetId/bundles
345
+ * @summary Lists bundles that contain the given asset (hydrated search-detail shape for marketplace).
346
+ * @param assetId Asset id.
347
+ * @param Roblox-Place-Id Roblox-Place-Id header.
348
+ * @param Roblox-Game-Id Roblox-Game-Id header.
349
+ * @param limit The number of results per request.
350
+ * @param cursor The paging cursor for the previous or next page.
351
+ * @param sortOrder The order the results are sorted in.
352
+ */
353
+ exports.getAssetsAssetidBundles = (0, __1.endpoint)({
354
+ method: 'GET',
355
+ path: '/v2/assets/:assetId/bundles',
356
+ baseUrl: 'https://catalog.roblox.com',
357
+ requestFormat: 'json',
358
+ serializationMethod: {
359
+ assetId: {
360
+ style: 'simple',
361
+ },
362
+ 'Roblox-Place-Id': {
363
+ style: 'simple',
364
+ },
365
+ 'Roblox-Game-Id': {
366
+ style: 'simple',
367
+ },
368
+ limit: {
369
+ style: 'form',
370
+ explode: true,
371
+ },
372
+ cursor: {
373
+ style: 'form',
374
+ explode: true,
375
+ },
376
+ sortOrder: {
377
+ style: 'form',
378
+ explode: true,
379
+ },
380
+ },
381
+ parameters: {
382
+ assetId: zod_1.z.number().int(),
383
+ 'Roblox-Place-Id': zod_1.z.number().int(),
384
+ 'Roblox-Game-Id': zod_1.z.string(),
385
+ limit: zod_1.z
386
+ .union([zod_1.z.literal(10), zod_1.z.literal(25), zod_1.z.literal(50), zod_1.z.literal(100)])
387
+ .optional()
388
+ .default(10),
389
+ cursor: zod_1.z.string().optional(),
390
+ sortOrder: zod_1.z.enum(['Asc', 'Desc']).optional().default('Asc'),
391
+ },
392
+ response: Roblox_Web_WebAPI_Models_ApiPageResponse_Roblox_Catalog_Api_CatalogSearchDetailedResponseItem_,
393
+ errors: [
394
+ {
395
+ status: 400,
396
+ description: `1: Invalid assetId
397
+ 4: Invalid Cursor.`,
398
+ },
399
+ {
400
+ status: 403,
401
+ description: `7: User is unauthorized.`,
402
+ },
403
+ ],
404
+ });
178
405
  /**
179
406
  * @api GET https://catalog.roblox.com/v2/search/items/details
180
407
  * @summary Search for catalog items.
@@ -294,6 +521,7 @@ exports.getSearchItemsDetails = (0, __1.endpoint)({
294
521
  zod_1.z.literal(4),
295
522
  zod_1.z.literal(5),
296
523
  zod_1.z.literal(6),
524
+ zod_1.z.literal(7),
297
525
  ]),
298
526
  SortAggregation: zod_1.z.union([zod_1.z.literal(0), zod_1.z.literal(1), zod_1.z.literal(2), zod_1.z.literal(3), zod_1.z.literal(4), zod_1.z.literal(5)]),
299
527
  SortType: zod_1.z.union([zod_1.z.literal(0), zod_1.z.literal(1), zod_1.z.literal(2), zod_1.z.literal(3), zod_1.z.literal(4), zod_1.z.literal(5)]),