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.
- package/README.md +11 -11
- package/lib/endpoints/accountinformationv1.d.ts +50 -87
- package/lib/endpoints/accountinformationv1.js +46 -90
- package/lib/endpoints/assetdeliveryv1.d.ts +1 -0
- package/lib/endpoints/assetdeliveryv1.js +1 -0
- package/lib/endpoints/assetdeliveryv2.d.ts +1 -0
- package/lib/endpoints/assetdeliveryv2.js +1 -0
- package/lib/endpoints/authv1.d.ts +64 -1
- package/lib/endpoints/authv1.js +67 -3
- package/lib/endpoints/authv2.d.ts +21 -0
- package/lib/endpoints/authv2.js +22 -1
- package/lib/endpoints/avatarv1.d.ts +9 -6
- package/lib/endpoints/avatarv1.js +9 -6
- package/lib/endpoints/avatarv2.d.ts +11 -5
- package/lib/endpoints/avatarv2.js +11 -5
- package/lib/endpoints/avatarv3.d.ts +16 -7
- package/lib/endpoints/avatarv3.js +16 -7
- package/lib/endpoints/catalogv1.d.ts +23 -2
- package/lib/endpoints/catalogv1.js +19 -2
- package/lib/endpoints/catalogv2.d.ts +242 -6
- package/lib/endpoints/catalogv2.js +235 -7
- package/lib/endpoints/chatv2.d.ts +778 -778
- package/lib/endpoints/clientsettingsv2.d.ts +6 -0
- package/lib/endpoints/clientsettingsv2.js +6 -0
- package/lib/endpoints/contactsv1.d.ts +18 -22
- package/lib/endpoints/contactsv1.js +14 -22
- package/lib/endpoints/developv1.d.ts +33 -1
- package/lib/endpoints/developv1.js +9 -3
- package/lib/endpoints/developv2.d.ts +29 -2
- package/lib/endpoints/developv2.js +13 -4
- package/lib/endpoints/gameinternationalizationv1.d.ts +59 -0
- package/lib/endpoints/gameinternationalizationv1.js +57 -1
- package/lib/endpoints/gamejoinv1.d.ts +458 -458
- package/lib/endpoints/gamesv1.d.ts +74 -95
- package/lib/endpoints/gamesv1.js +68 -97
- package/lib/endpoints/gamesv2.d.ts +2 -0
- package/lib/endpoints/gamesv2.js +2 -0
- package/lib/endpoints/groupsv1.d.ts +7 -3
- package/lib/endpoints/groupsv1.js +7 -3
- package/lib/endpoints/groupsv2.d.ts +1 -0
- package/lib/endpoints/groupsv2.js +1 -0
- package/lib/endpoints/inventoryv2.d.ts +68 -0
- package/lib/endpoints/inventoryv2.js +66 -1
- package/lib/endpoints/localev1.d.ts +27 -0
- package/lib/endpoints/localev1.js +28 -1
- package/lib/endpoints/metricsv1.d.ts +88 -88
- package/lib/endpoints/publishv1.d.ts +3 -6
- package/lib/endpoints/publishv1.js +3 -6
- package/lib/opencloud/v2/cloud.d.ts +28 -31
- package/lib/opencloud/v2/cloud.js +45 -46
- 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/
|
|
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/
|
|
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/
|
|
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/
|
|
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/
|
|
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/
|
|
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/
|
|
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/
|
|
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/
|
|
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/
|
|
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/
|
|
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.
|
|
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
|