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
package/README.md CHANGED
@@ -57,7 +57,7 @@ pnpm add rozod
57
57
 
58
58
  ```ts
59
59
  import { fetchApi, isAnyErrorResponse } from 'rozod';
60
- import { getUsersUserid } from 'rozod/lib/endpoints/usersv1';
60
+ import { getUsersUserid } from 'rozod/endpoints/usersv1';
61
61
 
62
62
  // Fetch user details with full type safety
63
63
  const userInfo = await fetchApi(getUsersUserid, { userId: 1 });
@@ -73,7 +73,7 @@ console.log(userInfo.displayName); // Properly typed!
73
73
 
74
74
  ```ts
75
75
  import { fetchApi, isAnyErrorResponse } from 'rozod';
76
- import { getGamesIcons } from 'rozod/lib/endpoints/thumbnailsv1';
76
+ import { getGamesIcons } from 'rozod/endpoints/thumbnailsv1';
77
77
 
78
78
  const response = await fetchApi(getGamesIcons, { universeIds: [1534453623, 65241] });
79
79
  if (!isAnyErrorResponse(response)) {
@@ -85,7 +85,7 @@ if (!isAnyErrorResponse(response)) {
85
85
 
86
86
  ```ts
87
87
  import { fetchApiPages, isAnyErrorResponse } from 'rozod';
88
- import { getGroupsGroupidWallPosts } from 'rozod/lib/endpoints/groupsv2';
88
+ import { getGroupsGroupidWallPosts } from 'rozod/endpoints/groupsv2';
89
89
 
90
90
  // Automatically fetches all pages
91
91
  const pages = await fetchApiPages(getGroupsGroupidWallPosts, { groupId: 11479637 });
@@ -98,7 +98,7 @@ if (!isAnyErrorResponse(pages)) {
98
98
 
99
99
  ```ts
100
100
  import { fetchApiPagesGenerator, isAnyErrorResponse } from 'rozod';
101
- import { getGroupsGroupidWallPosts } from 'rozod/lib/endpoints/groupsv2';
101
+ import { getGroupsGroupidWallPosts } from 'rozod/endpoints/groupsv2';
102
102
 
103
103
  // Process pages as they arrive
104
104
  const pages = fetchApiPagesGenerator(getGroupsGroupidWallPosts, { groupId: 11479637 });
@@ -113,7 +113,7 @@ for await (const page of pages) {
113
113
 
114
114
  ```ts
115
115
  import { fetchApiSplit } from 'rozod';
116
- import { getGamesIcons } from 'rozod/lib/endpoints/thumbnailsv1';
116
+ import { getGamesIcons } from 'rozod/endpoints/thumbnailsv1';
117
117
 
118
118
  // Will automatically split into smaller batches of 100 universeIds per request
119
119
  const data = await fetchApiSplit(
@@ -130,7 +130,7 @@ By default, requests return either the success type or a simple `AnyError`. Use
130
130
 
131
131
  ```ts
132
132
  import { fetchApi, isAnyErrorResponse } from 'rozod';
133
- import { getGamesIcons } from 'rozod/lib/endpoints/thumbnailsv1';
133
+ import { getGamesIcons } from 'rozod/endpoints/thumbnailsv1';
134
134
 
135
135
  const res = await fetchApi(getGamesIcons, { universeIds: [1534453623] });
136
136
  if (isAnyErrorResponse(res)) {
@@ -164,7 +164,7 @@ RoZod supports Roblox's newer OpenCloud APIs with the same easy interface:
164
164
 
165
165
  ```ts
166
166
  import { fetchApi, isAnyErrorResponse } from 'rozod';
167
- import { v2 } from 'rozod/lib/opencloud';
167
+ import { v2 } from 'rozod/opencloud';
168
168
 
169
169
  // Get universe details through OpenCloud
170
170
  const universeInfo = await fetchApi(v2.getCloudV2UniversesUniverseId, {
@@ -182,7 +182,7 @@ if (!isAnyErrorResponse(universeInfo)) {
182
182
 
183
183
  ```ts
184
184
  import { fetchApi } from 'rozod';
185
- import { getCloudV2UniversesUniverseIdDataStoresDataStoreIdEntries } from 'rozod/lib/opencloud/v2/cloud';
185
+ import { getCloudV2UniversesUniverseIdDataStoresDataStoreIdEntries } from 'rozod/opencloud/v2/cloud';
186
186
 
187
187
  // Get DataStore entries with type safety
188
188
  const dataStoreEntries = await fetchApi(getCloudV2UniversesUniverseIdDataStoresDataStoreIdEntries, {
@@ -201,7 +201,7 @@ In browsers, authentication works automatically when users are logged into Roblo
201
201
 
202
202
  ```ts
203
203
  import { fetchApi } from 'rozod';
204
- import { getUsersUserid } from 'rozod/lib/endpoints/usersv1';
204
+ import { getUsersUserid } from 'rozod/endpoints/usersv1';
205
205
 
206
206
  // Cookies are sent automatically - no setup required!
207
207
  const userInfo = await fetchApi(getUsersUserid, { userId: 123456 });
@@ -213,7 +213,7 @@ For server environments, use `configureServer()` to set up authentication once:
213
213
 
214
214
  ```ts
215
215
  import { configureServer, fetchApi } from 'rozod';
216
- import { getUsersUserid } from 'rozod/lib/endpoints/usersv1';
216
+ import { getUsersUserid } from 'rozod/endpoints/usersv1';
217
217
 
218
218
  // Configure once at startup
219
219
  configureServer({ cookies: 'your_roblosecurity_cookie_here' });
@@ -283,7 +283,7 @@ For OpenCloud endpoints (`apis.roblox.com`), set your API key once:
283
283
 
284
284
  ```ts
285
285
  import { configureServer, fetchApi } from 'rozod';
286
- import { v2 } from 'rozod/lib/opencloud';
286
+ import { v2 } from 'rozod/opencloud';
287
287
 
288
288
  // Configure OpenCloud API key
289
289
  configureServer({ cloudKey: 'your_opencloud_api_key_here' });
@@ -63,12 +63,6 @@ const Roblox_AccountInformation_Api_Models_PromotionChannelsRequest = z.object({
63
63
  twitch: z.string(),
64
64
  promotionChannelsVisibilityPrivacy: z.string(),
65
65
  });
66
- const Roblox_AccountInformation_Api_Models_StarCodeAffiliateResponse = z.object(
67
- { userId: z.number().int(), name: z.string(), code: z.string() }
68
- );
69
- const Roblox_AccountInformation_Api_Models_StarCodeAffiliateRequest = z.object({
70
- code: z.string(),
71
- });
72
66
  const Roblox_AccountInformation_Api_Models_PromotionChannelsByUserIdResponse =
73
67
  z.object({
74
68
  facebook: z.string(),
@@ -538,87 +532,6 @@ export const postPromotionChannels = endpoint({
538
532
  },
539
533
  ],
540
534
  });
541
- /**
542
- * @api GET https://accountinformation.roblox.com/v1/star-code-affiliates
543
- * @summary Gets a star code affiliate supporter for the authenticated user
544
- */
545
- export const getStarCodeAffiliates = endpoint({
546
- method: "GET",
547
- path: "/v1/star-code-affiliates",
548
- baseUrl: "https://accountinformation.roblox.com",
549
- requestFormat: "json",
550
- response: Roblox_AccountInformation_Api_Models_StarCodeAffiliateResponse,
551
- errors: [
552
- {
553
- status: 401,
554
- description: `0: Authorization has been denied for this request.`,
555
- },
556
- {
557
- status: 500,
558
- description: `0: An unknown error occured.`,
559
- },
560
- ],
561
- });
562
- /**
563
- * @api POST https://accountinformation.roblox.com/v1/star-code-affiliates
564
- * @summary Adds a star code affiliate supporter for the authenticated user
565
- * @param body Roblox.AccountInformation.Api.Models.StarCodeAffiliateRequest
566
- */
567
- export const postStarCodeAffiliates = endpoint({
568
- method: "POST",
569
- path: "/v1/star-code-affiliates",
570
- baseUrl: "https://accountinformation.roblox.com",
571
- requestFormat: "json",
572
- serializationMethod: {
573
- body: {},
574
- },
575
- parameters: {},
576
- body: z.object({ code: z.string() }),
577
- response: Roblox_AccountInformation_Api_Models_StarCodeAffiliateResponse,
578
- errors: [
579
- {
580
- status: 400,
581
- description: `1: The code was invalid.`,
582
- },
583
- {
584
- status: 401,
585
- description: `0: Authorization has been denied for this request.`,
586
- },
587
- {
588
- status: 403,
589
- description: `0: Token Validation Failed`,
590
- },
591
- {
592
- status: 500,
593
- description: `0: An unknown error occured.`,
594
- },
595
- ],
596
- });
597
- /**
598
- * @api DELETE https://accountinformation.roblox.com/v1/star-code-affiliates
599
- * @summary Removes the star code affiliate supporter for the authenticated user
600
- */
601
- export const deleteStarCodeAffiliates = endpoint({
602
- method: "DELETE",
603
- path: "/v1/star-code-affiliates",
604
- baseUrl: "https://accountinformation.roblox.com",
605
- requestFormat: "json",
606
- response: z.object({}),
607
- errors: [
608
- {
609
- status: 401,
610
- description: `0: Authorization has been denied for this request.`,
611
- },
612
- {
613
- status: 403,
614
- description: `0: Token Validation Failed`,
615
- },
616
- {
617
- status: 500,
618
- description: `0: An unknown error occured.`,
619
- },
620
- ],
621
- });
622
535
  /**
623
536
  * @api GET https://accountinformation.roblox.com/v1/users/:userId/promotion-channels
624
537
  * @summary Get promotion channels for a given user ID
@@ -679,3 +592,53 @@ export const getUsersUseridRobloxBadges = endpoint({
679
592
  response: z.array(Roblox_AccountInformation_Api_RobloxBadgeResponse),
680
593
  errors: [],
681
594
  });
595
+
596
+ // Patched endpoints removed from Roblox API docs
597
+
598
+ const Patch_StarCodeAffiliateResponse = z.object({
599
+ userId: z.number().int(),
600
+ name: z.string(),
601
+ code: z.string(),
602
+ });
603
+
604
+ export const getStarCodeAffiliates = endpoint({
605
+ method: 'GET',
606
+ path: '/v1/star-code-affiliates',
607
+ baseUrl: 'https://accountinformation.roblox.com',
608
+ requestFormat: 'json',
609
+ response: Patch_StarCodeAffiliateResponse,
610
+ errors: [
611
+ { status: 401, description: `0: Authorization has been denied for this request.` },
612
+ { status: 500, description: `0: An unknown error occured.` },
613
+ ],
614
+ });
615
+
616
+ export const postStarCodeAffiliates = endpoint({
617
+ method: 'POST',
618
+ path: '/v1/star-code-affiliates',
619
+ baseUrl: 'https://accountinformation.roblox.com',
620
+ requestFormat: 'json',
621
+ serializationMethod: { body: {} },
622
+ parameters: {},
623
+ body: z.object({ code: z.string() }),
624
+ response: Patch_StarCodeAffiliateResponse,
625
+ errors: [
626
+ { status: 400, description: `1: The code was invalid.` },
627
+ { status: 401, description: `0: Authorization has been denied for this request.` },
628
+ { status: 403, description: `0: Token Validation Failed` },
629
+ { status: 500, description: `0: An unknown error occured.` },
630
+ ],
631
+ });
632
+
633
+ export const deleteStarCodeAffiliates = endpoint({
634
+ method: 'DELETE',
635
+ path: '/v1/star-code-affiliates',
636
+ baseUrl: 'https://accountinformation.roblox.com',
637
+ requestFormat: 'json',
638
+ response: z.object({}),
639
+ errors: [
640
+ { status: 401, description: `0: Authorization has been denied for this request.` },
641
+ { status: 403, description: `0: Token Validation Failed` },
642
+ { status: 500, description: `0: An unknown error occured.` },
643
+ ],
644
+ });
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getUsersUseridRobloxBadges = exports.getUsersUseridPromotionChannels = exports.deleteStarCodeAffiliates = exports.postStarCodeAffiliates = exports.getStarCodeAffiliates = exports.postPromotionChannels = exports.getPromotionChannels = exports.postPhoneVerify = exports.postPhoneResend = exports.postPhoneDelete = exports.postPhone = exports.getPhone = exports.getMetadata = exports.postGender = exports.getGender = exports.postEmailVerify = exports.postDescription = exports.getDescription = exports.getBirthdate = void 0;
3
+ exports.deleteStarCodeAffiliates = exports.postStarCodeAffiliates = exports.getStarCodeAffiliates = exports.getUsersUseridRobloxBadges = exports.getUsersUseridPromotionChannels = exports.postPromotionChannels = exports.getPromotionChannels = exports.postPhoneVerify = exports.postPhoneResend = exports.postPhoneDelete = exports.postPhone = exports.getPhone = exports.getMetadata = exports.postGender = exports.getGender = exports.postEmailVerify = exports.postDescription = exports.getDescription = exports.getBirthdate = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const __1 = require("..");
6
6
  const Roblox_AccountInformation_Api_Models_BirthdateResponse = zod_1.z.object({
@@ -65,14 +65,6 @@ const Roblox_AccountInformation_Api_Models_PromotionChannelsRequest = zod_1.z.ob
65
65
  twitch: zod_1.z.string(),
66
66
  promotionChannelsVisibilityPrivacy: zod_1.z.string(),
67
67
  });
68
- const Roblox_AccountInformation_Api_Models_StarCodeAffiliateResponse = zod_1.z.object({
69
- userId: zod_1.z.number().int(),
70
- name: zod_1.z.string(),
71
- code: zod_1.z.string(),
72
- });
73
- const Roblox_AccountInformation_Api_Models_StarCodeAffiliateRequest = zod_1.z.object({
74
- code: zod_1.z.string(),
75
- });
76
68
  const Roblox_AccountInformation_Api_Models_PromotionChannelsByUserIdResponse = zod_1.z.object({
77
69
  facebook: zod_1.z.string(),
78
70
  twitter: zod_1.z.string(),
@@ -539,87 +531,6 @@ exports.postPromotionChannels = (0, __1.endpoint)({
539
531
  },
540
532
  ],
541
533
  });
542
- /**
543
- * @api GET https://accountinformation.roblox.com/v1/star-code-affiliates
544
- * @summary Gets a star code affiliate supporter for the authenticated user
545
- */
546
- exports.getStarCodeAffiliates = (0, __1.endpoint)({
547
- method: 'GET',
548
- path: '/v1/star-code-affiliates',
549
- baseUrl: 'https://accountinformation.roblox.com',
550
- requestFormat: 'json',
551
- response: Roblox_AccountInformation_Api_Models_StarCodeAffiliateResponse,
552
- errors: [
553
- {
554
- status: 401,
555
- description: `0: Authorization has been denied for this request.`,
556
- },
557
- {
558
- status: 500,
559
- description: `0: An unknown error occured.`,
560
- },
561
- ],
562
- });
563
- /**
564
- * @api POST https://accountinformation.roblox.com/v1/star-code-affiliates
565
- * @summary Adds a star code affiliate supporter for the authenticated user
566
- * @param body Roblox.AccountInformation.Api.Models.StarCodeAffiliateRequest
567
- */
568
- exports.postStarCodeAffiliates = (0, __1.endpoint)({
569
- method: 'POST',
570
- path: '/v1/star-code-affiliates',
571
- baseUrl: 'https://accountinformation.roblox.com',
572
- requestFormat: 'json',
573
- serializationMethod: {
574
- body: {},
575
- },
576
- parameters: {},
577
- body: zod_1.z.object({ code: zod_1.z.string() }),
578
- response: Roblox_AccountInformation_Api_Models_StarCodeAffiliateResponse,
579
- errors: [
580
- {
581
- status: 400,
582
- description: `1: The code was invalid.`,
583
- },
584
- {
585
- status: 401,
586
- description: `0: Authorization has been denied for this request.`,
587
- },
588
- {
589
- status: 403,
590
- description: `0: Token Validation Failed`,
591
- },
592
- {
593
- status: 500,
594
- description: `0: An unknown error occured.`,
595
- },
596
- ],
597
- });
598
- /**
599
- * @api DELETE https://accountinformation.roblox.com/v1/star-code-affiliates
600
- * @summary Removes the star code affiliate supporter for the authenticated user
601
- */
602
- exports.deleteStarCodeAffiliates = (0, __1.endpoint)({
603
- method: 'DELETE',
604
- path: '/v1/star-code-affiliates',
605
- baseUrl: 'https://accountinformation.roblox.com',
606
- requestFormat: 'json',
607
- response: zod_1.z.object({}),
608
- errors: [
609
- {
610
- status: 401,
611
- description: `0: Authorization has been denied for this request.`,
612
- },
613
- {
614
- status: 403,
615
- description: `0: Token Validation Failed`,
616
- },
617
- {
618
- status: 500,
619
- description: `0: An unknown error occured.`,
620
- },
621
- ],
622
- });
623
534
  /**
624
535
  * @api GET https://accountinformation.roblox.com/v1/users/:userId/promotion-channels
625
536
  * @summary Get promotion channels for a given user ID
@@ -679,3 +590,48 @@ exports.getUsersUseridRobloxBadges = (0, __1.endpoint)({
679
590
  response: zod_1.z.array(Roblox_AccountInformation_Api_RobloxBadgeResponse),
680
591
  errors: [],
681
592
  });
593
+ // Patched endpoints removed from Roblox API docs
594
+ const Patch_StarCodeAffiliateResponse = zod_1.z.object({
595
+ userId: zod_1.z.number().int(),
596
+ name: zod_1.z.string(),
597
+ code: zod_1.z.string(),
598
+ });
599
+ exports.getStarCodeAffiliates = (0, __1.endpoint)({
600
+ method: 'GET',
601
+ path: '/v1/star-code-affiliates',
602
+ baseUrl: 'https://accountinformation.roblox.com',
603
+ requestFormat: 'json',
604
+ response: Patch_StarCodeAffiliateResponse,
605
+ errors: [
606
+ { status: 401, description: `0: Authorization has been denied for this request.` },
607
+ { status: 500, description: `0: An unknown error occured.` },
608
+ ],
609
+ });
610
+ exports.postStarCodeAffiliates = (0, __1.endpoint)({
611
+ method: 'POST',
612
+ path: '/v1/star-code-affiliates',
613
+ baseUrl: 'https://accountinformation.roblox.com',
614
+ requestFormat: 'json',
615
+ serializationMethod: { body: {} },
616
+ parameters: {},
617
+ body: zod_1.z.object({ code: zod_1.z.string() }),
618
+ response: Patch_StarCodeAffiliateResponse,
619
+ errors: [
620
+ { status: 400, description: `1: The code was invalid.` },
621
+ { status: 401, description: `0: Authorization has been denied for this request.` },
622
+ { status: 403, description: `0: Token Validation Failed` },
623
+ { status: 500, description: `0: An unknown error occured.` },
624
+ ],
625
+ });
626
+ exports.deleteStarCodeAffiliates = (0, __1.endpoint)({
627
+ method: 'DELETE',
628
+ path: '/v1/star-code-affiliates',
629
+ baseUrl: 'https://accountinformation.roblox.com',
630
+ requestFormat: 'json',
631
+ response: zod_1.z.object({}),
632
+ errors: [
633
+ { status: 401, description: `0: Authorization has been denied for this request.` },
634
+ { status: 403, description: `0: Token Validation Failed` },
635
+ { status: 500, description: `0: An unknown error occured.` },
636
+ ],
637
+ });
@@ -27,6 +27,7 @@ const Roblox_Web_Assets_IAssetItemError = z.object({
27
27
  "NotApprovedForRequestor",
28
28
  "NotApprovedByContentCompliance",
29
29
  "AssetContentRepresentationGenerating",
30
+ "AssetArchived",
30
31
  ]),
31
32
  });
32
33
  const Roblox_Web_Assets_AssetContentRepresentationSpecifier = z.object({
@@ -29,6 +29,7 @@ const Roblox_Web_Assets_IAssetItemError = zod_1.z.object({
29
29
  'NotApprovedForRequestor',
30
30
  'NotApprovedByContentCompliance',
31
31
  'AssetContentRepresentationGenerating',
32
+ 'AssetArchived',
32
33
  ]),
33
34
  });
34
35
  const Roblox_Web_Assets_AssetContentRepresentationSpecifier = zod_1.z.object({
@@ -36,6 +36,7 @@ const Roblox_Web_Assets_IAssetItemError = z.object({
36
36
  "NotApprovedForRequestor",
37
37
  "NotApprovedByContentCompliance",
38
38
  "AssetContentRepresentationGenerating",
39
+ "AssetArchived",
39
40
  ]),
40
41
  });
41
42
  const Roblox_Web_Assets_AssetContentRepresentationSpecifier = z.object({
@@ -38,6 +38,7 @@ const Roblox_Web_Assets_IAssetItemError = zod_1.z.object({
38
38
  'NotApprovedForRequestor',
39
39
  'NotApprovedByContentCompliance',
40
40
  'AssetContentRepresentationGenerating',
41
+ 'AssetArchived',
41
42
  ]),
42
43
  });
43
44
  const Roblox_Web_Assets_AssetContentRepresentationSpecifier = zod_1.z.object({
@@ -1,6 +1,9 @@
1
1
  import { z } from "zod";
2
2
  import { endpoint } from "..";
3
3
 
4
+ const Roblox_Authentication_Api_Models_AuthMethodsMetadataResponse = z.object({
5
+ isEligibleForALSignup: z.boolean(),
6
+ });
4
7
  const Roblox_Authentication_Api_Models_AccountPinStatusResponse = z.object({
5
8
  isEnabled: z.boolean(),
6
9
  unlockedUntil: z.number(),
@@ -30,6 +33,8 @@ const Roblox_Authentication_Api_Models_MetadataResponse = z.object({
30
33
  IsAltBrowserTracker: z.boolean(),
31
34
  IsLoginRedirectPageEnabled: z.boolean(),
32
35
  });
36
+ const Roblox_Authentication_Api_Models_Response_SilentUpgradeEligibilityResponse =
37
+ z.object({ suEligibility: z.boolean() });
33
38
  const Roblox_Authentication_Api_Models_PasswordValidationResponse = z.object({
34
39
  code: z.enum([
35
40
  "ValidPassword",
@@ -110,6 +115,10 @@ const Roblox_Authentication_Api_Models_ProviderInfoModel = z.object({
110
115
  const Roblox_Authentication_Api_Models_SocialProvidersResponse = z.object({
111
116
  providers: z.array(Roblox_Authentication_Api_Models_ProviderInfoModel),
112
117
  });
118
+ const Roblox_Authentication_Api_Models_UsernameChangePriceResponse = z.object({
119
+ priceInRobux: z.number().int(),
120
+ basePriceInRobux: z.number().int(),
121
+ });
113
122
  const Roblox_Authentication_Api_Models_UsernamesResponse = z.object({
114
123
  usernames: z.array(z.string()),
115
124
  });
@@ -348,6 +357,7 @@ const Roblox_Authentication_Api_Models_Request_FinishPasskeyRegistrationRequest
348
357
  sessionId: z.string(),
349
358
  credentialNickname: z.string(),
350
359
  attestationResponse: z.string(),
360
+ source: z.string(),
351
361
  });
352
362
  const Roblox_Authentication_Api_Models_Request_ListPasskeysRequest = z.object({
353
363
  all: z.boolean(),
@@ -487,6 +497,18 @@ const Roblox_Authentication_Api_Models_XboxCollectionsOfUserResponse = z.object(
487
497
  { Users: z.array(Roblox_Authentication_Api_Models_XboxUserModel) }
488
498
  );
489
499
 
500
+ /**
501
+ * @api GET https://auth.roblox.com/v1/account-creation/metadata
502
+ * @summary Get metadata for adding auth methods.
503
+ */
504
+ export const getAccountCreationMetadata = endpoint({
505
+ method: "GET",
506
+ path: "/v1/account-creation/metadata",
507
+ baseUrl: "https://auth.roblox.com",
508
+ requestFormat: "json",
509
+ response: z.object({ isEligibleForALSignup: z.boolean() }),
510
+ errors: [],
511
+ });
490
512
  /**
491
513
  * @api GET https://auth.roblox.com/v1/account/pin
492
514
  * @summary Gets the account pin status.
@@ -905,7 +927,8 @@ export const postIdentityInitializeLogin = endpoint({
905
927
  {
906
928
  status: 403,
907
929
  description: `0: Token Validation Failed
908
- 2: Invalid user identifier.`,
930
+ 2: Invalid user identifier.
931
+ 4: No login methods available. Please use account recovery.`,
909
932
  },
910
933
  {
911
934
  status: 500,
@@ -1383,6 +1406,29 @@ export const postPasskeyStartregistration = endpoint({
1383
1406
  },
1384
1407
  ],
1385
1408
  });
1409
+ /**
1410
+ * @api GET https://auth.roblox.com/v1/passkey/su-eligibility
1411
+ * @summary Checks whether the authenticated user is eligible for silent passkey upgrade.
1412
+ Route and response are intentionally obfuscated ("su-eligibility" = "silent-upgrade-eligibility").
1413
+ */
1414
+ export const getPasskeySuEligibility = endpoint({
1415
+ method: "GET",
1416
+ path: "/v1/passkey/su-eligibility",
1417
+ baseUrl: "https://auth.roblox.com",
1418
+ requestFormat: "json",
1419
+ response: z.object({ suEligibility: z.boolean() }),
1420
+ errors: [
1421
+ {
1422
+ status: 401,
1423
+ description: `0: Authorization has been denied for this request.
1424
+ 0: An unknown error occurred with the request.`,
1425
+ },
1426
+ {
1427
+ status: 503,
1428
+ description: `2: Feature disabled.`,
1429
+ },
1430
+ ],
1431
+ });
1386
1432
  /**
1387
1433
  * @api GET https://auth.roblox.com/v1/passwords/validate
1388
1434
  * @summary Endpoint for checking if a password is valid.
@@ -1839,6 +1885,23 @@ export const postUsername = endpoint({
1839
1885
  },
1840
1886
  ],
1841
1887
  });
1888
+ /**
1889
+ * @api GET https://auth.roblox.com/v1/username/change/price
1890
+ * @summary Get the current price for a username change
1891
+ */
1892
+ export const getUsernameChangePrice = endpoint({
1893
+ method: "GET",
1894
+ path: "/v1/username/change/price",
1895
+ baseUrl: "https://auth.roblox.com",
1896
+ requestFormat: "json",
1897
+ response: Roblox_Authentication_Api_Models_UsernameChangePriceResponse,
1898
+ errors: [
1899
+ {
1900
+ status: 401,
1901
+ description: `0: Authorization has been denied for this request.`,
1902
+ },
1903
+ ],
1904
+ });
1842
1905
  /**
1843
1906
  * @api GET https://auth.roblox.com/v1/usernames
1844
1907
  * @summary Gets a list of existing usernames on Roblox based on the query parameters